Имя: Пароль:
1C
1С v8
Получить все документы, если у периода пустое значение
0 Alex87r
 
31.08.16
11:01
Всем привет!
Как получить все документы, если у периода пустое значение?
Период - это реквизит формы.
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РасходныйКассовыйОрдер.Ссылка КАК Ордер,
        |    РасходныйКассовыйОрдер.Дата КАК ДатаРКО
        |ИЗ
        |    Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
        |ГДЕ
        |    РасходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНачала И &ДатаКонец";

        Запрос.УстановитьПараметр("ДатаНачала",Период.ДатаНачала);
        Запрос.УстановитьПараметр("ДатаКонец",Период.ДатаОкончания);

Пробовал вот так{|ГДЕ
        |    РасходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНачала}, тогда отбор не работает
1 Numerus Mikhail
 
31.08.16
11:03
ВЫБОР КОГДА &ДатаНачала = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА ИСТИНА ИНАЧЕ
РасходныйКассовыйОрдер.Дата > &ДатаНачала КОНЕЦ
2 Numerus Mikhail
 
31.08.16
11:04
ну и конец тоже проверить на пустую дату
хотя вообще можно только конец и проверять
3 Михаил Козлов
 
31.08.16
11:05
Если это обычные формы, удобно использовать построитель отчета с отбором на форме.
4 Alex87r
 
31.08.16
11:17
Михаил Козлов - Формы управляемые.
Numerus Mikhail Не совсем понял, что мне даст проверка?
5 Numerus Mikhail
 
31.08.16
11:41
(4) Когда период будет не задан условие будет принимать вид
ГДЕ ИСТИНА
и, соответственно, в выборку попадут все документы.
6 Numerus Mikhail
 
31.08.16
11:43
(5)
ВЫБОР
КОГДА &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА
ИСТИНА
ИНАЧЕ РасходныйКассовыйОрдер.Дата МЕЖДУ &ДатаНачала И &ДатаКонец"

Если я правильно понимаю что тебе надо, то вот оно.
7 Alex87r
 
31.08.16
11:46
(6)
Ааа, я понял! Спасибо большое!
8 Deon
 
31.08.16
11:53
(6) Интересно, как 1Ска преобразует этот запрос в SQL-ный. Будет ли оно индекс по дате использовать?