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

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

Инициализировать печатную форму writer. Инициализация печатной формы: создается COM - объект,

// Инициализация печатной формы: создается COM - объект,
// ему устанавливаются свойства.
Функция ИнициализироватьПечатнуюФормуOOWriter(Знач Шаблон = Неопределено) Экспорт
	
	Handler = Новый Структура("ServiceManager,Desktop,Document,Тип");
	
#Если Не МобильныйКлиент Тогда
	
	Попытка
		ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager");
	Исключение
		ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка",
			НСтр("ru = 'Ошибка при связи с сервис менеджером (com.sun.star.ServiceManager).'")
			+ Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,Истина);
		НеУдалосьСформироватьПечатнуюФорму(ИнформацияОбОшибке());
	КонецПопытки;
	
	Попытка
		Desktop = ServiceManager.CreateInstance("com.sun.star.frame.Desktop");
	Исключение
		ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Ошибка",
			НСтр("ru = 'Ошибка при запуске сервиса Desktop (com.sun.star.frame.Desktop).'")
			+ Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),,Истина);
		НеУдалосьСформироватьПечатнуюФорму(ИнформацияОбОшибке());
	КонецПопытки;
	
	Параметры = ПолучитьComSafeArray();
	
#Если Не ВебКлиент Тогда
	Параметры.SetValue(0, СвойствоЗначение(ServiceManager, "Hidden", Истина));
#КонецЕсли
	
	Document = Desktop.LoadComponentFromURL("private:factory/swriter", "_blank", 0, Параметры);
	
#Если ВебКлиент Тогда
	Document.getCurrentController().getFrame().getContainerWindow().setVisible(Ложь);
#КонецЕсли
	
	Если Шаблон <> Неопределено Тогда
		TemplateStyleName = Шаблон.Document.CurrentController.getViewCursor().PageStyleName;
		TemplateStyle = Шаблон.Document.StyleFamilies.getByName("PageStyles").getByName(TemplateStyleName);
			
		StyleName = Document.CurrentController.getViewCursor().PageStyleName;
		Style = Document.StyleFamilies.getByName("PageStyles").getByName(StyleName);
		
		Style.TopMargin = TemplateStyle.TopMargin;
		Style.LeftMargin = TemplateStyle.LeftMargin;
		Style.RightMargin = TemplateStyle.RightMargin;
		Style.BottomMargin = TemplateStyle.BottomMargin;
	КонецЕсли;
	
	Handler.ServiceManager = ServiceManager;
	Handler.Desktop = Desktop;
	Handler.Document = Document;
	
#КонецЕсли

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

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

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

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

ПолучитьМакетOOWriter (БСП)

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

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

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

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

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

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

TurboConf ИР адаптер 2.63