ДоступныеЗначения отбора СКД Программно
☑
0
Юзер123
22.08.23
✎
22:22
Добрый вечер.
Безысходность.. Пишу сюда. Прочитал кучу статей в интернете. И все не помогает..
Есть очет на СКД Для БГУ.
Есть параметр с типом Справочники.ЦМО .
На форме отчета, соответственно видим выбор из справочника этого для отбора.
Собственно мне надо ограничить выбор элементов из этого справочника по определенным условиям.
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
Настройки.События.ПриСозданииНаСервере = Истина;
Настройки.События.ПослеЗаполненияПанелиБыстрыхНастроек = Истина;
// Делал в разных обработчиках.. Рехультат один. И ПриЗагрузкеВариантаНаСервре и ПриСозданииНаСервере...
КонецПроцедуры
Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма,ПараметрыОбновления) Экспорт
УстановитьСписокДоступныхЗначений(Форма);
КонецПроцедуры
Процедура УстановитьСписокДоступныхЗначений(Форма)
ДоступныеЭлементыОтбора = Форма.Отчет.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы;
ЭлементОтбора = ДоступныеЭлементыОтбора.Найти("ЦМО");
СписокВыбора = Новый СписокЗначений();
СписокВыбора.Добавить(Справочники.ЦМО.НайтиПоНаименованию("МОЕЦМО112"));
ЭлементОтбора.ДоступныеЗначения = СписокВыбора;
КонецПроцедуры
Во все процедуры отладчиком заходит, но в результате всеравно открывается весь справочник.
Есть ощущение ,что где то галочку пропустил)
1
Юзер123
22.08.23
✎
22:31
Разобрался...
2
Юзер123
22.08.23
✎
22:32
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
Настройки.События.ПослеЗагрузкиНастроекВКомпоновщик = Истина;
КонецПроцедуры
Процедура ПослеЗагрузкиНастроекВКомпоновщик(ДополнительныеПараметры) Экспорт
УстановитьСписокДоступныхЗначений(КомпоновщикНастроек.Настройки);
КонецПроцедуры
Процедура УстановитьСписокДоступныхЗначений(Настройки)
Параметр = Новый ПараметрКомпоновкиДанных("ЦМО");
ДоступныйПараметр = Настройки.ПараметрыДанных.ДоступныеПараметры.НайтиПараметр(Параметр);
Если ДоступныйПараметр = Неопределено Тогда
Возврат;
КонецЕсли;
СписокВыбора = Новый СписокЗначений();
СписокВыбора.Добавить(Справочники.ЦМО.НайтиПоНаименованию("МоЙЦМО..."));
ДоступныйПараметр.ДоступныеЗначения = СписокВыбора;
КонецПроцедуры
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн