Имя: Пароль:
1C
 
&Период.ДатаНачала не заполнено, что делать?
0 mastodont
 
08.08.23
17:51
Есть отчет на скд, у него парамет Период - СтандартныйПериод. И как обычно:
ДатаНачала - &Период.ДатаНачала
ДатаОкончания - &Период.ДатаОкончания

и все бы хорошо, но если пользователь не заполнить у периода дату начала, то почему-то в запросе будет не пустая дата а Неопределено!

а мне надо сделать срез последних раньше этой даты....

И не пойму как победить...

Пробовал уже все:
    ВЫБОР
        КОГДА &ДатаНачала = НЕОПРЕДЕЛЕНО
            ТОГДА ДАТАВРЕМЯ(1, 1, 1)
        ИНАЧЕ ДОБАВИТЬКДАТЕ(&ДатаНачала, секунда, -1)
    КОНЕЦ КАК ДатаНачала,

все равно ругается...
1 mastodont
 
08.08.23
17:52
при этом
    ВЫБОР
        КОГДА &ДатаНачала = НЕОПРЕДЕЛЕНО
            ТОГДА Истина
        ИНАЧЕ Ложь
    КОНЕЦ КАК ДатаНачала,

возвращает истину...
2 lodger
 
08.08.23
17:55
а ты эту штуку в параметрах СКД обрабатывай.
https://infostart.ru/1c/tools/64769/
3 mastodont
 
08.08.23
17:59
(2) у меня ругается на  &Период.ДатаНачала
4 mastodont
 
08.08.23
18:01
(2) это работало ан старых платформах...
5 lodger
 
08.08.23
18:11
(4) оно и сейчас так же работает.
6 EasyRider
 
08.08.23
19:38
Назови свой параметр не "Период", а "ПериодОтчета" например.
7 mastodont
 
10.08.23
12:02
(6) не помогло.
8 mastodont
 
10.08.23
12:04
В общем решил проблему, странным образом, но работает:

В параметрах в выражении прописал:
ВЫБОР КОГДА  Истина ТОГДА  &ПериодОтчета.ДатаНачала ИНАЧЕ  &ПериодОтчета.ДатаНачала КОНЕЦ

после этого приходит, как и ожидается, дата.
9 Valdis2007
 
10.08.23
12:06
(0) галочку- обязательное заполнение у параметра - попробуй скинуть
10 mastodont
 
10.08.23
12:09
(9) чего я только не пробовал. но помогло только (8).
Случайно наткнулся в ходе экспериментов.
11 RomanYS
 
10.08.23
12:16
(10) может просто у параметра тип составной стоял?