Система компоновки данных очень удобна для написания отчетов. Но в обычных формах приходится для внешних отчетов каждый раз рисовать форму для удобной настройки отчета. При этом как минимум параметры и отборы приходится размещать на разные табличные части формы. Ну и так далее. Управляемая форма СКД даёт намного больше возможностей благодаря Пользовательским настройкам и вариантам отчета. Можно, конечно, внедрить свой отчет в конфигурацию, тогда его управляемую форму можно вызвать и в режиме обычного приложения, но тогда будет сложно менять их "на лету", не подвергая конфигурацию рискам динамического обновления. Опробовав множество вариантов, я пришел к выводу, что кое-какие дополнения к конфигурации всё же придется делать. Нужно добавить общие формы, которые будут использоваться внешними отчетами.
Выкладываю в виде cf. Для внедрения нужно сравнить и объединить, не забыть снять отметку с пункта Свойства. Для сохранения настроек используются штатные процедуры типовых конфигурации УПП или УТ. Нужно будет внести туда изменения в соответствии с текущей конфигурацией.
В самом внешнем отчете в модуле нужно вставить следующий код
Схема = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
ПараметрыДляПередачи = Новый Структура();
ПараметрыДляПередачи.Вставить("Схема", Схема);
ПараметрыДляПередачи.Вставить("НаименованиеОтчета", ЭтотОбъект.Метаданные().ПолноеИмя());
ПараметрыДляПередачи.Вставить("ПолноеНаименованиеОтчета", ЭтотОбъект.Метаданные().Представление());
ОткрытьФорму("ОбщаяФорма.mavОбщаяФормаОтчетаУправляемая", ПараметрыДляПередачи,,Истина)
В форме отчета добавить обработчик ПередОткрытием
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Отказ = Истина;
КонецПроцедуры