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