СКД получение значение параметра программно
☑
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)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший