---
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
	|	СтатусыЗаказовКлиента.Ссылка КАК Ссылка,
	|	СтатусыЗаказовКлиента.Представление КАК Представление
	|ИЗ
	|	Справочник.СтатусыЗаказовКлиента КАК СтатусыЗаказовКлиента
	|ГДЕ
	|	НЕ СтатусыЗаказовКлиента.ПометкаУдаления И %%%ТекстДопУсловия%%%
	|
	|УПОРЯДОЧИТЬ ПО
	|	СтатусыЗаказовКлиента.РеквизитДопУпорядочивания";
	
	ПодстрокаЗамены = "ИСТИНА";
	Если ЗначениеЗаполнено(СтрокаПоиска) Тогда
		ПодстрокаЗамены = "ВРЕГ(СтатусыЗаказовКлиента.Наименование) ПОДОБНО """ + ВРег(СтрокаПоиска) + "%""";
	КонецЕсли;
	
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "%%%ТекстДопУсловия%%%", ПодстрокаЗамены);
	
	Выборка = Запрос.Выполнить().Выбрать();

	Пока Выборка.Следующий() Цикл
		
		ДанныеВыбора.Добавить(Выборка.Ссылка, Выборка.Представление);
		
	КонецЦикла;
	
КонецПроцедуры

```

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