Делаю внешний отчет для УТ 11.2 И мне нужно запросом получить регистратор из регистра ТоварыНаСкладах.

Беда в том, что пользователи создают в базе документы задним числом т.е. неоперативно и у них может быть поступление некоего товара датой 02.12.2016 23:59:59 и тут же реализация этого же товара с датой 02.12.2016 23:59:59 . В регистре, как положено, создаются соотвтствующие записи с периодом 02.12.2016 23:59:59 И вот я пытаюсь выдернуть запросом этот регистратор

```1c
    // мы находим просто ближайший к дате документ поступления
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ ПЕРВЫЕ 1
    | ТоварыНаСкладах.Регистратор
    |ИЗ
    | РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
    |ГДЕ
    | ТоварыНаСкладах.Период <= &Дата
    | И ТоварыНаСкладах.Номенклатура = &Номенклатура
    | И ТоварыНаСкладах.ВидДвижения = &ВидДвижения
    | И НЕ ТоварыНаСкладах.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
    |
    |УПОРЯДОЧИТЬ ПО
    | ТоварыНаСкладах.Период УБЫВ";

    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Запрос.УстановитьПараметр("ВидДвижения", ВидДвиженияНакопления.Приход);
```

И запрос не видит этого документа. Понимаю, что по хорошему нужно принудить пользователей правильно расставлять документы на оси времени, но такой возможности нет.

Нужны какие-нибудь идеи, как в таком случае получить ближайший к некоей дате регистратор, причем регистратором может быть не только документ ПоступлениеТоваровУслуг, но и ПересчетТоваров, ПрочееОприходованиеТоваров, ВводНачальныхОстатков
---
А почему Вы не используете условие МоментаВремени? Задайте условие ТоварыНаСкладах.МоментВремени<&МоментВремениДляНужногоРасхода
---
И запрос не видит этого документа.
Если запрос возвращает пустой результат, скорее всего дата у вас в параметрах запроса не правильная (не конец дня).
---
В запросах же дата - это конкретная секунда. Как вариант, попробуйте сделать условие типа

```1c
    |ГДЕ
    |ТоварыНаСкладах.Период МЕЖДУ &ДатаНачала И &датаОкончания
```
---
я беру документ реализация, и ищу ближайший в прошлом документ поступления, тут период никак не вставить
---
Посмотрите в коде, там в тескте запроса условия на дату, что дата меньше либо равна параметру Дата, где в параметр Дата - передается дата документа реализации.

Пытался отнимать из параметра Дата одну секунду, тоже не помогло.

Сейчас попробую проверить, а не летит ли в Параметр дата дата без времени (формат даты-дата).
---
И еще, для всех реализаций где дата ближайшего поступления не равна дате реализации запрос отрабатывает правильно и находит документ. Косяк только если даты одинаковы.
---
```1c
    ВЫБРАТЬ ПЕРВЫЕ 1
    ТоварыНаСкладахОбороты.Регистратор
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Обороты(, , Регистратор, ) КАК ТоварыНаСкладахОбороты
    ГДЕ
    ТоварыНаСкладахОбороты.Период <= &Период
    И ТоварыНаСкладахОбороты.Номенклатура = &Номенклатура

    УПОРЯДОЧИТЬ ПО
    ТоварыНаСкладахОбороты.Период УБЫВ
```
---
только параметры нужно перенести в виртуальную таблицу

```1c
    ВЫБРАТЬ ПЕРВЫЕ 1
    ТоварыНаСкладахОбороты.Регистратор
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Обороты(, , Регистратор, Период <= &Период и Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОбороты
    УПОРЯДОЧИТЬ ПО
    ТоварыНаСкладахОбороты.Период УБЫВ
```
---
Ваша идея, взять виртуальную таблицу и назначить параметр виртуальной таблицы - периодичность - Регистратор.

Мне нужно найти поступление, те то что в нормальной таблице регистра ВидДвижения будет Поступлением. В виртуальной таблице не врубился как это найти
---
И ТипЗначения(Регистратор) = Тип(Документ.ПоступлениеТоваровУслуг)
---
Там может быть и ВводНачальныхОстатков и ПересчетТоваров и ПрочееОприходываниеТовара и ВозвратПокупателя - любое поступление, кроме документа ПеремещениеТовара, т.е. через логическое И все их перечилслить?
---
И (ТипЗначения(Регистратор) = Тип(Документ.ПоступлениеТоваровУслуг) ИЛИ ТипЗначения(Регистратор) = Тип(Документ.ВозвратПокупателя) ИЛИ ...)
---
А почему Вы не используете условие МоментаВремени? Задайте условие ТоварыНаСкладах.МоментВремени<&МоментВремениДляНужногоРасхода