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




Как это реализовать на управляемой форме? На клиенте макет получить нельзя, а при получении с сервера возникает ошибка. Просьба подсказать. Спасибо.
Печать().Показать() не работает?
Сам не делал на УФ.
Могу посоветовать
Спасибо, воспользовался)
(3) mip128, рад, что помог.
Спасибо! Прям выручил!!!
Работает то работает, но вот неплохо бы объяснить как оно работает. Например что значить цифра 6 в параметре тут Word.Selection.EndKey(6);
И цифра 7 тут Word.Selection.InsertBreak(7);