|
Значение параметра в СКД по условию | ☑ | ||
---|---|---|---|---|
0
mashik212
22.08.19
✎
16:01
|
Всем добрый день)
Запуталась в 3х соснах, надеюсь на помощь! В отчете есть параметр ДатаОкончания. Он нужен не во всех вариантах, в общем не обязательный. Нужно, чтобы при его использовании и заполнении пользователем бралась эта дата, в противном случае бралась текущая дата. Пыталась в Выражение положить конструкции типа ниже. Добаляла и проверки на неопределено и null. Ошибки не выдает, но при запуске отчета ругается на не заданный параметр КОНЕЦПЕРИОДА(ВЫБОР КОГДА (&ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) ТОГДА &ДатаОкончания ИНАЧЕ &ТекущаяДата КОНЕЦ , "ДЕНЬ") &ТекущаяДата - параметр в списке выше, где вычисляется текущая дата Ниже ссылка на скриншот http://prntscr.com/ow3dtm |
|||
1
mikecool
22.08.19
✎
16:02
|
используй {} на условии
|
|||
2
vdss
22.08.19
✎
16:06
|
Попробуй вместо &ТекущаяДата поставить ТекущаяДата()
|
|||
3
mashik212
22.08.19
✎
16:08
|
(1) Нет, этот параметр в запросе нужен всегда.
Мне нужно, чтобы значение вычислялось в параметрах СКД (на скрине в вопросе) |
|||
4
mashik212
22.08.19
✎
16:10
|
(2) я так сразу и писала, но ошибка была такая же
|
|||
5
mikecool
22.08.19
✎
16:13
|
что за любовь использовать <>, если обе ветки условия используются?
а на какой параметр ругается? &ТекущаяДата? |
|||
6
mashik212
22.08.19
✎
16:17
|
(5) Не знаю, какой тип возвращается у незаполненной даты, поэтому методом тыка..
Нет, ругается на ДатуОкончания. При замене параметра ТекущаяДата на метод ошибка остается |
|||
7
mikecool
22.08.19
✎
16:19
|
имхо - надо в запросе &ДатаОкончания запихнуть в {} и все
|
|||
8
hhhh
22.08.19
✎
16:19
|
(6) ну так и есть. &ДатаОкончания у вас не определено. Странно, что вы не заметили.
|
|||
9
mikecool
22.08.19
✎
16:20
|
(8) +1 в самом выражении вычисления параметра оно еще не определено
|
|||
10
mashik212
22.08.19
✎
16:21
|
(7) напишите, пожалуйста, строку. где именно их вставить?
|
|||
11
mashik212
22.08.19
✎
16:22
|
(8) если пользователь задает дату, она разве не прилетает сюда до вычислений?
|
|||
12
mikecool
22.08.19
✎
16:25
|
РегистрНакопления..Остатки({ДатаОкончания Как ДатаОкончания}) как то так
|
|||
13
vdss
22.08.19
✎
16:25
|
КОНЕЦПЕРИОДА(ВЫБОР КОГДА (&ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) ТОГДА &ДатаОкончания ИНАЧЕ &ТекущаяДата КОНЕЦ , "ДЕНЬ")
Попробуй эту конструкцию вставить в текст запроса, а не в параметры. В параметрах оставь &ДатаОкончания - задается пользователем, и &ТекущаяДата = ТекущаяДата() |
|||
14
mikecool
22.08.19
✎
16:26
|
(13) только условия поптал
|
|||
15
vdss
22.08.19
✎
16:29
|
скопировал из (0) :)
КОНЕЦПЕРИОДА(ВЫБОР КОГДА (&ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) ТОГДА &ТекущаяДата ИНАЧЕ &ДатаОкончания КОНЕЦ , "ДЕНЬ") |
|||
16
Darky
22.08.19
✎
16:32
|
Почему не так?
Процедура ПриКомпоновкеРезультата() ДатаОтчета = ?(ЗначениеЗаполнено(ДатаОкончания), ДатаОкончания, ТекущаяДата()); НаписатьСтрокиНаУстановкуПараметраСКД("ДатаОтчета", ДатаОтчета); КонецПроцедуры |
|||
17
mashik212
22.08.19
✎
16:38
|
(13) у меня этот параметр используется как параметр виртуальной таблицы ПЕРИОД
Вставить эту строку в УСЛОВИЕ для виртуальной таблицы не получается |
|||
18
mikecool
22.08.19
✎
16:44
|
(17) смотри (12)
|
|||
19
vdss
22.08.19
✎
16:52
|
Я сейчас проверяю в консоли запросов.
КОНЕЦПЕРИОДА(&ДатаОкончания, "ДЕНЬ") не работает. КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ) работает. В справке первый вариант указан как правильный. Странно Платформа 8.3.15.1565 |
|||
20
hhhh
22.08.19
✎
16:56
|
(19) покажи скрин справки. может ты не в запросы, а в справку скд залез?
|
|||
21
vdss
22.08.19
✎
17:02
|
Точняк
|
|||
22
mashik212
22.08.19
✎
17:54
|
(18) когда я сделала замену в тексте запроса на вашу с фигурными скобками, скд не распознает это и при сохранении в конструкторе затирает
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОкончания, ) КАК КурсыВалютСрезПоследних |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |