Имя: Пароль:
1C
 
СКД программно меняю отбор, а пользовательские настройки не реагируют
0 evorle145
 
16.02.15
13:45
На управляемых формах сделал отчет, в модуле которого в процедуре ПриКомпоновкеРезультата меняю программно отбор:
Для Каждого ЭлементНастройки из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
    Если ЭлементНастройки.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Менеджер") Тогда
        ЭлементНастройки.Использование = Истина;
        ЭлементНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементНастройки.ПравоеЗначение = ФизЛицо;
    КонецЕсли;
КонецЦикла;
Но на форме отчета вывел Отчет.КомпоновщикНастроек.ПользовательскиеНастройки, в которых Поле Менеджер не меняется и отбор не действует.. Подскажите, чего забыл сделать?
1 Timon1405
 
16.02.15
13:47
КомпоновщикНастроек.Настройки!=КомпоновщикНастроек.ПользовательскиеНастройки
2 evorle145
 
16.02.15
13:51
(1) , пробовал, но в этом случае он редактирует отбор не только по менеджеру, но все остальные отборы, которые там есть

Для Каждого ЭлементНастройки из КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
    Если ТипЗнч(ЭлементНастройки) = Тип("ЭлементОтбораКомпоновкиДанных")тогда
    ЭлементНастройки.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Менеджер");
    ЭлементНастройки.Использование = Истина;
    ЭлементНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементНастройки.ПравоеЗначение = ФизЛицо;
     КонецЕсли;
КонецЦикла;
3 evorle145
 
16.02.15
13:51
(1) А как отобрать там по менеджеру не понимаю, потому что там ЭлементНастройки.ЛевоеЗначение принимает значение Неопределено
4 Timon1405
 
16.02.15
14:02
(2) что-то типа
1. ТекНастройки = КомпоновщикНастроек.Настройки.ПолучитьНастройки();
Для Каждого ЭлементНастройки из ТекНастройки.Отбор.Элементы Цикл
    Если ЭлементНастройки.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Менеджер") Тогда
        ЭлементНастройки.Использование = Истина;
        ЭлементНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        ЭлементНастройки.ПравоеЗначение = ФизЛицо;
    КонецЕсли;
КонецЦикла;
КомпоновщикНастроек.Настройки.ЗагрузитьНастройки(ТекНастройки);
5 evorle145
 
16.02.15
14:06
(4) , понял, пробую
6 evorle145
 
16.02.15
14:17
(4) , СПАСИБО! Заработало. Тока небольшое уточнение: КомпоновщикНастроек.ПолучитьНастройки() , "Настройки" лишнее оказалось
7 Timon1405
 
16.02.15
14:24
подробности знает видимо только ИТС)
http://its.1c.ru/db/v83doc#bookmark:dev:TI000000611
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн