При заполнении табличных частей документов (например, «Поступление товаров и услуг» или «Отчет производства за смену») операторам часто приходится выбирать характеристики номенклатуры. Если список характеристик выводится в произвольном порядке, работать с ним неудобно. Оператор настраивает сортировку вручную по наименованию, но при следующем вызове формы подбора порядок снова сбрасывается.
Проанализируем причину такого поведения обычной формы подбора в «1С:Управление производственным предприятием» (УПП) и разберем способы зафиксировать сортировку.
В обычных формах платформы 1С:Предприятие 8 пользовательские настройки порядка вывода колонок автоматически сохраняются для динамических списков, связанных с таблицами БД. Однако в форме подбора характеристик данные часто формируются иначе:
ТаблицаЗначений, платформа не сохраняет интерактивную сортировку по клику на заголовок колонки между вызовами формы.Ссылка.Разберем, как принудительно зафиксировать сортировку характеристик по наименованию при открытии формы подбора.
Наиболее эффективное решение — добавить принудительную сортировку в модуль формы подбора характеристик в обработчик события ПриОткрытии.
Если источником данных табличного поля является СправочникСписок, порядок устанавливается следующим образом:
Процедура ПриОткрытии()
// Устанавливаем сортировку по наименованию в порядке возрастания
ЭлементыФормы.ТабличноеПолеХарактеристики.СправочникСписок.Порядок.Наименование.Установить();
КонецПроцедуры
Если источником данных выступает ТаблицаЗначений, упорядочивание выполняется методом Сортировать():
Процедура ПриОткрытии()
// Сортировка таблицы значений по колонке Наименование
ТаблицаХарактеристик.Сортировать("Наименование ВОЗР");
КонецПроцедуры
Если характеристики для формы подбора выбираются с помощью запроса, проанализируем модуль формы или общий модуль подбора и добавим в текст запроса предложение УПОРЯДОЧИТЬ ПО:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
| ХарактеристикиНоменклатуры.Наименование КАК Наименование
|ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
|ГДЕ
| ХарактеристикиНоменклатуры.Владелец = &Номенклатура
|УПОРЯДОЧИТЬ ПО
| Наименование ВОЗР";
Для сохранения пользовательских параметров подбора можно также настроить свойства самой формы в Конфигураторе:
СохранятьЗначения в значение Истина.СохраняемыеЗначения отметим необходимые реквизиты отбора и сортировки.Рассмотренные способы позволяют зафиксировать корректную сортировку по наименованию и избавляют операторов от необходимости каждый раз настраивать порядок вручную.