СКД из внешней обработки. Не инициализируются Доступные поля отбора.
☑
0
pavig
27.11.15
✎
16:12
Всем привет.
1С 8.3.6.2237 Такси
Внешняя обработка (не отчет).
Есть реквизит обработки КомпоновщикНастроек.
Пользователю на форму выведена таблица отборов компоновщика настроек. По нажатии на кнопку происходят какие-то неважно действия.
При создании на сервере формы код:
СКД = РеквизитФормыВЗначение("Объект").ПолучитьМакет("СхемаКомпоновкиДанных");
Объект.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
Объект.КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
Но отбор показывается без доступных полей отбора.
При создании на сервере
Объект.КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.Элементы
- здесь элементы еще есть
А при открытии - набор уже пустой.
Есть знающие? Как мне правильно инициализировать КомпоновщикНастроек?
1
VikingKosmo
27.11.15
✎
16:16
Обработка = РеквизитФормыВЗначение("Объект");
СхемаКомпоновкиДанных = Обработка.ПолучитьМакет("МакетКомпоновкиДанных");
АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных);
КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных);
2
pavig
27.11.15
✎
16:32
(1)
И что это решает?
3
VikingKosmo
27.11.15
✎
16:36
(2) это работает...
4
pavig
27.11.15
✎
16:41
(3)
Пля не узрел, что ты в конструктор ИсточникДоступныхНастроекКомпоновкиДанных скармливаешь адрес, а не саму СКД.
Действительно, работает.
Блин а как так-то... По сути - одно и то же.
Спасибо, друг!
5
VikingKosmo
27.11.15
✎
16:42
(4) я рад, что ты нашел 10 отличий ;)
6
VikingKosmo
27.11.15
✎
16:44
и вообще, это магия ВременногоХранилища ;)
Независимо от того, куда вы едете — это в гору и против ветра!