Автозаполнение шаблонов файлов MXL в «1С:Документообороте»
Добавление возможности создавать автозаполняемые шаблоны файлов в формате MXL в 1С:Документооборот и сохранением заполненного файлы в формате PDF (таблицы, результаты запроса реквизиты…)
- Описание
- Подробнее
Описание
В типовой версии 1С Документооборота нет возможности создавать шаблоны автозаполнения из табличных документов MXL макеты табличного документа, поддерживаются только форматы doc, docx, odt.
Расширение позволяет создавать такие шаблоны и сохранять документ в PDF при этом вносит минимальные изменения в типовой код и без изменения метаданных. Как и в типовой версии вставляется штрихкод документа и штамп ЭП.
Чем удобно это расширение? Есть возможность выводить таблицы и реквизиты, пользователю не нужно думать о структуре документа и его форме, он просто заполняет нужные поля, а программа сама генерирует выходной файл в формате PDF и пользователь видит привычный ему документ, к тому же его нельзя редактировать. Далее по процессу можно отправить этот документ на подпись, согласование и рассмотрение. Все это работает быстрее чем офисный документ К тому же визуализированную подпись можно разместить в нужном месте. На такой формат можно перевести кучу документов организации служебки, письма, приказы, распоряжения, коммерческие предложения, договора, отчеты и т.д. и хранить их в электронном виде в PDF.
Примером результата работы может служить вот такой выходной pdf файл
ИЛИ
Как его использовать? Работа с MXL с шаблонами ничем не отличается от работы в типовой версии и работы с табличным документом, но есть свои правила.
После добавления расширения, появляется возможность добавления файла в формате MXL во вкладку файлы шаблона внутреннего документа и становится возможным настраивать заполнение для этого типа файла.
Далее работаем с документом как с обычным макетом. В макете есть зарезервированные необязательные области "Нижний колонтитул" и "ПараметрыМакета". Область "НижнийКолонтитул" необходима если нужно вывести данные внизу страницы, к примеру контакты того кто подготовил документ. В области "ПараметрыМакета" указываются свойства макета, например Автомасштаб, или ОриентацияСтраницы. Логика работы области "ПараметыМакета" проста. В первой столбце имя параметр, во втором его значение.
Области выводятся в алфавитном порядке, поэтому рекомендую задавать имена областей в следующем формате. Латинская A + порядок вывода области + имя. Например: A01_Заголовок, или A02_Шапка и т.д. В остальном создание ничем не отличается созданием обычной печатной формы табличного документа. И не забываем ставить галочку "Макет" в свойствах табличного документа
Как и в типовой версии для вставки штрих кода используется имя параметра картинки ВставитьИзображениеШтрихкода для вставки штампа ЭП имя параметра ВставитьИзображениеШтампаЭП
Далее в настройках заполнения добавляем выбираем поля и настраиваем, на что их заменить.
Заполнение параметров работает так же как и в типовой версии. Исключение составляет вывод строк, к примеру табличной части документа или результат запроса. В данном примере, в области A03_ТЧ_Визы выводится список лиц, согласовавших документ. Их количество может быть неопределенным. Для того, что бы в макет выводились строки таблицы, в параметрах настроек заполнения нужно выбирать не сам параметр, а область куда, в данном примере A03_ТЧ_Визы. Результат обработки в скрипте должен содержать массив со структурой. Имена ключей структуры, должны соответствовать именам параметров в области макета, а переменной ТабличнаяЧасть необходимо присвоить Истина
Например:
ТабличнаяЧасть = Истина;
СтруктураСтрока = Новый Структура;
СтруктураСтрока.Вставить("СогласовалДолжность", "Директор");
СтруктураСтрока.Вставить("СогласовалФИО", "Иванов Иван Петрович");
СтруктураСтрока.Вставить("ДатаСогласования", ТекущаяДатаСеанса());
Строки = Новый Массив;
Строки.Добавить(СтруктураСтрока);
РезультатОбработки = Строки;
Лично я для этого использую функцию БСП ОбщегоНазначения.ТаблицаЗначенийВМассив для преобразования Таблицы значений результата запроса в массив со структурой.
Расширение есть в двух вариантах: для версии 1С: Документооборот 2.1 и для Документооборот 3.0
Работа в расширении ДО 3.0, ничем не отличается от работы в 2.1
Ниже приведу пример заполнения для ДО 2.1