Задать вопрос Связаться с нами
  • Главная
  • Услуги
    • Исправление ошибок
    • Доработка сайтов
    • Обслуживание сайтов
    • Техподдержка сайтов
    • Веб-разработка
    • Интернет-магазины
  • Модули
    • Антирутин
    • SEO - мастер
    • SMS-уведомления
    • Импорт данных
    • Простые отзывы
    • Утилиты от «Webdebug»
    • SMS-сообщения (Lite)

    • Все наши модули

    • Все модули Битрикс:Marketplace
  • Акции
  • Поддержка
  • Блог
  • О нас
    • Отзывы
    • Новости
    • Реквизиты

    • Контакты
  • Главная
  • Услуги
    • Исправление ошибок
    • Доработка сайтов
    • Обслуживание сайтов
    • Техподдержка сайтов
    • Веб-разработка
    • Интернет-магазины
  • Модули
    • Антирутин
    • SEO - мастер
    • SMS-уведомления
    • Импорт данных
    • Простые отзывы
    • Утилиты от «Webdebug»
    • SMS-сообщения (Lite)

    • Все наши модули

    • Все модули Битрикс:Marketplace
  • Акции
  • Поддержка
  • Блог
  • О нас
    • Отзывы
    • Новости
    • Реквизиты

    • Контакты
Главная
Модули «1С-Битрикс: Маркетплейс»
Категория: Решения для Битрикс24
«Генератор документов Pro»: модуль для 1С-Битрикс
mcart.gendoc

«Генератор документов Pro»: модуль для 1С-Битрикс

Разработчиком данного модуля является Эм Си Арт
Купить: 19 900 руб.
  • Описание
  • Установка
  • История
  • Техподдержка

  • Включает в себя: Модуль
  • Категории: Документы, Бизнес-процессы, Решения для Битрикс24
  • Название компании-партнера: Эм Си Арт
  • Последняя версия: 3.1.0
  • Дата обновления: 06.03.2023
  • Дата публикации: 03.03.2017
  • Число установок: 500 - 999 раз
  • Адаптивность: Нет
  • Поддержка композита: Нет
  • Совместимо с Сайты24: Нет

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

 Генератор документов формирует файлы с расширением .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. Скачайте решение на Маркетплейсе.

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.

  • 3.2.1, 06.03.2023 beta
      Модуль переведен на PHP 8.
  • 3.2.0, beta
      Модуль переведен на PHP 8. Теперь для доступа к папке сущности, достаточно перейти во вкладку "Диск".
  • 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.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
Поддержка осуществляется по почте: support@mcart.ru
Либо на сайте через форму "Оставить заявку": http://www.mcart.ru/support/
(рабочие дни с 10 до 19 по Москве)

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

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

Приложение для облачного Битрикс24
Ссылки
  • Главная
  • Модули
  • Акции
  • Услуги
  • Отзывы
  • Блог
  • Новости
  • Контакты
  • Реквизиты
Поиск по сайту
Наши контакты

По всем вопросам обращайтесь:

Электронная почта: info@webdebug.ru

Telegram: webdebug

WhatsApp: +79882410850

Форма обратной связи

Webdebug Bitrix certified
Webdebug QR-code
© ООО «Веб дебаг», 2011 – 2023. Политика конфиденциальности.
×
У Вас вопрос?
Загрузка ...
×
Связаться с нами
Загрузка ...
×
Установка модуля

Внимание! Повторная установка в демо-режиме приведет к окончанию демо‑режима и невозможности использовать модуль.

×
Запрос на приобретение
и настройку модуля
Загрузка ...