Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД, программно установить отбор

СКД, программно установить отбор
Я
   ildary
 
13.08.19 - 15:21
Уважаемые специалисты, подскажите пожалуйста, почему данный код выполняется, но не даёт эффекта:

Внешний отчёт на СКД, надо сделать принудительный отбор по одному из полей (оно уже в доступных отборах).

ПриСозданииНаСервере()

    ОтборФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию("Иванов Иван Иванович", Истина);
    ПолеФизЛицо  = Новый ПолеКомпоновкиДанных("ФизическоеЛицо");
    
    ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
    Настройки = ОтчетОбъект.КомпоновщикНастроек.ПолучитьНастройки();
    
    Для Каждого Стр Из Настройки.Отбор.Элементы Цикл
        
        Если Стр.ЛевоеЗначение <> ПолеФизЛицо Тогда
            
            Стр.Использование  = Ложь;
            Продолжить;
            
        КонецЕсли;
        
        Стр.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
        Стр.ПравоеЗначение = ОтборФизЛицо;
        Стр.Использование  = Истина;
        
    КонецЦикла;
    
    ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    ЗначениеВРеквизитФормы(ОтчетОбъект, "Отчет");

в результате в ОтчетОбъект.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы - у нужного элемента отбора в отладчике всё заполнено, а на форме отчета - пусто.
 
 
   НадюшаЯ
 
1 - 13.08.19 - 15:34
а разве нет отчет.КомпоновщикНастроек на форме, зачем эти свистопляски с переходом в объект отчета
   ildary
 
2 - 14.08.19 - 07:44
(1) На самом деле изначально я не делал переход, а писал ЭтаФорма.Отчет.КомпоновщикНастроек, но так тоже не работало.
   ildary
 
3 - 14.08.19 - 07:54
Вдогонку - мой код на самом деле работает, но в ПриОткрытии() Отчет.КомпоновщикНастроек снова пустой (без отбора).
   toypaul
 
4 - 14.08.19 - 08:04
(3) потому что до ПриОткрытии отрабатывает загрузка польз. настроек. установку нужно делать не при создании, а при открытии или при загрузке польз настроек
   ildary
 
5 - 14.08.19 - 10:28
(4) Большое спасибо за науку. СКД как атом - каждый раз узнаёшь что-то новое.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.