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