MyTetra Share
Делитесь знаниями!
1С 8.2: Как установить сортировку по-умолчанию в динамическом списке
Время создания: 01.11.2012 11:36
Раздел: Компьютер - Windows - 1С - Готовые решения
Запись: xintrea/mytetra_syncro/master/base/13517554085ikl7z4if4/text.html на raw.github.com

По неизвестным причинам, в интерфейсе конфигуратора 1С 8.2 отсутсвует возможность указать поле в динамическом списке, по которому должна идти сортировка при открытии формы. Вещь элементарная, но её нет. К счастью, можно задать сортировочное поле по-умолчанию через код.

Предположим, при открытии формы выбора справочника, нужно установить сортировку на поле с именем ПорядковыйНомер.

В форме выбора справочника нужно создать процедуру ПриОткрытии, и разместить в ней следующий код:

&НаКлиенте

Процедура ПриОткрытии(Отказ)

// Установка порядка сортировки в списке по порядковому номеру

Порядок=ЭтаФорма.Список.Порядок;

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

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

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

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

ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("ПорядковыйНомер"); // Поле, по которому будет упорядочивание

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

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

В этом коде Список - это реквизит формы, который создается автоматически при генерации формы выбора справочника. Он содержит данные справочника и имеет тип ДинамическийСписок.

После размещения такого кода, данные по-умолчанию будут упорядоченны по полю ПорядковыйНомер, а не по полю Код или Наименование, как это обычно происходит.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования