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