()Ок. Тогда вкратце опишу принцип работы:
1. Создаётся общая форма. Пусть будет "ФормаНастроекДинамическогоСписка". Она указывается в свойствах конфигурации как "Основная форма настроек динамического списка".
2. На новой форме создаётся реквизит "КомпоновщикНастроек" с типом "КомпоновщикНастроекКомпоновкиДанных". Этот реквизит делается основным.
Этих вещей достаточно для того, чтобы была "отрисована" стандартная форма настроек динамического списка.
3. Далее уже программно устанавливаются действия для элементов форм - отборы, сортировки и т.д. (сами элементы платформа любезно создаст самостоятельно). В этих действиях уже и делаем всё, что нам заблагорассудится.
Например, вот как реализована установка действия:
Для Каждого ИмяЭлементаФормы Из ЭлементыДляОбработки Цикл
Элемент = Элементы[ИмяЭлементаФормы];
ПутьКДанным = Элемент.ПутьКДанным;
МассивПодстрок = СтрРазделить(ПутьКДанным, ".");
ИмяЭлементаПути = МассивПодстрок[МассивПодстрок.ВГраница()];
Если ИмяЭлементаПути = "ПравоеЗначение" Тогда
// Элемент страницы "Отборы"
Элемент.УстановитьДействие("НачалоВыбора", "Подключаемый_НачалоВыбора");
Показать
Вот так примерно вызывается сама форма:
&НаКлиенте
Процедура Подключаемый_НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
// <...>
Если Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке
Или Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии
Или Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке
Или Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСпискеПоИерархии Тогда
СтандартнаяОбработка = Ложь;
ПараметрыОткрытия = Новый Структура;
// <...>
ПараметрыОткрытия.Вставить("ЗначенияДляВыбораЗаполнены", ПараметрыОткрытия.ЗначенияДляВыбора.Количество() > 0);
ОткрытьФорму("ОбщаяФорма.ВводЗначенийСпискомСФлажками", ПараметрыОткрытия, Элемент);
КонецЕсли;
КонецПроцедуры
Показать
Это если вкратце