Управляемые формы. 8.3

Внешняя печатная форма подключена к базе как Дополнительные внешние отчёты и обработки, в ней реквизит СсылкаНаОбъект.

Как из документа, после нажатия на кнопку вызова этой печатной формы передать Ссылку в значение этого реквизита на форму?
---
Если кому нужно, решил вот как, в форме в процедуре ПриСозданииНаСервере

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    СсылкаНаОбъект = Параметры.ОбъектыНазначения[0];

    КонецПроцедуры
```
---
Она сама передается в параметре ОбъектыНазначения.
Покажи СведенияоВнешнейОбработке и я скажу где искать
---
```1c
    Функция СведенияОВнешнейОбработке() Экспорт

    //Инициализируем структуру с параметрами регистрации
    //Определяем список объектов, вызывающих обработку
    ОбъектыНазначенияФормы = Новый Массив;
    ОбъектыНазначенияФормы.Добавить("Документы.ЗаказПоставщику");

    ПараметрыРегистрации = ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы);
    ПараметрыРегистрации.Версия = "2.0.0";
    ПараметрыРегистрации.БезопасныйРежим = Ложь;

    //Определяем команды для печати формы

    ТаблицаКоманд = ПолучитьТаблицуКоманд();

    ДобавитьКоманду(ТаблицаКоманд,
    "Договор (РУС)", // Представление команды в пользовательском интерфейсе
    ИмяПечатнойФормы, // Уникальный идентификатор команды
    "ОткрытиеФормы", // Использование команды
    Истина, // Показывать оповещение.
    "ПечатьMXL" // Дополнительный модификатор команды.
    );

    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

    Возврат ПараметрыРегистрации;

    КонецФункции
```
---
В форме в ПриСозданииНаСервере

В Параметры.ОбъектыНазначения твои документы. Это массив т.к. в форме списка можно выделить несколько документов и нажать печать.
---
а как ссылку то обозначить?
---
```1c
    Если Параметры.Свойство("ОбъектыНазначения") И ТипЗнч(Параметры.ОбъектыНазначения) = Тип("Массив") И Параметры.ОбъектыНазначения.Количество() > 0 Тогда
    СсылкаНаОбъект = Параметры.ОбъектыНазначения [0];
    Иначе
    ВызватьИсключение "Все пропало братан";
    КонецЕсли;
```
---
рабочий пример

```1c
    Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = Новый Структура;
    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
    ПараметрыРегистрации.Вставить("Назначение",ПолучитьНазначениеОбработки());

    ПараметрыРегистрации.Вставить("Наименование", "Счет на оплату покупателю");
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", "Счет");
    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд,
    "Счет на оплату покупателю",
    "СчетНаОплату",
    "ВызовСерверногоМетода",
    Истина,
    "ПечатьMXL"
    );
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    Возврат ПараметрыРегистрации;
    КонецФункции
```

в модуле должна быть обязательная процедура (или функция)
Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

в МассивОбъектов передается массив ссылок на документы, которые надо напечатать
---
это всё конечно хорошо, но мне в саму форму передать нужно
---
т.е. в объект Форма внешней печатной формы? не в модуль?
---
У него форма открывается, а не печатается что-то.

ОткрытиеФормы, а не ВызвовСерверногоМетода
---
А покажите тело процедуры печати из модуля менеджера
---
типовая, УТ 11.3
Документ Заказ поставщику. В модуле менеджера ничего интересного )
---
Если процдеура печати типовая, то она сама туда передает ссылку
---
Если кому нужно, решил вот как, в форме в процедуре ПриСозданииНаСервере

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    СсылкаНаОбъект = Параметры.ОбъектыНазначения[0];

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