|
|
|
Значение параметра в СКД по условию | ☑ | ||
|---|---|---|---|---|
|
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) когда я сделала замену в тексте запроса на вашу с фигурными скобками, скд не распознает это и при сохранении в конструкторе затирает
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОкончания, ) КАК КурсыВалютСрезПоследних |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |