Имя: Пароль:
1C
1С v8
ДоступныеЗначения отбора СКД Программно
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ют. Альберт Эйнштейн