Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

Генератор документов Pro

Модуль предназначен для быстрого решения шаблонных вопросов, связанных с подготовкой файлов.  Генератор документов формирует файлы с расширением .docx на основе созданного пользователем шаблона, подставляя в поля текстовые, табличные данные и изображения.Описание работы (пример).Предварительно следует создать документ с расширением .docx, который будет шаблоном для генерации файлов. В нём нужно задать имена полей для подстановки.Имена полей задаются в фигурных скобках латинскими буквами, например: {COMP_NAME}. Расположите поля с именами переменных в нужных местах файла-шаблона, сохраните.Совет! При работе с MacOS желательно для создания шаблонов использовать MS Word для Windows.Заполненный шаблон загрузить в систему. Сделать это можно двумя способами — загрузить на Диск в портале или в папку в административной части. Рассмотрим оба способа загрузки:1. Зайдите в меню Диск, выберите нужную папку для шаблона и загрузите туда ваш файл-шаблон.2. В административной части Битрикс зайдите в раздел Контент — Файлы и папки. Нажмите Загрузить файл — укажите путь к вашему шаблону.В любом месте цепочке бизнес процесса добавьте активити «Генератор документов» (в системе он может обозначаться как Документ word из шаблона [mcart]):Откройте настройки активити. В настройках действия Генератора прописываются поля, из которых будут браться данные для подстановки в переменные поля шаблона.Рассмотрим подробнее поля настроек Генератора:Заголовок — имя данного активити. Это особенно удобно, если их несколько в цепочке бизнес-процесса. В этом случае созданные файлы с результатом будут иметь разные имена, заданные вами в настройках каждого активити;галочку «Обрабатывать поля в формате Merge Field» проставлять НЕ нужно;Путь к шаблону документа — путь к загруженному файлу с шаблоном. Например: /generator/template.docx или 523, где 523 – ID файла на диске. Если в поле прописаны буквы — модуль распознаёт путь, если цифры — находит файл с таким ID;Путь к сохраняемому файлу и имя — путь и название для сохраняемого файла с выходными данными и расширением .docx. Вы можете прописать здесь полный путь к файлу и формат его названия, а можете указать только название, указав путь к файлу в полях ниже. Пример заполнения: /generator/kp_{=System:Date}.docx (в данном случае имя файла будет содержать буквы kp, знак подчеркивания и текущую дату. Если вы указываете только формат названия выходного файла, например: kp_{=System:Date}.docx, то заполните нижеследующие поля:ID диска — ID диска, на который нужно сохранить файл результата. Как посмотреть ID диска, указано ниже.ID папки на диске — ID папки, в которую нужно поместить файл результата. Как посмотреть ID папки, указано ниже.Далее нужно добавить правила для замены переменных в шаблонном файле на данные. Для подстановки в переменные шаблонного файла в настройках действия нужно прописать правила с указанием имени переменной и имени поля, из которого будут браться данные. В левой части прописывается имя переменной в шаблоне, а в правой части — имя поля, откуда нужно взять данные. Имя поля указывается в фигурных скобках. Поле данных можно выбрать из списка, нажав на кнопку с многоточием около поля.Внимание! Если поле документа является списком, то к правилу стоит добавить _printable. Если не выводятся другие типы полей, также попробуйте использовать приставку _printable.Например: вместо {=Document:PROPERTY_TIP_OPLATY} укажите {=Document:PROPERTY_TIP_OPLATY_printable}.После заполнения всех полей Генератора, нажмите кнопку «Сохранить». Затем сохраните изменения, внесенные в бизнес-процесс (кнопка внизу).Как посмотреть ID диска.ID диска вы можете посмотреть следующим образом: в административной части Битрикс зайдите в Настройки — Таблицы — выберите в списке таблицу b_disk_storage, найдите нужный вам диск по его названию и посмотрите в соответствующей графе его ID.Как посмотреть ID папки.Зайдите в меню Диск, выберите нужную вам папку. Рядом с названием вы увидите поле с её ID. Если такого поля нет, зайдите в настройки и добавьте отображение этого поля.Как вывести список строк с переходом на новую строку.Ответ: Нужно пользоваться специальными xml тегами.Например, воспользоваться таким тегом <w:br/>.То есть подставляемая строка должна иметь вид:Пункт1<w:br/>Пункт2<w:br/>Пункт3Как добавить ссылку на сгенерированный файлОчень часто возникает необходимость выводить ссылку на сформированный документ.Для этого можно воспользоваться значением Ссылка для скачивания документа активити Документ Word из шаблона в Дополнительные результаты.Ссылку можно вывести в Сообщениях Живой ленты, прописав следующие значения:1.      Вывод через тег: [url={=A14775_64625_42428_11813:Path}] ссылка [/url], где {=A14775_64625_42428_11813:Path}-выбирается через вставку значения в дополнительных результатах значение активити «Ссылка для скачивания документов»Выводится кликабельное слово «ссылка», при нажатии на которое скачивается сгенерированный документ.2.      Вывод через системную переменную: {=System:HostUrl}{=A14775_64625_42428_11813:Path}, где{=A14775_64625_42428_11813:Path}-выбирается через вставку значения в дополнительных результатах значение активити «Ссылка для скачивания документов»                Выводится ссылка вида : https://название портала/disk/downloadFile/...81%29.docxКак сгенерировать в выходном файле таблицу произвольного размера1.   Составить макет будущей таблицы в шаблонном файле. В данном примере LIST — это поле, которое нужно будет указать в настройках генератора для обращения к строковым данным массива, после точки указывается название колонки. Так, в поле list.id будут помещены данные из массива list[id] построчно. В данном примере — это порядковый номер товара в таблице.2. Сформировать массив. Он должен иметь следующий вид:[id] => Array          Далее построчно перечисляются все поля массива в формате:[fio] => Array…[city] => ArrayКоличество значений в столбцах должно быть одинаковым, иначе таблица будет сформирована некорректно.3. Сериализовать массив:serialize(ваш_массив);            Допустим, массив был сериализован в переменную hostlist. В таком случае, настройка параметров Генератора будет выглядеть следующим образом:LIST={=Variable:hostlist}Сохраните настройки генератора.Внимание! Если поле документа является списком, то к правилу стоит добавить _printable. Если не выводятся другие типы полей, также попробуйте использовать приставку _printable.Например: вместо {=Document:PROPERTY_TIP_OPLATY} укажите {=Document:PROPERTY_TIP_OPLATY_printable}Пример PHP-кода:$rootA = $this->GetRootActivity();$table_list=array ("id" => array (1,2,3),"fio" => array ("Иванов Иван Иванович", "Петров Петр Петрович", "Сидоров Сидр Сидорович"), "city" => array ("Челябинск", "Владивосток", "Пермь"));$table_str=serialize($table_list);$rootA->SetVariable("hostlist",$table_str);

Генератор документов Pro

Генератор документов Pro

Купить: 19 900 руб.
Попробовать (7 дней)
Скриншоты
Описание

Технические данные

Опубликовано:
03.03.2017
Обновлено:
18.01.2024
Версия:
3.2.6
Установлено:
500 - 999 раз
Подходящие редакции:
«Корпоративный портал», «Энтерпрайз», «Интернет-магазин + CRM»
Адаптивность:
Нет
Поддержка Композита:
Нет
Совместимо с Сайты24
Нет
Совместимо с PHP 8.1
Да

Пользовательское соглашение

Описание

Модуль предназначен для быстрого решения шаблонных вопросов, связанных с подготовкой файлов.

 Генератор документов формирует файлы с расширением .docx на основе созданного пользователем шаблона, подставляя в поля текстовые, табличные данные и изображения.

Описание работы (пример).

Предварительно следует создать документ с расширением .docx, который будет шаблоном для генерации файлов. В нём нужно задать имена полей для подстановки.

Имена полей задаются в фигурных скобках латинскими буквами, например: {COMP_NAME}. Расположите поля с именами переменных в нужных местах файла-шаблона, сохраните.

Совет! При работе с MacOS желательно для создания шаблонов использовать MS Word для Windows.

Заполненный шаблон загрузить в систему. Сделать это можно двумя способами — загрузить на Диск в портале или в папку в административной части. Рассмотрим оба способа загрузки:

1. Зайдите в меню Диск, выберите нужную папку для шаблона и загрузите туда ваш файл-шаблон.

2. В административной части Битрикс зайдите в раздел Контент — Файлы и папки. Нажмите Загрузить файл — укажите путь к вашему шаблону.

В любом месте цепочке бизнес процесса добавьте активити «Генератор документов» (в системе он может обозначаться как Документ word из шаблона [mcart]):

Откройте настройки активити. В настройках действия Генератора прописываются поля, из которых будут браться данные для подстановки в переменные поля шаблона.

Рассмотрим подробнее поля настроек Генератора:

  • Заголовок — имя данного активити. Это особенно удобно, если их несколько в цепочке бизнес-процесса. В этом случае созданные файлы с результатом будут иметь разные имена, заданные вами в настройках каждого активити;
  • галочку «Обрабатывать поля в формате Merge Field» проставлять НЕ нужно;
  • Путь к шаблону документа — путь к загруженному файлу с шаблоном. Например: /generator/template.docx или 523, где 523 – ID файла на диске. Если в поле прописаны буквы — модуль распознаёт путь, если цифры — находит файл с таким ID;
  • Путь к сохраняемому файлу и имя — путь и название для сохраняемого файла с выходными данными и расширением .docx. Вы можете прописать здесь полный путь к файлу и формат его названия, а можете указать только название, указав путь к файлу в полях ниже. Пример заполнения: /generator/kp_{=System:Date}.docx (в данном случае имя файла будет содержать буквы kp, знак подчеркивания и текущую дату. Если вы указываете только формат названия выходного файла, например: kp_{=System:Date}.docx, то заполните нижеследующие поля:
  • ID диска — ID диска, на который нужно сохранить файл результата. Как посмотреть ID диска, указано ниже.
  • ID папки на диске — ID папки, в которую нужно поместить файл результата. Как посмотреть ID папки, указано ниже.
  • Далее нужно добавить правила для замены переменных в шаблонном файле на данные. Для подстановки в переменные шаблонного файла в настройках действия нужно прописать правила с указанием имени переменной и имени поля, из которого будут браться данные. В левой части прописывается имя переменной в шаблоне, а в правой части — имя поля, откуда нужно взять данные. Имя поля указывается в фигурных скобках. Поле данных можно выбрать из списка, нажав на кнопку с многоточием около поля.

Внимание! Если поле документа является списком, то к правилу стоит добавить _printable. Если не выводятся другие типы полей, также попробуйте использовать приставку _printable.

Например: вместо {=Document:PROPERTY_TIP_OPLATY} укажите {=Document:PROPERTY_TIP_OPLATY_printable}.

После заполнения всех полей Генератора, нажмите кнопку «Сохранить». Затем сохраните изменения, внесенные в бизнес-процесс (кнопка внизу).

Как посмотреть ID диска.

ID диска вы можете посмотреть следующим образом: в административной части Битрикс зайдите в Настройки — Таблицы — выберите в списке таблицу b_disk_storage, найдите нужный вам диск по его названию и посмотрите в соответствующей графе его ID.

Как посмотреть ID папки.

Зайдите в меню Диск, выберите нужную вам папку. Рядом с названием вы увидите поле с её ID. Если такого поля нет, зайдите в настройки и добавьте отображение этого поля.

Как вывести список строк с переходом на новую строку.

Ответ: Нужно пользоваться специальными xml тегами.

Например, воспользоваться таким тегом <w:br/>.

То есть подставляемая строка должна иметь вид:

Пункт1<w:br/>Пункт2<w:br/>Пункт3

Как добавить ссылку на сгенерированный файл

Очень часто возникает необходимость выводить ссылку на сформированный документ.

Для этого можно воспользоваться значением Ссылка для скачивания документа активити Документ Word из шаблона в Дополнительные результаты.

Ссылку можно вывести в Сообщениях Живой ленты, прописав следующие значения:

1.      Вывод через тег: [url={=A14775_64625_42428_11813:Path}] ссылка [/url], где {=A14775_64625_42428_11813:Path}-выбирается через вставку значения в дополнительных результатах значение активити «Ссылка для скачивания документов»

Выводится кликабельное слово «ссылка», при нажатии на которое скачивается сгенерированный документ.

2.      Вывод через системную переменную: {=System:HostUrl}{=A14775_64625_42428_11813:Path}, где

{=A14775_64625_42428_11813:Path}-выбирается через вставку значения в дополнительных результатах значение активити «Ссылка для скачивания документов»

               

Выводится ссылка вида :

https://название портала/disk/downloadFile/...81%29.docx

Как сгенерировать в выходном файле таблицу произвольного размера

1.   Составить макет будущей таблицы в шаблонном файле. В данном примере LIST — это поле, которое нужно будет указать в настройках генератора для обращения к строковым данным массива, после точки указывается название колонки. Так, в поле list.id будут помещены данные из массива list[id] построчно. В данном примере — это порядковый номер товара в таблице.

2. Сформировать массив. Он должен иметь следующий вид:

[id] => Array

         

Далее построчно перечисляются все поля массива в формате:

[fio] => Array

[city] => Array

Количество значений в столбцах должно быть одинаковым, иначе таблица будет сформирована некорректно.

3. Сериализовать массив:

serialize(ваш_массив);

           

Допустим, массив был сериализован в переменную hostlist. В таком случае, настройка параметров Генератора будет выглядеть следующим образом:

LIST={=Variable:hostlist}

Сохраните настройки генератора.

Внимание! Если поле документа является списком, то к правилу стоит добавить _printable. Если не выводятся другие типы полей, также попробуйте использовать приставку _printable.

Например: вместо {=Document:PROPERTY_TIP_OPLATY} укажите {=Document:PROPERTY_TIP_OPLATY_printable}

Пример PHP-кода:

$rootA = $this->GetRootActivity();

$table_list=array (

"id" => array (1,2,3),

"fio" => array ("Иванов Иван Иванович", "Петров Петр Петрович", "Сидоров Сидр Сидорович"),

"city" => array ("Челябинск", "Владивосток", "Пермь")

);

$table_str=serialize($table_list);

$rootA->SetVariable("hostlist",$table_str);

Отзывы (1)
Обсуждения (5)
Что нового
3.2.7 (18.01.2024) (beta)
  • Исправлена ошибка генерации пути полученного файла
3.2.6 (14.08.2023)
  • Устранена ошибка, которая возникала при добавлении активити в БП несколько раз.
3.2.5 (27.06.2023)
    Исправленна проблема при которой в таблицу добавляеться только первый элемент
3.2.4 (21.06.2023)
    Исправлен вызов метода loadXML()
3.2.3 (15.06.2023)
    Исправлен вызов метода loadXML()
3.2.2 (23.03.2023)
  • Модуль переведен на PHP 8.
  • Устранена проблема с зацикливанием колонок при создании таблиц
3.2.1 (06.03.2023)
    Модуль переведен на PHP 8.
3.2.0 ()
    Модуль переведен на PHP 8.
3.1.1 (23.03.2023)
  • Устранена проблема с зацикливанием колонок при создании таблиц
3.1.0 (12.05.2022) Добавлен перехват ошибки, если загружен битый шаблон исправлена работа с таблицами
3.0.5 (26.02.2021) Исправления для Битрикс: Управления сайтом
3.0.4 (20.02.2021) Добавлены языковые файлы для украинского ящыка.
3.0.3 (17.02.2021) Исправление ошибки отсутствия текущего пользователя.
3.0.2 ()
3.0.1 (12.03.2020) Метки в двойных фигурных скобках игнорируются
3.0.0 (01.01.1970) Добавлена возможность вставлять метки в двойных фигурных скобках
2.0.0 (11.09.2020) Добавлена поддержка БУСа
1.14.10 (18.02.2020) Добавлена обработка html текста Добавлен перехват ошибки, если загружен битый шаблон
1.14.9 (06.01.2020) Добавлена обработка html текста Добавлен перехват ошибки, если загружен битый шаблон
1.14.8 (24.01.2019) Добавлена обработка html в переменной
1.14.6 (11.10.2019) Добавлены проверки на наличие шаблонного файла и поступление входных данных в активити
1.14.5 (30.09.2019) В настройки активити возвращено поле для транслитерации цифр в текст
1.14.4 (13.09.2019) Исправлено: - модуль больше не продолжает работать после того, как истек демо период
1.14.3 (20.03.2019) Добавлена обработка длинных имен файлов
1.14.2 (17.01.2019) Проверяем корректность имени сохраняемого файла, при необходимости - приводим к корректному, а также проверяем на длину имя сохраняемого файла. Если длина выше 255 - ошибку в лог
1.14.1 (03.12.2018) Проверяем корректность имени сохраняемого файла, при необходимости - приводим к корректному
1.14.0 (29.11.2018) Добавлена возможность загрузки картинок со стороннего сервера
1.13.2 (30.08.2018) Изменен диалог выбора папки для сохранения
1.13.1 (20.07.2018) Изменен диалог выбора папки для сохранения
1.12.2 (15.05.2018) Добавлена обработка путей к шаблонам из облака
1.12.0 (09.04.2018) Added header and footer processing
1.11.0 (31.01.2018) добавлено поле для перевода транслитерации цифр в текст
1.10.0 (28.11.2017) добавлены английские lang-файлы.
1.9.0 (07.11.2017) Во вставляемы текст добавлено html - декодирование, для обработки не корректного текста - с различными спецсимволами
1.8.1 (03.10.2017) Во вставляемы текст добавлено html - декодирование, для обработки не корректного текста - с различными спецсимволами
1.8.0 (19.09.2017) Добавлены переводы для немецкого языка
1.7.1 (06.09.2017) 1. Добавлена проверка - если путь к файлу не начинается со слеша - обрабатывается корректно 2. Если указан ID папки на диске - то ID диска не учитывается 3. Добавлена совместимость с предыдущими версиями класса PHPWord
1.7.0 (31.08.2017) 1. Добавлена проверка - если путь к файлу не начинается со слеша - обрабатывается корректно 2. Если указан ID папки на диске - то ID диска не учитывается 3. Добавлена совместимость с предыдущими версиями класса PHPWord
1.6.1 (30.08.2017) 1. Добавлена проверка - если путь к файлу не начинается со слеша - обрабатывается корректно 2. Если указан ID папки на диске - то ID диска не учитывается 3. Добавлена совместимость с предыдущими версиями класса PHPWord
1.5.0 (31.07.2017) Теперь вместо пути к файлу-шаблону, можно поставить ID файла на диске - обработает с одинаковым успехом.
1.4.0 (20.07.2017) Добавлена вставка картинок в таблицу
1.3.0 (26.04.2017) Адаптировано к кодировке 1251
1.2.2 (03.04.2017) Адаптировано к кодировке 1251
Установка

1. Скачайте решение на Маркетплейсе.

2. Укажите путь для установки, нажмите Установить.

3. В административной части Битрикс нажмите Загрузить, затем Установить.

4. После окончания установки в Дизайнере бизнес-процессов появится новое действие – Генератор документов (в системе он может обозначаться как Документ word из шаблона [mcart]).

Внимание! Для корректной работы модуля в настройках php нужно включить расширения zip, xmlwriter и dom.

zip
если расширение php-zip не установлено, то устанавливаем
yum install php70*zip
если расширение уже установлено, то нужно подключить его в файле /etc/php.d/40-zip.ini, прописав там:
; Enable ZIP extension module
extension=zip.so //либо другой путь к zip.so (можно найти поиском), например extension=/opt/remi/php70/root/lib64/php/modules/zip.so

xmlwriter и dom
В папке /etc/php.d/ нужно перенести содержимое файла
20-xmlwriter.ini.disabled в 20-xmlwriter.ini
20-dom.ini.disabled в 20-dom.ini
Не забудьте перезагрузить веб-сервер и проверить применение настроек через phpinfo -i

Обратите внимание! Наши решения разработаны для сайтов/порталов с кодировкой UTF-8.

Модуль работает с версиями битрикса от 23.300.

Поддержка
Поддержка осуществляется по почте: support@mcart.ru
Либо на сайте через форму "Оставить заявку": http://www.mcart.ru/support/
(рабочие дни с 10 до 19 по Москве)

+7(812) 309-78-93  Санкт-Петербург
+7(499) 703-44-96  Москва
+442039361455      Лондон
19042709971          США

Читать о решении на сайте разработчика

Приложение для облачного Битрикс24

Другие решения разработчика

еще 12 решений

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки