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