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

Материал из Формирование документов Word из 1C
Перейти к: навигация, поиск
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
 +
<span style="color:#ff0000">поддерживается только с версии 2.0</span>
 +
 
Есть возможность запускать формирование Word-документов в рамках своих доработок конфигурации. Это полезно в случаях, когда недостаточно типовой команды "В Word". Например, для
 
Есть возможность запускать формирование Word-документов в рамках своих доработок конфигурации. Это полезно в случаях, когда недостаточно типовой команды "В Word". Например, для
  
Строка 5: Строка 7:
 
* автоматического формирования и отправки по эл. почте документа без показа пользователю каких-либо диалогов.
 
* автоматического формирования и отправки по эл. почте документа без показа пользователю каких-либо диалогов.
  
Программный запуск формирования Word-документа
+
Программный запуск формирования документа:
 +
 
 +
<pre>
 +
ПараметрыФормирования = Новый Структура;
 +
 
 +
// Объект, на основе которого заполняется Word-шаблон. Обязательный параметр
 +
ПараметрыФормирования.Вставить("Объект", Объект);
 +
 
 +
// Элемент справочника Word_ПравилаЗаполнения. Если не задан - открывается окно выбора правила заполнения из связанных с переданным объектом.
 +
ПараметрыФормирования.Вставить("ПравилоЗаполнения", ПравилоЗаполнения);
 +
 
 +
// Если Истина, то НЕ показывается диалог ввода пользовательских параметров. Полезно в случае если автоматический запуск полностью заполняет все параметры.
 +
ПараметрыФормирования.Вставить("ПропускатьВводПараметровПользователем", Истина);
 +
 
 +
// Если Истина, то сформированный документ не показывается пользователю, в вызывающую форму возвращается
 +
// структура с полями
 +
//  * АдресДокумента - адрес временного хранлища данных с содержимым файла
 +
//  * ПараметрыФайла - структура со строковыми полями ИмяФайла, Расширение
 +
ПараметрыФормирования.Вставить("ВернутьСформированныйДокументВВызывающуюФорму", Истина);
 +
 
 +
// Если Истина, то формирование документа принудительно запускается на сервере (преимущественно формирование документа запускается на клиенте)
 +
ПараметрыФормирования.Вставить("ФормироватьНаСервере", Истина);
 +
 
 +
// Если параметр ВернутьСформированныйДокументВВызывающуюФорму = Истина, то в этом параметре можно указать формат, в котором необходимо
 +
// вернуть документ. Допустимые варианты: DOC, DOCX, PDF, HTML, RTF, TXT, ODT
 +
ПараметрыФормирования.Вставить("Формат", "PDF");
 +
 
 +
// Если Истина, то окно Word активизируется после окончания формирования документа (при групповом формировании документов активизацию окна Word удобно отключать)
 +
ПараметрыФормирования.Вставить("АктивизироватьWordПослеФормироваия", Истина);
 +
 
 +
//
 +
// Далее добавляем пользовательские параметры
 +
//
 +
 
 +
// Пользовательский параметр Параметр1
 +
ПараметрыФормирования.Вставить("Параметр1", "");
  
[CODE]
+
// Пользовательский параметр Параметр2
ПараметрыФормирования = Новый Структура(
+
ПараметрыФормирования.Вставить("Параметр2", "");  
"Объект,ПравилоЗаполнения,ПропускатьВводПараметровПользователем",
 
Объект,
 
ОчередноеПравилоЗаполнения,
 
Истина);
 
 
ПараметрыФормирования.Вставить("ИмяПараметра", СтрокаПараметровПравилаЗаполнения.Значение);
 
 
 
 
ОткрытьФорму(
 
ОткрытьФорму(
Строка 23: Строка 54:
 
,
 
,
 
,
 
,
Новый ОписаниеОповещения("СформироватьОчереднойДокумент", ЭтаФорма)
+
Новый ОписаниеОповещения("ПослеФормированияДокумента", ЭтаФорма)
 
);
 
);
[/CODE]
+
</pre>

Текущая версия на 03:42, 30 марта 2021

поддерживается только с версии 2.0

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

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

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

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

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

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

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

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

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

// Если параметр ВернутьСформированныйДокументВВызывающуюФорму = Истина, то в этом параметре можно указать формат, в котором необходимо 
// вернуть документ. Допустимые варианты: DOC, DOCX, PDF, HTML, RTF, TXT, ODT
ПараметрыФормирования.Вставить("Формат", "PDF"); 

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

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

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

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