описано, что на форме создается поле ввода с произвольным типом значения. Не совсем понятно, как это.
в другом варианте подменю создается программно... не создается, хотя синтаксис помощник не ругается - не привязывается действие.
Как-то полгодика назад я делал такую штуку... теперь найти этот отчет не могу.
Странно, что в 10.3 варианты отчета СКД создать возможно, а вот воспользоваться не влезая в дебри СКД - никак.
Можно использовать шаблон - http://infostart.ru/public/272681/ или вот текст для программного формирования на форме подменю выбора вариантов отчета СКД (работает в УТ 10):
Процедура ПриОткрытии()
УстановитьВариантыНастроек();
КонецПроцедуры
Процедура УстановитьВариантыНастроек()
КП = ЭлементыФормы.ДействияФормы;
//КП = ЭлементыФормы.КоманднаяПанель;
НовоеДействие = Новый Действие("_СменаВариантаНастройки");
ТипКнопки = ТипКнопкиКоманднойПанели.Подменю;
НоваяКнопка = КП.Кнопки.Вставить(11, "_ВариантыОтчетов", ТипКнопки, "Варианты отчетов", НовоеДействие);
ч = 1;
Для каждого Настройка Из СхемаКомпоновкиДанных.ВариантыНастроек Цикл
НоваяКнопка = КП.Кнопки._ВариантыОтчетов.Кнопки.Добавить("Вариант"+Строка(ч), ТипКнопкиКоманднойПанели.Действие, Настройка.Представление, НовоеДействие);
ч = ч + 1;
КонецЦикла;
КонецПроцедуры
Процедура _СменаВариантаНастройки (Элемент, Ключ = Ложь)
//копирование отбора
Отбор = КомпоновщикНастроек.Настройки.Отбор;
Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;
Для каждого Настройка Из СхемаКомпоновкиДанных.ВариантыНастроек Цикл
Если Элемент.Текст = Настройка.Представление тогда
КомпоновщикНастроек.ЗагрузитьНастройки(Настройка.Настройки);
Ключ = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить();
Для каждого Элемент из Отбор.Элементы Цикл
НовыйОтбор = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЗаполнитьЗначенияСвойств(НовыйОтбор, Элемент);
КонецЦикла;
Для каждого Элемент из Параметры.Элементы Цикл
Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Элемент.Параметр);
ЗаполнитьЗначенияСвойств(Параметр, Элемент);
КонецЦикла;
ГлФорма = ЭтаФорма;
// Вызов процедуры генерации кнопок управления группировкой
СгенерироватьКнопкиУправленияГруппировкой();
КонецПроцедуры
(4) svilsa,
На какую конфигурацию это рассчитано?
Подобное я уже пробовал. Ругалось на Новое Действие (почему-то).
Допускаю, что у меня какая-то элементарная ошибка.
Процедура ПриОткрытии()
СписокВариантов=ЭлементыФормы.ВариантОтчета.СписокВыбора;
Для Каждого Вариант Из СхемаКомпоновкиДанных.ВариантыНастроек Цикл
Имя=Вариант.Имя;
Представление=Вариант.Представление;
Если СписокВариантов.НайтиПоЗначению(Имя)=Неопределено Тогда
СписокВариантов.Добавить(Имя,Представление);
КонецЕсли;
КонецЦикла;
Если СхемаКомпоновкиДанных.ВариантыНастроек.Количество() > 0 Тогда
ЭлементыФормы.ВариантОтчета.Значение = СхемаКомпоновкиДанных.ВариантыНастроек[0].Имя;
КонецЕсли;
ВариантОтчетаПриИзменении(Неопределено);
КонецПроцедуры
Процедура ПриОткрытии()
СписокВариантов=ЭлементыФормы.ВариантОтчета.СписокВыбора;
Для Каждого Вариант Из СхемаКомпоновкиДанных.ВариантыНастроек Цикл
Имя=Вариант.Имя;
Представление=Вариант.Представление;
Если СписокВариантов.НайтиПоЗначению(Имя)=Неопределено Тогда
СписокВариантов.Добавить(Имя,Представление);
КонецЕсли;
КонецЦикла;
Если СхемаКомпоновкиДанных.ВариантыНастроек.Количество() > 0 Тогда
ЭлементыФормы.ВариантОтчета.Значение = СхемаКомпоновкиДанных.ВариантыНастроек[0].Имя;
КонецЕсли;
ВариантОтчетаПриИзменении(Неопределено);
КонецПроцедуры
Процедура ВариантОтчетаПриИзменении(Элемент)
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек.Найти(ВариантОтчета).Настройки);
КонецПроцедуры