Имя: Пароль:
1C
 
1С 8.3 СКД Не видит отметку элемента списка в пользовательских настройках.
0 ЭЦ
 
02.10.23
11:14
ГОСПОДА !
Имеется УТ 11.5
Делаю отчет на СКД
Одним из параметров является СтатусПродукции - список значений из справочника СтатусыПродукции
Отчет формируется как внешний набор данных в ПриКомпоновекеРезультата().
------------------------
В пользовательском режиме формирую список и ставлю отметки
(типа использовать/не использовать)
Заускаю в процедуре ПриКомпоновекеРезультата() получаю значения пользовательских настроек :
//----------------------------------------
Пар = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра);      
Ид = Пар.ИдентификаторПользовательскойНастройки;    
Элт = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Ид);
//-------------------------------
Смотрю значение Элт
Вижу, что это список с выбранными значениями и у всех элементов списка Отметка = Ложь
хотя в пользовательском режиме установлена галка.
В чем тут и куда нажимать?
Прошу подсказать.
1 Timon1405
 
02.10.23
11:20
КомпоновщикНастроек.ПолучитьНастройки()
вместо КомпоновщикНастроек.Настройки
2 vicof
 
02.10.23
11:49
(1) +1
3 ЭЦ
 
02.10.23
11:53
(1) Сделал так :
//---------------------------------
Пар =  КомпоновщикНастроек.ПолучитьНастройки().ПараметрыДанных.Элементы.Найти(ИмяПараметра);  
Ид = Пар.ИдентификаторПользовательскойНастройки;    
Элт = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Ид);    
//------------------------------------------
Ничего не изменилось :
- Все элементы списка - наблюдаю
- Отметки у всех элемнтов = Ложь
4 vicof
 
02.10.23
11:58
Ид = Пар.ИдентификаторПользовательскойНастройки;    
Элт = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Ид);  
Вот это тебе уже не нужно
5 ЭЦ
 
02.10.23
12:05
(4) Пар.Значение - СписокЗначений
Пометка у всех элементов списка = Ложь
Элт - аналогично
:-(
6 ЭЦ
 
02.10.23
12:28
Ну в общем так :
//--------------------
Пар =  КомпоновщикНастроек.ПолучитьНастройки().ПараметрыДанных.Элементы.Найти(ИмяПараметра)
//-----------------------
Пар = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра);      
Ид = Пар.ИдентификаторПользовательскойНастройки;    
Элт = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Ид);
//---------------------------------------
Дает одинаковый результат - список значений с отметкой=Ложь для всех элементов.
Однако !
Оказывается В этот список входят только те элементы которые отмечены галками пользователем.
т.е. с этими отметками вообще не надо заморачиваться - просто берем всегда весь список