Подключение внешней печатной форми в 1С (тонкий клиент)

Создаем внешнюю обработку

Добавляем макет

В МодульОбекта вставляем описание

Функция СведенияОВнешнейОбработке() Экспорт
//сообщим платформе, что перед ней печатная форма
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.0.0.0");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
//сообщаем, что печатная форма предназначается для определенного документа
МасНазначений = Новый Массив;
МасНазначений.Добавить("Документ.РеализацияТоваровУслуг");
ПараметрыРегистрации.Назначение = МасНазначений;
//определяем наименование, версию и режим безопасности
ПараметрыРегистрации.Наименование = "WA Печать заказа";
ПараметрыРегистрации.Версия = "1.00";
ПараметрыРегистрации.БезопасныйРежим = Ложь;
// добавляем команду
НоваяКоманда	=	ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление	=	НСтр("ru = 'WA Печать заказа'; uk = 'WA Друк замовлення'");
НоваяКоманда.Идентификатор	=	"ШаблонМакетаВнешнейПечатнойФормы";
НоваяКоманда.Использование	=	ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение	=	Истина;
НоваяКоманда.Модификатор	=	"ПечатьMXL";
Возврат ПараметрыРегистрации;
КонецФункции
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ШаблонМакетаВнешнейПечатнойФормы", "WA Печать заказа", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати, ПараметрыВывода));
КонецПроцедуры
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати, ПараметрыВывода)
//создаем новый табличный документ, задаем его параметры и выбираем созданный нами макет
Табдок = новый ТабличныйДокумент;
Табдок.ИмяПараметровПечати	= "ПараметрыПечати";
ТабДок.ОриентацияСтраницы	= ОриентацияСтраницы.Портрет;
ТабДок.АвтоМасштаб	= Истина;
//Формируем макет
МакетОбработки = ПолучитьМакет("ШаблонМакетаВнешнейПечатнойФормы");
Если ТипЗнч(ПараметрыВывода)=Тип("Структура") И ПараметрыВывода.Свойство("КодЯзыкаДляМногоязычныхПечатныхФорм") Тогда
КодЯзыкаПечать = ПараметрыВывода.КодЯзыкаДляМногоязычныхПечатныхФорм;
Иначе
КодЯзыкаПечать = "uk";
КонецЕсли;
МакетОбработки.КодЯзыка = КодЯзыкаПечать;
//выводим области - область макета и заполняем все параметры
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
//ОбластьШапка.Параметры.Дата = Формат(ДанныеДляПечатиПоШапке.Дата,"ДФ=dd.MM.yyyy");
Табдок.Вывести(ОбластьШапка);
Возврат табдок;
КонецФункции

Пример внешней печатной формы