Программный запуск формирования Word — различия между версиями

Материал из Формирование документов Word из 1C
Перейти к: навигация, поиск
Строка 7: Строка 7:
 
Программный запуск формирования Word-документа
 
Программный запуск формирования Word-документа
  
[CODE]
+
<pre>
ПараметрыФормирования = Новый Структура(
+
ПараметрыФормирования = Новый Структура;
"Объект,ПравилоЗаполнения,ПропускатьВводПараметровПользователем",
+
 
Объект,
+
// Объект, на основе которого заполняется Word-шаблон. Обязательный параметр
ОчередноеПравилоЗаполнения,
+
ПараметрыФормирования.Вставить("Объект", Объект);
Истина);
+
 
+
// Элемент справочника Word_ПравилаЗаполнения. Если не задан - открывается окно выбора правила заполнения из связанных с переданным объектом.
ПараметрыФормирования.Вставить("ИмяПараметра", СтрокаПараметровПравилаЗаполнения.Значение);
+
ПараметрыФормирования.Вставить("ПравилоЗаполнения", ПравилоЗаполнения);
 +
 
 +
// Если Истина, то НЕ показывается диалог ввода пользовательских параметров. Полезно в случае если автоматический запуск полностью заполняет все параметры.
 +
ПараметрыФормирования.Вставить("ПропускатьВводПараметровПользователем", Истина);
 +
 
 +
// Если Истина, то сформированный документ не показывается пользователю, в вызывающую форму возвращается
 +
// структура с полями
 +
//  * АдресДокумента - адрес временного хранлища данных с содержимым файла
 +
//  * ПараметрыФайла - структура со строковыми полями ИмяФайла, Расширение
 +
ПараметрыФормирования.Вставить("ВернутьСформированныйДокументВВызывающуюФорму", Истина);
 +
 
 +
// Если Истина, то формирование документа принудительно запускается на сервере (преимущественно формирование документа запускается на клиенте)
 +
ПараметрыФормирования.Вставить("ФормироватьНаСервере", Истина);  
 +
 
 +
// Если Истина, то окно Word активизируется после окончания формирования документа (при групповом формировании документов активизацию окна Word удобно отключать)
 +
ПараметрыФормирования.Вставить("АктивизироватьWordПослеФормироваия", Истина);
 +
 
 +
//
 +
// Далее добавляем пользовательские параметры
 +
//
 +
 
 +
// Пользовательский параметр Параметр1
 +
ПараметрыФормирования.Вставить("Параметр1", "");
 +
 
 +
// Пользовательский параметр Параметр2
 +
ПараметрыФормирования.Вставить("Параметр2", "");  
 
 
 
ОткрытьФорму(
 
ОткрытьФорму(
Строка 23: Строка 48:
 
,
 
,
 
,
 
,
Новый ОписаниеОповещения("СформироватьОчереднойДокумент", ЭтаФорма)
+
Новый ОписаниеОповещения("ПослеФормированияДокумента", ЭтаФорма)
 
);
 
);
[/CODE]
+
</pre>

Версия 11:06, 29 марта 2021

Есть возможность запускать формирование Word-документов в рамках своих доработок конфигурации. Это полезно в случаях, когда недостаточно типовой команды "В Word". Например, для

  • группового формирование Word-документов;
  • предварительной программной подготовки параметров;
  • автоматического формирования и отправки по эл. почте документа без показа пользователю каких-либо диалогов.

Программный запуск формирования Word-документа

ПараметрыФормирования = Новый Структура;

// Объект, на основе которого заполняется Word-шаблон. Обязательный параметр
ПараметрыФормирования.Вставить("Объект", Объект); 

// Элемент справочника Word_ПравилаЗаполнения. Если не задан - открывается окно выбора правила заполнения из связанных с переданным объектом.
ПараметрыФормирования.Вставить("ПравилоЗаполнения", ПравилоЗаполнения); 

// Если Истина, то НЕ показывается диалог ввода пользовательских параметров. Полезно в случае если автоматический запуск полностью заполняет все параметры.
ПараметрыФормирования.Вставить("ПропускатьВводПараметровПользователем", Истина); 

// Если Истина, то сформированный документ не показывается пользователю, в вызывающую форму возвращается 
// структура с полями 
//  * АдресДокумента - адрес временного хранлища данных с содержимым файла
//  * ПараметрыФайла - структура со строковыми полями ИмяФайла, Расширение
ПараметрыФормирования.Вставить("ВернутьСформированныйДокументВВызывающуюФорму", Истина); 

// Если Истина, то формирование документа принудительно запускается на сервере (преимущественно формирование документа запускается на клиенте)
ПараметрыФормирования.Вставить("ФормироватьНаСервере", Истина); 

// Если Истина, то окно Word активизируется после окончания формирования документа (при групповом формировании документов активизацию окна Word удобно отключать)
ПараметрыФормирования.Вставить("АктивизироватьWordПослеФормироваия", Истина); 

//
// Далее добавляем пользовательские параметры
//

// Пользовательский параметр Параметр1
ПараметрыФормирования.Вставить("Параметр1", ""); 

// Пользовательский параметр Параметр2
ПараметрыФормирования.Вставить("Параметр2", ""); 
	
ОткрытьФорму(
	"Обработка.Word_ФормированиеДокументов.Форма.ФормаВыбораИЗаполнениеШаблона",
	ПараметрыФормирования,
	ЭтаФорма,
	,
	,
	,
	Новый ОписаниеОповещения("ПослеФормированияДокумента", ЭтаФорма)
);