Имя: Пароль:
1C
1С v8
Ограничить список сравнения
0 Адинэснег
 
20.08.14
16:18
На форме отчета есть табличное поле с данными КомпоновщикНастроек.Настройки.Отбор

как только не пробовал, не могу ограничить виды сравнения...

СписокВС = Новый СписокЗначений;
СписокВС.Добавить(ВидСравнения.ВСписке);
СписокВС.Добавить(ВидСравнения.Равно);
    
//и так    
Для Каждого Эл Из КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.Элементы Цикл
            
    //и так    
    Эл.ДоступныеВидыСравнения.ДоступныеЗначения = СписокВС;
    //и так    
    Эл.ДоступныеЗначения = СписокВС;

КонецЦикла;
    
//и так        
Для Каждого Эл Из КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.Элементы Цикл
        
    //и так    
    Эл.ДоступныеВидыСравнения.ДоступныеЗначения = СписокВС;
    //и так    
    Эл.ДоступныеЗначения = СписокВС;

КонецЦикла;



пятница головного мозга
1 SSSSS_AAAAA
 
20.08.14
16:22
(0) А зачем их ограничивать?
2 Бешеная Нога
 
20.08.14
16:29
вроде бы нельзя их ограничить
3 Franchiser
 
гуру
20.08.14
16:44
вчера только делал: через текстовое поле и приначалевыбора писал стандартнаяобработка =ложь
4 Crush
 
20.08.14
17:45
(0) Самому стало интересно.
Добрался до этого списка. Где моё спасибо?:)

Процедура ТабличноеПоле1ВидыСравнения(Элемент, СтандартнаяОбработка)
    Элемент.СписокВыбора.Очистить();
    Элемент.СписокВыбора.Добавить(ВидСравненияКомпоновкиДанных.Равно);
    Элемент.СписокВыбора.Добавить(ВидСравненияКомпоновкиДанных.ВИерархии);
КонецПроцедуры
Процедура ПриОткрытии()
    Для каждого Кол Из ЭлементыФормы.ТабличноеПоле1.Колонки Цикл
        Если Найти(Кол.Имя,"ВидыСравнения") = 1 Тогда
            Кол.ЭлементУправления.УстановитьДействие("НачалоВыбораИзСписка",Новый Действие("ТабличноеПоле1ВидыСравнения"));
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры
5 Адинэснег
 
21.08.14
10:56
(4) ага, компановщик настроек игнорит доступные значения, тоже пришлось сделать через обращение к списку выбора колонок ТП примерно тем же способом
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан