Каталог решений - 1С 8.х Вывод информации из MS Word в печатную форму (обычные формы)

1С 8.х Вывод информации из MS Word в печатную форму (обычные формы)

1С 8.х Вывод информации из MS Word в печатную форму (обычные формы)

В наличии

Пишу данную статью с целью поделиться опытом. Ничего особенного, но, надеюсь, кому-нибудь сэкономит время.

Категория:

Описание

Стояла задача, дословно «В 1С 8.2 в АРМ при нажатии гиперссылки «Расказать об акциях» выводить на экран информацию из файла Word». Информация в файле Word переодически меняется пользователями, а выводить её нужно в 1С.

Принялся за работу и понял, что не всё так просто. Вывод информации через шаблон Word не подходит, так как не решает задачу отображения данных в самой 1С. Попробовал через макет «Табличный документ» путём добавления в нём поля ActiveX, но не смог вывести в это поле информацию из Word. Порылся на просторах интернета, не удалось найти решения по описанной задаче. Немного почитав синтакс-помощник, мне пришло на помощь «ПолеHTMLДокумента» и в результате чего представляю Вам конечный результат. 

Процедура  Печать()
      ПутьКФайлуПисьма = "C:\Акция.docx"; 
      // Здесь можно организовать выбор вайла из диалогового окна
      MSWord = Новый COMОбъект("Word.Application");  
      MSWord.Visible = Ложь;
      MSWord.Documents.Open(ПутьКФайлуПисьма);
      ИмяВременногоHTMLДокумента = ПолучитьИмяВременногоФайла(".html");
      MSWord.ActiveDocument.SaveAs(ИмяВременногоHTMLДокумента, 8);  
      MSWord.ActiveDocument.Close(-1);  
      MSWord.Quit();  
      ФормаОтч = ЭтотОбъект.ПолучитьФорму("Форма");  
      ФормаОтч.ЭлементыФормы.ПолеHTMLДокумента.Перейти(ИмяВременногоHTMLДокумента);
      ФормаОтч.Открыть();  
КонецПроцедуры

Суть: В отчете нужно создать ещё одну форму и разместить на ней единственное поле в формате «ПолеHTMLДокумента», растянув по всей форме. Затем в процедуре «Печать» (вызывается при нажатии гиперссылки «Расказать об акциях») информацию из файла Word помещаем во временное хранилище, далее в созданную форму в поле с форматом «ПолеHTMLДокумента» передаем информацию и открываем форму.

При открытии формы выходит следующее окно (информация произвольная):


Надеюсь, кому-нибудь пригодится. 

has been added to your cart:
Оформление заказа