--- title: Подключение к подсистеме Настройка порядка элементов slug: общие-бсп-стандартные-подсистемы-3-1-10-настройка-порядка-элементов/подключение-к-подсистеме-настройка-порядка-элементов --- # Описание Подсистема позволяет устанавливать пользовательский порядок элементов в динамических списках: - Справочников - Планов видов характеристик - Планов видов расчета ![Изображение](/bsp-nastroika-poryadka-elementov/1.png) ## Подключение к подсистеме Для подключения этой подсистемы нужно: 1. Создать в нужном объекте числовой реквизит `РеквизитДопУпорядочивания` *(Число(5,0))*. Установить для него свойство `Индексировать` в `Индексировать с доп. упорядочиванием` 2. Добавить объект в определяемый тип `ОбъектСНастраиваемымПорядком` 3. Создать форму списка, подключить к подсистеме `Подключаемые команды` 4. В динамическом списке настроить упорядочивание по реквизиту `РеквизитДопУпорядочивания`. Установить в свойствах элемента пользовательских настроек режим редактирвоания `Недоступный` ![Изображение](/bsp-nastroika-poryadka-elementov/2.png) ## Настройка данных выбора Чтобы сохранить порядок элементов при выборе из выпадающего списка в поле ввода нужно: 1. Для поля ввода реквизита определить обработчик `АвтоПодбор` ```bsl &НаКлиенте Процедура СтатусАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ПолучитьДанныеВыбора(Тип("СправочникСсылка.СтатусыЗаказовКлиента"), ПараметрыПолученияДанных); КонецПроцедуры ``` 2. В модуле менеджера спраовчника переопределяем ```bsl Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ДанныеВыбора = Новый СписокЗначений; СтрокаПоиска = Параметры.СтрокаПоиска; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 5 | СтатусыЗаказовКлиента.Ссылка КАК Ссылка, | СтатусыЗаказовКлиента.Представление КАК Представление |ИЗ | Справочник.СтатусыЗаказовКлиента КАК СтатусыЗаказовКлиента |ГДЕ | НЕ СтатусыЗаказовКлиента.ПометкаУдаления И %%%ТекстДопУсловия%%% | |УПОРЯДОЧИТЬ ПО | СтатусыЗаказовКлиента.РеквизитДопУпорядочивания"; ПодстрокаЗамены = "ИСТИНА"; Если ЗначениеЗаполнено(СтрокаПоиска) Тогда ПодстрокаЗамены = "ВРЕГ(СтатусыЗаказовКлиента.Наименование) ПОДОБНО """ + ВРег(СтрокаПоиска) + "%"""; КонецЕсли; Запрос.Текст = СтрЗаменить(Запрос.Текст, "%%%ТекстДопУсловия%%%", ПодстрокаЗамены); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ДанныеВыбора.Добавить(Выборка.Ссылка, Выборка.Представление); КонецЦикла; КонецПроцедуры ``` > Если после всех манипуляций что-то не работает - ПЕРЕЗАПУСТИ КОНФИГУРАТОР