Как можно получить внешнюю обработку чтобы вызвать ее метод Печать()?

На обычных формах (КА1) сделано вот так:

```1c
    ДеревоМакетовПечати = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(СсылкаНаОбъект,Неопределено);
    СтрокаКнопки = ДеревоМакетовПечати.Строки.Найти("Товарный Чек","Текст");
    Расшифровка = СтрокаКнопки.Расшифровка;
    ТабДок = УниверсальныеМеханизмы.НапечататьВнешнююФорму(СсылкаНаОбъект, Расшифровка);
```

А как это можно реализовать в КА2?
---
Ага, есть такое:

```1c
    // Формирует печатную форму по внешнему источнику.
    //
    // Параметры:
    // ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - внешняя обработка.
    // ПараметрыИсточника - Структура:
    // * ИдентификаторКоманды - Строка - список макетов, перечисленных через запятую.
    // * ОбъектыНазначения - Массив
    // КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы (возвращаемый параметр).
    // ОбъектыПечати - СписокЗначений - соответствие между объектами и именами областей печати
    // табличного документа. Значение - Объект, представление - имя области,
    // в которой был выведен объект (возвращаемый параметр).
    // ПараметрыВывода - Структура - дополнительные параметры сформированных табличных документов
    // (возвращаемый параметр).
    //
    Процедура ПечатьПоВнешнемуИсточнику(ДополнительнаяОбработкаСсылка, ПараметрыИсточника, КоллекцияПечатныхФорм,
    ОбъектыПечати, ПараметрыВывода) Экспорт
```
---
Получилось сделать так, но мне кажется, можно сделать код лучше, в плане использования каких-нибудь процедур из общих модулей

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ДополнительныеОтчетыИОбработки.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
    |ГДЕ
    | ДополнительныеОтчетыИОбработки.Наименование = &Наименование";

    Запрос.УстановитьПараметр("Наименование", "Товарный чек");

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();

    Ссылка = РезультатЗапроса[0].Ссылка;

    ДвДанные=Ссылка.ХранилищеОбработки.Получить();
    АдресФайла=ПолучитьИмяВременногоФайла();
    ДвДанные.Записать(АдресФайла);
    ОбъектОбработки=ВнешниеОбработки.Создать(АдресФайла, Ложь);
    ОбъектОбработки.СсылкаНаОбъект=ДокументРеализация;
    ТабДок=ОбъектОбработки.Печать(ДокументРеализация);
```
---
Ага, есть такое:

```1c
    // Формирует печатную форму по внешнему источнику.
    //
    // Параметры:
    // ДополнительнаяОбработкаСсылка - СправочникСсылка.ДополнительныеОтчетыИОбработки - внешняя обработка.
    // ПараметрыИсточника - Структура:
    // * ИдентификаторКоманды - Строка - список макетов, перечисленных через запятую.
    // * ОбъектыНазначения - Массив
    // КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы (возвращаемый параметр).
    // ОбъектыПечати - СписокЗначений - соответствие между объектами и именами областей печати
    // табличного документа. Значение - Объект, представление - имя области,
    // в которой был выведен объект (возвращаемый параметр).
    // ПараметрыВывода - Структура - дополнительные параметры сформированных табличных документов
    // (возвращаемый параметр).
    //
    Процедура ПечатьПоВнешнемуИсточнику(ДополнительнаяОбработкаСсылка, ПараметрыИсточника, КоллекцияПечатныхФорм,
    ОбъектыПечати, ПараметрыВывода) Экспорт
```
---
Спасибо! А есть функция БСП которая получит ссылку на обработку, чтобы убрать запрос?
---
а зачем такие костыли? при использовании БСП все вызывается автоматически!
---
Ну вот возникла сложность с поиском процедуры БСП для использования)