Отбор, группировка, порядок и условное оформление в 1С: Предприятие 8.2

В платформе 1С: Предприятие 8.2 программная настройка формы возможна только через компоновку данных. Что может быть непривычно для тех, кто раньше программировал в 1С: Предприятие 7.7. В данной статье я приведу примеры программного отбора, группировки, сортировки и условного оформления формы.

Отбор. Выполним отбор по дате в форме списка документа.

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

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

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

      ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;

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

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

      Элементы.Список.Обновить();

Группировка. Сгруппируем список документов по полю Клиент. 

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

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

      ЭлементГруппировки.Поле = Новый ПолеКомпоновкиДанных("Клиент");

      Элементы.Список.Обновить();

Порядок. Отсортируем список документов по полю ПлановаяДатаПоставки.

      Список.Порядок.Элементы.Очистить();

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

      НовыйПорядок.Поле = Новый ПолеКомпоновкиДанных("Список.ПлановаяДатаПоставки");

      НовыйПорядок.Использование = Истина;

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

      НовыйПорядок.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр;

      Элементы.Список.Обновить();

Условное оформление. Покрасим в красный цвет строки списка документов с незаполненной датой согласования счета. 

      ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();

      

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

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

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

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

      

      Элемент = ЭлементОформления.Оформление.Элементы[1];

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

      Элемент.Значение = Новый Цвет(255,0,0);