Имя: Пароль:
1C
1С v8
Как в запросе проверить пустые ли дата1 и дата2
,
0 serg-lom89
 
25.09.14
09:49
Ребята подскажите как в запросе проверить Дата1 и Дата2 пустая или нет?
Заранее благодарен)
1 ДенисЧ
 
25.09.14
09:49
Дата1 = &ПустаяДата

Запрос.УстановитьПараметр("ПустаяДата", Дата(1,1,1));
2 serg-lom89
 
25.09.14
09:50
не так вопрос сформировал..
Если даты пустые,то выбирать доки за этот период,если пустые то что бы выбирались все доки
3 Kuklachel
 
25.09.14
09:50
Дата ЕСТЬ НЕ NULL
4 shuhard
 
25.09.14
09:50
(2) и опять не так вопрос сформулирован
5 Fish
 
25.09.14
09:53
(2) Если всегда выбирать все доки - то твоё условие выполнено.
6 serg-lom89
 
25.09.14
09:54
нарыл такое условие...


ВЫБОР
    КОГДА &Дата3 <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
            И &Дата4 <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
        ТОГДА Документ.Дата МЕЖДУ &Дата3 И &Дата4
    ИНАЧЕ ИСТИНА
КОНЕЦ
7 serg-lom89
 
25.09.14
09:57
вопрос что следует если дата3 и дата4 пустые,что значит ИСТИНА?
8 Крошка Ру
 
25.09.14
09:57
ГДЕ (Док.Дата>=&Дата1 ИЛИ &Дата1 = ДАТАВРЕМЯ(1,1,1)) И (Док.Дата>=&Дата2 ИЛИ &Дата2 = ДАТАВРЕМЯ(1,1,1))
9 Крошка Ру
 
25.09.14
09:58
(7) Следует ИСТИНА. Очевидно же.
10 serg-lom89
 
25.09.14
10:00
(9) я понимаю что мледует истина)))
вплане том,что если они пустые то учитываться не будут?
11 Крошка Ру
 
25.09.14
10:02
(10) ну а сам как думаешь?
12 serg-lom89
 
25.09.14
10:05
(11) предполагаю что  да
13 shuhard
 
25.09.14
10:08
(10)[то учитываться не будут?]
чё то новое в языке запросов - учитываться
14 Зойч
 
25.09.14
10:10
Лучше параметр ставить
("ДатаКон", ?(ЗначениеЗаполнено(ДатаКон), ДатаКон, '3999-12-31');
15 Зойч
 
25.09.14
10:11
Ну а Док.Дата > ПустаяДата - это само собой и без условий
16 serg-lom89
 
25.09.14
10:18
Всем спасибо)
17 Ненавижу 1С
 
гуру
25.09.14
10:27
зачем?
если СКД, то добавляй вычисляемые параметры
если на базе Универсального, то ДатаНач(ала) все уже решает
если свой, обрабатывай перед запросом

вообще  обработка дат в запросе может положить используемые индексы по датам