|
Значение константы в выражении, параметр СКД | ☑ | ||
---|---|---|---|---|
0
Veronikin
06.10.20
✎
12:31
|
Подскажите пожалуйста,
мне нужно в параметр в СКД получить значение константы. Пишу в выражение: ЗНАЧЕНИЕ(Константа.ДатаРеорганизации), ругается - неверные параметры. Как правильно написать выражение? |
|||
1
toypaul
гуру
06.10.20
✎
12:36
|
Константы.ДатаРеорганизации.Получить()
|
|||
2
mikecool
06.10.20
✎
12:36
|
+1 в параметрах
а сам параметр - в запрос |
|||
3
Veronikin
06.10.20
✎
12:38
|
(1) Так выдает ошибку на этапе формирования:
по причине: Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата' по причине: {ВнешнийОтчет.ДанныеДляРасчетаЛистковНетрудоспособности.МодульОбъекта(16)}: Ошибка при вызове метода контекста (Инициализировать) по причине: Ошибка компоновки данных по причине: Ошибка инициализации по причине: Ошибка в выражении по причине: Синтаксическая ошибка "Константы.ДатаРеорганизации.Получить" |
|||
4
mistеr
06.10.20
✎
12:40
|
Константу нельзя получить в выражении СКД. Нужно получить в коде и передать в параметр.
|
|||
5
Dionisious
06.10.20
✎
12:40
|
Можно таблицу Константы добавить в запрос.
Или в ПриКомпоновкеРезультата установить параметр данных компоновщика настроек. |
|||
6
Veronikin
06.10.20
✎
12:41
|
(4) Понятно. Просто на ИТС аналогичный пример разобран, там предлагается через ЗНАЧЕНИЕ()
|
|||
7
toypaul
гуру
06.10.20
✎
12:46
|
какая-то дискриминация констант ... например Справочники.ХХХ.НайтиПоНаименованию работает
|
|||
8
Андроны едут
06.10.20
✎
12:49
|
Синтаксическая ошибка "Константы.ДатаРеорганизации.Получить" скобочек () не хватает
|
|||
9
Veronikin
06.10.20
✎
12:53
|
(8) В выражении вот так написано: Константы.ДатаРеорганизации.Получить()
|
|||
10
mistеr
06.10.20
✎
13:51
|
(7) Где работает?
|
|||
11
bolder
06.10.20
✎
14:11
|
(5) Это правильное решение.Именно так работает в РЛС.
|
|||
12
toypaul
гуру
06.10.20
✎
14:37
|
(10) в выражении параметра
|
|||
13
fisher
06.10.20
✎
14:46
|
(6) На ИТС? Константу? Через ЗНАЧЕНИЕ()? Не верю! Покажи где.
|
|||
14
fisher
06.10.20
✎
14:48
|
(7) В СКД случаются "протечки" в глобальный контекст, хотя должно работать только то, что описано в возможностях языка выражений СКД. На инфостарте даже статьи были на эту тему, где народ находил чего работает из недокументированного и списки составлял. Но я бы поостерегся это использовать. В любой момент зарубить могут.
|
|||
15
Veronikin
06.10.20
✎
17:47
|
(13) я же написала - аналогично, там перечисление
|
|||
16
Veronikin
06.10.20
✎
17:47
|
В итоге вот так сделала:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных; Параметры.УстановитьЗначениеПараметра("ДатаРеорганизации", Константы.ДатаРеорганизации.Получить()); КонецПроцедуры |
|||
17
fisher
06.10.20
✎
17:56
|
(15) Тогда понятно. Константы в ЗНАЧЕНИЕ() не поддерживаются. Если открыть справку по ЗНАЧЕНИЕ() - константы отсутствуют в списке допустимых вариантов.
Но, по-моему, ЗНАЧЕНИЕ() вообще нельзя использовать в поле "Выражение" параметров СКД. Этого ключевого слова нет в языке выражений СКД. Это ключевое слово языка запросов. |
|||
18
youalex
06.10.20
✎
18:08
|
Можно параметром, а значение параметра указать на закладке Параметры, в поле "Выражение", стандартно Константы.Константа1.Получить()
|
|||
19
youalex
06.10.20
✎
18:10
|
в вычисляемые поля - тоже можно тем же макаром
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |