Поставлена задача: во время формирования договоров по шаблону word-документа необходимо выводить штрих-код договора для последующей организации документооборота компании. Договор формируется по принципу описанным здесь.

Для решения данной задачи пошёл следующим путём. Сначала получаю jpg-изображение штрих-кода на основании данных регистра сведений ШтрихКоды. После получения картинки через COM-объект Word.Application вывожу изображение в документ.

Для получения jpg-изображения штрих-кода воспользуемся решением, которое предоставлено в типовом решении «1С:Управление торговлей» версии 11.

Код размещения изображения в word-документе:


ДанныеМакета = МакетДоговора.Макет.Получить();
ИмяФайла = "C:\temp.docx";
ДанныеМакета.Записать(ИмяФайла);
		
MSWord = Новый COMОбъект("Word.Application");
MSWord.Visible = Ложь;  			
MSWord.Documents.Open(ИмяФайла);
Документ = MSWord.Application.Documents(1);
Документ.Activate();

//Формируем изображение штрихкода по примеру УТ 11
ШтрихКод = ОбщегоНазначения.ПолучитьШтрихкод(Ссылка);
ПараметрыШтрихкода = Новый Структура;
ИмяФайлаШтрихкода = ПолучитьИмяВременногоФайла("jpg");
ИзображениеШтрихкода = ПечатьКлиентСервер.ПолучитьКартинкуШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода);
ИзображениеШтрихкода.Записать(ИмяФайлаШтрихкода);
	
Выбор = MSWord.Selection;
КоличествоСтраниц = Документ.ComputeStatistics(2);
СчетчикСтраниц = 1;
РисунокДок = Выбор.InlineShapes.AddPicture(ИмяФайлаШтрихкода, False, True);
Фигура = РисунокДок.ConvertToShape();
Фигура.WrapFormat.Type = 5;
Фигура.Left = 380;
Фигура.Top = 0;                        
	
Документ.Save();
MSWord.Visible = Истина;  			
MSWord.Activate();