Skip to content

Подключение к подсистеме Настройка порядка элементов

Описание

Подсистема позволяет устанавливать пользовательский порядок элементов в динамических списках:

  • Справочников
  • Планов видов характеристик
  • Планов видов расчета Изображение

Подключение к подсистеме

Для подключения этой подсистемы нужно:

  1. Создать в нужном объекте числовой реквизит РеквизитДопУпорядочивания (Число(5,0)). Установить для него свойство Индексировать в Индексировать с доп. упорядочиванием
  2. Добавить объект в определяемый тип ОбъектСНастраиваемымПорядком
  3. Создать форму списка, подключить к подсистеме Подключаемые команды
  4. В динамическом списке настроить упорядочивание по реквизиту РеквизитДопУпорядочивания. Установить в свойствах элемента пользовательских настроек режим редактирвоания Недоступный Изображение

Настройка данных выбора

Чтобы сохранить порядок элементов при выборе из выпадающего списка в поле ввода нужно:

  1. Для поля ввода реквизита определить обработчик АвтоПодбор
&НаКлиенте
Процедура СтатусАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПолучитьДанныеВыбора(Тип("СправочникСсылка.СтатусыЗаказовКлиента"), ПараметрыПолученияДанных);
КонецПроцедуры
  1. В модуле менеджера спраовчника переопределяем
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ДанныеВыбора = Новый СписокЗначений;
СтрокаПоиска = Параметры.СтрокаПоиска;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 5
| СтатусыЗаказовКлиента.Ссылка КАК Ссылка,
| СтатусыЗаказовКлиента.Представление КАК Представление
|ИЗ
| Справочник.СтатусыЗаказовКлиента КАК СтатусыЗаказовКлиента
|ГДЕ
| НЕ СтатусыЗаказовКлиента.ПометкаУдаления И %%%ТекстДопУсловия%%%
|
|УПОРЯДОЧИТЬ ПО
| СтатусыЗаказовКлиента.РеквизитДопУпорядочивания";
ПодстрокаЗамены = "ИСТИНА";
Если ЗначениеЗаполнено(СтрокаПоиска) Тогда
ПодстрокаЗамены = "ВРЕГ(СтатусыЗаказовКлиента.Наименование) ПОДОБНО """ + ВРег(СтрокаПоиска) + "%""";
КонецЕсли;
Запрос.Текст = СтрЗаменить(Запрос.Текст, "%%%ТекстДопУсловия%%%", ПодстрокаЗамены);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДанныеВыбора.Добавить(Выборка.Ссылка, Выборка.Представление);
КонецЦикла;
КонецПроцедуры

Если после всех манипуляций что-то не работает - ПЕРЕЗАПУСТИ КОНФИГУРАТОР