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