Отбор

Установить эемент отбора

Процедура УстановитьЭлементОтбораКоллекции(КоллекцияЭлементов, ИмяПоля, ПравоеЗначение, ВидСравнения = Неопределено)

ЭлементОтбора = КоллекцияЭлементов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);

ЭлементОтбора.ВидСравнения = ?(ВидСравнения = Неопределено, ВидСравненияКомпоновкиДанных.Равно, ВидСравнения);

ЭлементОтбора.Использование = Истина;

ЭлементОтбора.ПравоеЗначение = ПравоеЗначение;

ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;

КонецПроцедуры // УстановитьЭлементОтбораСписка()

Удалить элемент отбора

Процедура УдалитьЭлементОтбораКоллекции(КоллекцияЭлементов, ИмяПоля)

ПолеКомпоновки = Новый ПолеКомпоновкиДанных(ИмяПоля);

Для Каждого ЭлементОтбора Из КоллекцияЭлементов Цикл

Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных")

И ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновки Тогда

КоллекцияЭлементов.Удалить(ЭлементОтбора);

КонецЕсли;

КонецЦикла;

КонецПроцедуры // УдалитьЭлементОтбораСписка()

Изменить элемент отбора

Процедура ИзменитьЭлементОтбораГруппыСписка(Группа, ИмяПоля, ПравоеЗначение = Неопределено, Установить = Ложь, ВидСравнения = Неопределено) Экспорт

УдалитьЭлементОтбораКоллекции(Группа.Элементы, ИмяПоля);

Если Установить Тогда

УстановитьЭлементОтбораКоллекции(Группа.Элементы, ИмяПоля, ПравоеЗначение, ВидСравнения);

КонецЕсли;

КонецПроцедуры // ИзменитьЭлементОтбораСписка()

Функция НайтиЭлементОтбораПоПредставлению(КоллекцияЭлементов, Представление, ВидПоиска = 0) Экспорт

ВозвращаемоеЗначение = Неопределено;

Для каждого ЭлементОтбора Из КоллекцияЭлементов Цикл

Если ВидПоиска = 0 Тогда

Если ЭлементОтбора.Представление = Представление Тогда

ВозвращаемоеЗначение = ЭлементОтбора;

Прервать;

КонецЕсли;

ИначеЕсли ВидПоиска = 1 Тогда

Если Найти(ЭлементОтбора.Представление, Представление) = 1 Тогда

ВозвращаемоеЗначение = ЭлементОтбора;

Прервать;

КонецЕсли;

ИначеЕсли ВидПоиска = 2 Тогда

Если Найти(ЭлементОтбора.Представление, Представление) > 0 Тогда

ВозвращаемоеЗначение = ЭлементОтбора;

Прервать;

КонецЕсли;

КонецЕсли;

КонецЦикла;

Возврат ВозвращаемоеЗначение

Найти элемент отбора

КонецФункции // НайтиЭлементОтбораПоПредставлению()

Функция СоздатьГруппуЭлементовОтбора(КоллекцияЭлементов, Представление, ТипГруппы) Экспорт

ГруппаЭлементовОтбора = НайтиЭлементОтбораПоПредставлению(КоллекцияЭлементов, Представление);

Если ГруппаЭлементовОтбора = Неопределено Тогда

ГруппаЭлементовОтбора = КоллекцияЭлементов.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));

Иначе

ГруппаЭлементовОтбора.Элементы.Очистить();

КонецЕсли;

ГруппаЭлементовОтбора.Представление = Представление;

ГруппаЭлементовОтбора.Применение = ТипПримененияОтбораКомпоновкиДанных.Элементы;

ГруппаЭлементовОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;

ГруппаЭлементовОтбора.ТипГруппы = ТипГруппы;

ГруппаЭлементовОтбора.Использование = Истина;

Возврат ГруппаЭлементовОтбора;

КонецФункции

Устанавливает элемент отбор динамического списка

//Параметры:

//Список - обрабатываемый динамический список,

//ИмяПоля - имя поля компоновки, отбор по которому нужно установить,

//ВидСравнения - вид сравнения отбора, по умолчанию - Равно,

//ПравоеЗначение - значение отбора

//

Процедура УстановитьЭлементОтбораСписка(Список, ИмяПоля, ПравоеЗначение, ВидСравнения = Неопределено, Представление = "") Экспорт

ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);

ЭлементОтбора.ВидСравнения = ?(ВидСравнения = Неопределено, ВидСравненияКомпоновкиДанных.Равно, ВидСравнения);

ЭлементОтбора.Использование = Истина;

ЭлементОтбора.ПравоеЗначение = ПравоеЗначение;

ЭлементОтбора.Представление = Представление;

КонецПроцедуры

Изменяет элемент отбора динамического списка

// Параметры:

// Список - обрабатываемый динамический список

// ИмяПоля - имя поля компоновки, отбор по которому нужно установить

// ПравоеЗначение - значение отбора, по умолчанию - Неопределено

// Использование - признак использования отбора, по умолчанию - Ложь

// ВидСравнения - вид сравнения отбора, по умолчанию - Равно

//

Процедура ИзменитьЭлементОтбораСписка(Список, ИмяПоля, ПравоеЗначение = Неопределено, Использование = Ложь, ВидСравнения = Неопределено) Экспорт

ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(

Список.КомпоновщикНастроек.Настройки.Отбор,

ИмяПоля);

ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(

Список.КомпоновщикНастроек.Настройки.Отбор,

ИмяПоля,

ПравоеЗначение,

ВидСравнения,