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