ИнициализироватьПечатнуюФормуMSWord (БСП)

Автор: 1С
ОбщийМодуль.УправлениеПечатьюMSWordКлиент
1С БСП

Инициализировать печатную форму word. Создает COM соединение с COM объектом Word.Application, создает в нем

// Создает COM соединение с COM объектом Word.Application, создает в нем
// единственный документ.
//
Функция ИнициализироватьПечатнуюФормуMSWord(Макет) Экспорт
	
	Handler = Новый Структура("Тип", "DOC");
	
#Если Не МобильныйКлиент Тогда
	Попытка
		COMОбъект = Новый COMОбъект("Word.Application");
	Исключение
		ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка",
			ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,Истина);
		НеУдалосьСформироватьПечатнуюФорму(ИнформацияОбОшибке());
	КонецПопытки;
	
	Handler.Вставить("COMСоединение", COMОбъект);
	Попытка
		COMОбъект.Documents.Add();
	Исключение
		COMОбъект.Quit(0);
		COMОбъект = 0;
		ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка",
			ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,Истина);
		НеУдалосьСформироватьПечатнуюФорму(ИнформацияОбОшибке());
	КонецПопытки;
	
	НастройкиСтраницыМакета = Макет; // Для обратной совместимости (изменен тип входного параметра функции).
	Если ТипЗнч(Макет) = Тип("Структура") Тогда
		НастройкиСтраницыМакета = Макет.НастройкиСтраницыМакета;
		// Копирование стилей из макета.
		Макет.COMСоединение.ActiveDocument.Close();
		Handler.COMСоединение.ActiveDocument.CopyStylesFromTemplate(Макет.ИмяФайла);
		
		Макет.COMСоединение.WordBasic.DisableAutoMacros(1);
		Макет.COMСоединение.Documents.Open(Макет.ИмяФайла);
	КонецЕсли;
	
	// Копирование настроек страницы.
	Если НастройкиСтраницыМакета <> Неопределено Тогда
		Для Каждого Настройка Из НастройкиСтраницыМакета Цикл
			Попытка
				COMОбъект.ActiveDocument.PageSetup[Настройка.Ключ] = Настройка.Значение;
			Исключение
				// Пропустить, если настройка не поддерживается данной версией программы.
			КонецПопытки;
		КонецЦикла;
	КонецЕсли;
	// Запомнить вид просмотра документа.
	Handler.Вставить("ViewType", COMОбъект.Application.ActiveWindow.View.Type);
	
#КонецЕсли

	Возврат Handler;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ИнициализироватьПечатнуюФорму (БСП)

ИнициализироватьПечатнуюФормуOOWriter (БСП)

Пример формирования внешней печатной формы из макета Word. БСП

Масштаб в печатной форме

Инициализировать Форму Выбора

Шаблон внешней печатной формы

ПечатныеФормыПоОбъектам (БСП)

TurboConf 6 - расширение Конфигуратора 1С