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