Случилось, что понадобилось вывести шаблон справки к продукции для каждой строки ТЧ товары документа. Создаем макет печ. формы с типом ActiveDocument и загружаем туда наш шаблон. Далее все стандартно по созданию внешней печ. формы + код ниже
Код 1C v 8.х ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Справка";
АктивныйДокумент = ПолучитьМакет("Макет");
КомОбъект = АктивныйДокумент.Получить();
Попытка
Word = КомОбъект.Application;
Док=Word.Documents(1);
// Отключим проверку грамматики и вывод информации о грамматических ошибках.
Док.GrammarChecked=0;
Док.ShowGrammaticalErrors=0;
Док.Activate();
Файл = КаталогВременныхФайлов() + "файл" + Выборка.Номер + ".doc";
Word.S_election.WholeStory();
Word.S_election.Copy();
Счетчик = 1;
Для каждого Строка Из СсылкаНаОбъект.Товары Цикл
Замена = Док.Content.Find;
НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(СсылкаНаОбъект);
Замена.Execute("[Номер]", Ложь, Истина, Ложь, , , Истина, , Ложь, НомерДокумента);
Замена = Док.Content.Find;
Замена.Execute("[Дата]", Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(Выборка.Дата, "ДЛФ = ДДММГГ"));
Замена = Док.Content.Find;
Замена.Execute("[Наименование]", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(Строка.Номенклатура));
Замена = Док.Content.Find;
Замена.Execute("[Количество]", Ложь, Истина, Ложь, , , Истина, , Ложь, Строка(Строка.Количество));
Замена = Док.Content.Find;
Замена.Execute("[Декларация]", Ложь, Истина, Ложь, , , Истина, , Ложь, РегНомерДекларации);
Замена = Док.Content.Find;
СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Выборка.Организация, Выборка.Дата,,);
ФактАдрес = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(СведенияОПоставщике, "ФактическийАдрес");
Производитель = Выборка.ОрганизацияНаименованиеСокращенное + ", " + Выборка.ФактАдресОрганизации;
Замена.Execute("[Производитель]", Ложь, Истина, Ложь, , , Истина, , Ложь, Производитель);
Word.S_election.EndKey(6);
Если Счетчик < СсылкаНаОбъект.Товары.Количество() тогда
Word.S_election.I_nsertBreak(7);
Word.S_election.Paste();
КонецЕсли;
Счетчик = Счетчик + 1;
КонецЦикла;
Док.SaveAs(Файл);
Док.Close(0);
ЗапуститьПриложение("""" + Файл + """");
Исключение
Сообщить(ОписаниеОшибки());
Word.Quit();
КонецПопытки;