Вывод несколько раз макета ActiveDocument в один документ Word

17.07.12

Интеграция - Внешние источники данных

Текст кода для вывода шаблона  несколько раз в один документ Ворд.

Случилось, что понадобилось вывести шаблон справки к продукции для каждой строки ТЧ товары документа. Создаем макет печ. формы с типом 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();
    КонецПопытки;

См. также

Внешние источники данных Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование Конфигурации 1cv8 Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    21605    22    49    

39

Внешние источники данных Зарплата Бюджетный учет Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 7.хх учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

24.04.2017    51852    104    165    

91

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

19.08.2020    25689    25    1    

27

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 10 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

05.10.2022    11280    13    8    

15

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП, ФРЕШ).

13200 руб.

19.12.2016    47774    88    105    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. bobank 203 10.08.12 13:49 Сейчас в теме
Как это реализовать на управляемой форме? На клиенте макет получить нельзя, а при получении с сервера возникает ошибка. Просьба подсказать. Спасибо.
2. sanja 154 10.08.12 14:03 Сейчас в теме
Печать().Показать() не работает?
Сам не делал на УФ.
Могу посоветовать http://infostart.ru/public/85589/
3. mip128 10.04.14 18:46 Сейчас в теме
Спасибо, воспользовался)
4. sanja 154 21.04.14 02:19 Сейчас в теме
5. milana5 7 24.09.14 10:03 Сейчас в теме
Спасибо! Прям выручил!!!
6. robix 25.07.16 14:00 Сейчас в теме
Работает то работает, но вот неплохо бы объяснить как оно работает. Например что значить цифра 6 в параметре тут Word.Selection.EndKey(6);
И цифра 7 тут Word.Selection.InsertBreak(7);
Alex_3189; Anton18; Dmitri93; +3 Ответить
7. sanja 154 05.05.22 23:36 Сейчас в теме
EndKey(6) - конец документа.
Если выбор находится в основном текстовом рассказе, в примере выбор перемещается в конец документа.
Selection.EndKey Unit:=wdStory
Word.Selection.InsertBreak(7):
wdPageBreak - 7 - Разрыв страницы в точке вставки.
Оставьте свое сообщение