|
СКД - функция НайтиЗначениеПараметра() возвращает значение другого типа
| ☑ |
0
Shantaram
09.08.21
✎
10:18
|
В процедуре ПриКомпоновкеДанных() формирую таблицу значений для внешнего набора данных.
Параметры запроса заполняю значениями параметров из СКД с закладки Параметры.
Возникла ситуация, когда ищу параметр с типом ПеречислениеСсылка.КодыОперацийПартииТоваров, то значение найденного параметра оказывается типом "строка".
Параметры.НайтиЗначениеПараметра( Новый ПараметрКомпоновкиДанных("ВыпускПоОперацииСтоимость"))
Кто сталкивался с подобной проблемой и как ее решили?
Можно конечно заполнить параметры программно, или не использовать внешние наборы данных, но интересно разобраться с проблемой.
|
|
1
Ботаник Гарден Меран
09.08.21
✎
10:25
|
В СП что написано, какой тип возвращает НайтиЗначениеПараметра()?
|
|
2
Shantaram
09.08.21
✎
10:38
|
(1) Возвращаемое значение:
Тип: ЗначениеПараметраКомпоновкиДанных, Неопределено.
Заполнен значением ПеречислениеСсылка, но функция вернула строку.
|
|
3
Ботаник Гарден Меран
09.08.21
✎
10:58
|
Если СП трудно прочитать, можно в типовой код смотреть.
ЗначениеПараметраГоризонт = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Горизонт"));
Горизонт = ?(ЗначениеПараметраГоризонт = Неопределено, 0, ЗначениеПараметраГоризонт.Значение);
""ЗначениеПараметраГоризонт.Значение"" !!!
|
|
4
Shantaram
09.08.21
✎
10:58
|
Добавлю, что такая фигня только с типом GеречислениеСсылка.
Если параметры с типом ПланСчетов или СправлочникСсылка, то все ок.
Похоже, баг какой-то :-(
|
|
5
Shantaram
09.08.21
✎
11:02
|
(3) zzzz.Значение - там как раз строка.
И то, только в случае если в параметр с типом данных перечислениеСсылка. С другими типами данных возвращается именно значение того типа, какое и положено в параметр
|
|
6
Ботаник Гарден Меран
09.08.21
✎
11:10
|
Значит ошибка в месте, где устанавливается значение параметра.
Баги не так часто встречаются.
|
|
7
Shantaram
09.08.21
✎
11:51
|
(6) При установке значения параметра, предварительно выбирается тип параметра - это нужное мне перечисление, а далее устанавливается значение. Простора для совершения ошибки вообще нету )
|
|