Первое с чего необходимо начать — для запускаемой команды указать вариант запуска внешней обработки «ОткрытиеФормы».
Все, это практически половина дела, теперь добавляем саму форму, в форме должно быть обязательно 3 реквизита и 3 параметра (параметры не обязательно):
ДополнительнаяОбработкаСсылка ИдентификаторКоманды ОбъектыНазначения
Данные реквизиты необходимо инициализировать в процедуре: «ПриСозданииНаСервере»
Примерно так:
ДополнительнаяОбработкаСсылка = Параметры.ДополнительнаяОбработкаСсылка; ИдентификаторКоманды = Параметры.ИдентификаторКоманды; ОбъектыНазначения.ЗагрузитьЗначения(Параметры.ОбъектыНазначения);
Выносить эти реквизиты на форму не обязательно и даже не желательно, чтобы пользователи их не попортили, они условно «Системные».
А вот на форму необходимо добавить и вынести все остальные необходимые вам реквизиты (параметры печати).
Добавляем на форму команду печать с следующим обработчиком:
ДополнительныеПараметрыПечати = Новый Структура;
ДополнительныеПараметрыПечати.Вставить("Получил",Получил);
ОбъектыНазначенияПараметр = Новый Структура;
ОбъектыНазначенияПараметр.Вставить("ОбъектыНазначения",ОбъектыНазначения.ВыгрузитьЗначения());
ОбъектыНазначенияПараметр.Вставить("ДополнительныеПараметрыПечати",ДополнительныеПараметрыПечати);
ПараметрыИсточника = Новый Структура;
ПараметрыИсточника.Вставить("ИдентификаторКоманды", ИдентификаторКоманды);
ПараметрыИсточника.Вставить("ОбъектыНазначения", ОбъектыНазначенияПараметр);
ПараметрыИсточника.Вставить("БезопасныйРежим", Ложь);
ПараметрыОткрытия = Новый Структура("ИсточникДанных,ПараметрыИсточника");
ПараметрыОткрытия.ИсточникДанных = ДополнительнаяОбработкаСсылка;
ПараметрыОткрытия.ПараметрыИсточника = ПараметрыИсточника;
Если УправлениеПечатьюКлиент.ПроверитьДокументыПроведены(ОбъектыНазначения.ВыгрузитьЗначения()) Тогда
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
Иначе
Отказ = Истина;
КонецЕсли;
Код вызова общей формы «ПечатьДокументов» возможно зависит от версии БСП, но в моем случае он выглядел именно так. Подсмотреть его можно в общем модуле «ДополнительныеОтчетыИОбработкиКлиент» процедура «ВыполнитьСерверныйМетодОбработки».
Как видно из текста команды, вместо параметра «ОбъектыНазначения» мы подсовываем структуру с непосредственно самими объектами и с дополнительными параметрами печати и единственное, что нам остается в нашей процедуре «Печать» разобрать этот параметр обратно на составляющие:
Процедура Печать(МассивОбъектовНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ИмяМакетаВнешнейФормы") Тогда МассивОбъектов = МассивОбъектовНазначения.ОбъектыНазначения; ДополнительныеПараметрыПечати = МассивОбъектовНазначения.ДополнительныеПараметрыПечати;
Вот и вся хитрость.
Для примера во вложении разместил форму «Приходная накладная» для «УТ 11» с указанием ответственного принявшего товар.




Если это твоя 2-ая печатная форма на УФ, пока не нашел статью, это был не «Вот и вся хитрость.» а маленький пушной зверек.. гигантских размеров.
кажется, у Поручка на эту тему весьма развернутая статья.
В ту же тему :