|
СКД получение значение параметра программно |
☑ |
0
Nast
14.06.19
✎
13:06
|
Параметр выведен на форму (включен в пользовательские настройки). Как получить в этом случае установленный параметр программно?
Почему он не получается выбранный?
ТекНастройкиКомпоновщика =КомпоновщикНастроек.Настройки;
Параметр = ТекНастройкиКомпоновщика.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВидДокумента"));
ВидДокумента = ?(Параметр = Неопределено, Неопределено, Параметр.Значение);
Если выбирать параметр в настройках, а не на форме, то работает нормально.
|
|
1
Гипервизор
14.06.19
✎
13:08
|
ТекНастройкиКомпоновщика = КомпоновщикНастроек.ПолучитьНастройки();
|
|
2
fisher
14.06.19
✎
13:10
|
Я в самописке таким пользуюсь:
Период = ПолучитьПользовательскийПараметр("Период", КомпоновщикНастроек).Значение;
Функция ПолучитьПользовательскийПараметр(ИмяПараметра, КомпоновщикНастроек)
НайденныйПараметр = Неопределено;
НайденныйПараметрВарианта = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра);
Если НайденныйПараметрВарианта <> Неопределено Тогда
НайденныйПараметр = ПолучитьПредопределенныйЭлементПользовательскихНастроек(НайденныйПараметрВарианта, КомпоновщикНастроек.ПользовательскиеНастройки);
КонецЕсли;
Возврат НайденныйПараметр;
КонецФункции
Функция ПолучитьПредопределенныйЭлементПользовательскихНастроек(ЭлементНастроекВарианта, ПользовательскиеНастройки)
НайденныйЭлемент = Неопределено;
Если ЭлементНастроекВарианта <> Неопределено Тогда
НайденныйЭлемент = ПользовательскиеНастройки.Элементы.Найти(ЭлементНастроекВарианта.ИдентификаторПользовательскойНастройки);
КонецЕсли;
Возврат НайденныйЭлемент;
КонецФункции
|
|
3
Tonik992
14.06.19
✎
13:39
|
(0)
Это ведь пользовательский параметр, так?
Тогда почему вы его ищете не в пользовательских настройках, а в настройках компоновки СКД? Ищите в пользовательских настройках значение параметра.
|
|
4
toypaul
гуру
14.06.19
✎
14:35
|
вариант из (1) самый простой и действенный. проще, чем искать в ПН как в (2) или в (3)
|
|