0  /  45

Конструктор документов для Битрикс24 (коробочная версия)

Содержание

Установка

Для корректной работы модуля требуется создание списка собственных юридических лиц и пользовательских полей для CRM:Компания. Все необходимые сущности могут быть созданы автоматически. Если откажитесь от автоматического создания, Вам нужно будет создать все необходимые сущности вручную и выставить соответствие полей в настройках модуля.




Требования к серверу

Для корректной работы решения необходима установка модуля DOM/XML (dom.so) на Ваш сервер.

Если Вы планируете использовать внешний сервер для генерации DOCX:
  • Если Ваш портал работает в локальной сети, для использования внешнего сервиса генерации DOCX требуется разрешить доступ к сайту apps.htmls.ru.
  • Ваш сервер должен поддерживать cURL расширение PHP.

Общие настройки

В общих настройках модуля требуется:
  • указать список, в котором хранятся шаблоны для генерации DOCX-документов внутренним конструктором.
  • указать диск, куда будут сохраняться новые документы по умолчанию.
  • отметить флаг удаления документов при удалении бизнес-процесса. Это может потребоваться на период отладки и внедрения модуля.
  • Выводить все суммы без копеек - автоматически форматирует все суммы, в том числе и прописью, для всех документов.
  • Точность количества в документах - устанавливает количество знаков в дробной части количества.
  • Падеж для вывода полного ФИО - падеж, в который будет склоняться полное ФИО контакта при создании документов.
  • Нумераторы договоров - используется для экспорта в 1С.

Внешний сервер генерации DOCX

Вы можете создавать документы в формате DOCX на основании того же HTML-шаблона, что и PDF.
Для реализации этой функции Ваш сервер должен поддерживать библиотеку PHP cURL и иметь доступ к серверу генерации документов https://www.htmls.pw/


Все данные, которые передаются на наш сервер шифруются и передаются с поддержкой SSL.
Если Вы хотите использовать свой сервер для генерации DOCX, Вы можете приобрести его у нас. Стоимость решения 300 евро.

Собственные юр. лица

Настройки списка собственных юридических лиц. Если при установке модуля Вы выбрали автоматическое создание списка юридических лиц, эти настройки можно опустить. В противном случае установите соответствие для каждого реквизита.

CRM: Компания

Настройки пользовательских полей CRM: Компания. Если при установке модуля Вы выбрали автоматическое создание пользовательских полей, эти настройки можно опустить. В противном случае установите соответствие для каждого реквизита.


Меню

После установки модуль доступен по адресу ваш_портал/apps/htmls.docdesigner/


Модуль автоматически добавляет пункт меню в файл .left.menu_ext.php
Если пункт меню не появился сразу, попробуйте обновить кеш компонентов.

Справочники

Для работы модуля используется четыре справочника (универсальных списка).

Журнал документов

Список: Журнал документов не рекомендуется использовать для работы "чистом" виде, т.к. он содержит служебную и закодированную информацию.

Для работы с журнал документов используется специальный интерфейс для этого списка, который доступен через меню "Конструктор документов"

Собственные юр. лица

Список "Собственные юридические лица" предназначен для ведения списка собственных компаний.


Количество компаний не ограничено.
Вы можете загрузить логотип, факсимиле и использовать эти данные для заполнения документов.

Нумераторы

Список "Нумераторы" предназначен для хранения и настройки шаблонов нумерации документов.

Шаблоны DOCX

Список "Шаблоны для Конструктора документов" предназначен для хранения DOCX-шаблонов, на основании которых можно создавать DOCX-документы с помощью внутренних ресурсов модуля.

Действия бизнес-процесса

В своей работе модуль использует специально подготовленные действия бизнес-процессов.
Создание PDF / DOCX документов на основании HTML - шаблона
Создание DOCX документов на основании DOCX - шаблона
Отложенная нумерация документов
Отправка документов по электронной почте
Выбор целевой папки для документа


Создание PDF/DOCX на основании HTML

Данное действие предназначено для создания документа в формате PDF или DOCX, в случае использования внешнего сервера генерации DOCX.

Шаблон - обязательный параметр. Вы можете выбрать один из шаблонов, доступных для текущего бизнес-процесса или один из общих.
Нумератор - используется для нумерации документов. Если нумератор не указывать документ будет без номера (б/н).
Создать оригинал без факсимиле - если в документе используется факсимиле, можно создать копию документа без факсимиле. Достаточно отметить этот флаг.
Диск и папка - Вы можете выбрать расположение будущего документа. Сначала выбираете один из доступных дисков. После выбора диска динамически подгружаются все папки с учетом иерархии.
Создать счет CRM - если в качестве шаблона используется бланк счета, Вы можете создать объект "Счет" в CRM.
Размер шрифта - размер шрифта итогового документа.
Формат документа - данное поле отображается только в случае использования внешнего сервера генерации DOCX. Здесь можно указать нужный формат. В противном случае формат PDF.

Создание DOCX на основании DOCX

Данное действие предназначено для создания документа в формате DOCX на основании DOCX-шаблона.

Шаблон - не обязательный параметр. Вы можете выбрать один из шаблонов, сохраненных в списке.
Нумератор - используется для нумерации документов. Если нумератор не указывать документ будет без номера (б/н).
Диск и папка - Вы можете выбрать расположение будущего документа. Сначала выбираете один из доступных дисков. После выбора диска динамически подгружаются все папки с учетом иерархии.

Отложенная нумерация

Вы можете создать проект документа без номера, согласовать его с клиентом и присвоить текущий номер, когда это будет необходимо.
Для этого используется действие "КД: Присвоение номера"
Разместите это действие в нужном месте шаблона бизнес-процесса после действия генерации документа


Далее требуется настроить действие, указав документ, которому требуется присвоить номер.


Ссылка на документ примет подобный вид

Отправка документов по e-mail

Созданный документ можно отправить по электронной почте.
Добавьте в шаблон действие "КД: Отправить по e-mail"

Можно настроить параметры действия, установив значения по умолчанию для темы и текста письма.

Выбор файлов для отправки

При использовании действия "Отправка документов по e-mail" бизнес-процесс становится на паузу для выбора файлов для отправки.


В задании "Отправить файлы" Вы можете выбрать получателей, задать тему и содержимое письма, а также указать какие файлы требуется отправить.


Отправленное письмо отображается в ленте CRM.

Выбор папки для документа

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

Для этого достаточно поместить блок "КД: Выбор папки" непосредственно перед созданием документа.

Для корректной работы сначала необходимо выбрать диск

В фоновом режиме подгрузится список доступных папок для этого диска

Создание документов

Модуль "Конструктор документов" создает документы только в рамках бизнес процесса.
Для создания документа нужно настроить бизнес-процесс и выбрать необходимые действия.
Например,

Шаблоны документов

Модуль поддерживает создание документов на основании двух типов шаблонов: HTML и DOCX.
В зависимости от типа шаблона выбирается способ редактирования и формат выходного документа.
Тип шаблонаHTMLDOCX
Способ редактированияВстроенный редактор. Запускается в редакторе бизнес-процессов.
Внешний редактор. Рекомендуется использовать Google Docs.
Формат документаPDF и/или DOCX *DOCX
Добавление переменныхС помощью контекстного меню.
Вручную.
* - в случае использования внешнего сервера генерации DOCX


HTML- шаблон

HTML- редактор шаблонов запускается в редакторе бизнес-процессов. Выберите нужный бизнес-процесс или создайте новый. Редактор будет доступен по кнопке


Вы можете выбрать один из существующих шаблонов или создать новый. Количество шаблонов не ограничено.

"Тело" шаблона

"Тело" шаблона представляет собой обычный html- документ, который может содержать текст, таблицы, элементы форматирования и переменные.


Параметры шаблона

Укажите параметры будущего документа: название шаблона, ориентацию страницы (книжная/альбомная).
Параметр "общий шаблон" позволяет использовать данный шаблон во всех однотипных бизнес-процессах.

Визуальный редактор

Визуальный редактор содержит наиболее используемые элементы форматирования.

Иконка HTML предназначена для просмотра и правки исходного html- кода шаблона.

Контекстное меню

Для добавления в шаблон параметров и переменных  бизнес-процесса, параметров CRM предназначено контекстное меню. Меню доступно при нажатии правой кнопки мыши в нужном месте.

Таблица товаров

В одном PDF-шаблоне Вы можете использовать несколько таблиц (<table>) для удобства редактирования. Например, счет у нас состоит из трех таблиц: шапка, спецификация, подвал.

Для автоматического вычисления итога по спецификации требуется выделение подвала в отдельный тег <tfoot> Данный вставки данного тега в шаблон необходимо переключить в режим html-редактирования. В html-форме шаблона необходимо разместить закрывающий тег </tbody> перед строкой, содержащей итоги по спецификации. Данная строка должна начинаться с тега <tfoot>

DOCX- шаблон

DOCX- шаблон - это обычный docx- документ. В нужные места необходимо добавить переменные в формате ${ИМЯ_ПЕРЕМЕННОЙ}
В качестве редактора шаблона лучше использовать Google Docs.

Переменные DOCX

Предопределенные переменные
Название переменнойОписаниеИмя параметра бизнес-процесса
${DOGOVOR_NUMBER}Номер договора. Заполняется автоматически.
${DOGOVOR_DATE}Дата договора. Заполняется автоматически текущей датой.
${OWN_COMPANY_NAME}Наименование собственного юридического лица (Исполнитель, Поставщик)
${OWN_COMPANY_PERSON_FULL_NAME}Полное ФИО представителя собственного юр. лица, которое подписывает договор
${OWN_COMPANY_PERSON_SHORT_NAME}Фамилия И.О. подписывающего документы
${COMPANY_NAME}Наименование компании (Заказчик, Покупатель) Заполняется из профиля компании, к которой привязана текущая сделка
${COMPANY_PERSON_FULL_NAME}Полное ФИО представителя компании, которое подписывает договор. Заполняется из параметров бизнес-процесса
DocDesignerPerson
${COMPANY_PERSON_SHORT_NAME}Фамилия И.О. подписывающего документы со стороны Компании
DocDesignerPerson
${DOGOVOR_SUM}Сумма договора. Может вычисляться автоматически или заполнятся из параметров бизнес-процессаDOGOVOR_SUM
${n0_WORK_LIST}
${n1_WORK_LIST}
...
${n9_WORK_LIST}

...
Список работ по договору. Тип "Строка". "Множественный" = "Да"WORK_LIST
${n0_PRODUCT_NAME}
${n1_PRODUCT_NAME}
...
${n9_PRODUCT_NAME}

...
Список продуктов по договору. Тип "Строка". "Множественный" = "Да"
или
Товары из сделки
ProductID

Префикс номераDocDesignerNumberPrefix

Ссылка на договор с компаниейDocDesignerCompanyContract


${OWN_COMPANY_OGRN}ОГРН собственного юр. лица
${OWN_COMPANY_INN}ИНН собственного юр. лица
${OWN_COMPANY_KPP}КПП собственного юр. лица
${OWN_COMPANY_ADDRESS_LEGAL}Юридический адрес собственного юр. лица
${OWN_COMPANY_ADDRESS}Фактический адрес собственного юр. лица
${OWN_COMPANY_POST_ADDRESS}Почтовый адрес собственного юр. лица
${OWN_COMPANY_PHONE}Телефоны собственного юр. лица
${OWN_BANK_RS}Расчетный счет собственного юр. лица
${OWN_BANK_NAME Наименование банка собственного юр. лица
${OWN_BANK_CITY}Город банка собственного юр. лица
${OWN_BANK_KS}Корр. счет банка собственного юр. лица
${OWN_BANK_BIK}БИК банка собственного юр. лица
${COMPANY_OGRN}ОГРН компании (из справочника CRM: Компании)
${COMPANY_INN}ИНН компании (из пользовательских полей справочника CRM: Компании)
${COMPANY_KPP}КПП компании (из пользовательских полей справочника CRM: Компании)
${COMPANY_PHONE}Телефоны компании (из пользовательских полей справочника CRM: Компании)
${BANK_RS}Расчетный счет компании (из пользовательских полей справочника CRM: Компании)
${BANK_NAME Наименование банка компании (из пользовательских полей справочника CRM: Компании)
${BANK_CITY}Город банка компании (из пользовательских полей справочника CRM: Компании)
${BANK_KS}Корр. счет банка компании (из пользовательских полей справочника CRM: Компании)
${BANK_BIK}БИК банка компании (из пользовательских полей справочника CRM: Компании)
${COMPANY_ADDRESS_LEGAL}
${COMPANY.ADDRESS_LEGAL}
Юридический адрес компании, которые формируется автоматически из составляющих полей по правилу: индекс, страна, область, регион, город, улица, дом
${COMPANY_POST_ADDRESS}
${COMPANY.POST_ADDRESS}
Фактический адрес компании, которые формируется автоматически из составляющих полей по правилу: индекс, страна, область, регион, город, улица, дом

Для компаний доступно использование всех системных полей. Поддерживается два формата формирования переменной:
  • ${COMPANY_ИдентификаторПараметра} (подчеркивание)
  • ${COMPANY.ИдентификаторПараметра} (точка) 

Правила преобразования переменных
_DATE => форматируется, как дата: 15 мая 2012
_SUM => форматируется, как число: 48 900,00
_SUM_SPELLING => форматируется, как сумма прописью: сорок восемь тысяч девятьсот рублей 00 копеек

Параметры бизнес процесса преобразуются в переменные по следующему правилу ${ИМЯ_ПАРАМЕТРА}

Пример использования переменных и параметров бизнес-процесса можно посмотреть в примере шаблона.

Таблица товаров

Для вывода таблицы товаров используется шаблон таблицы с максимально возможным количеством строк. При формировании документа лишние строки будут удалены.
Нумерация строк в таблице начинается с нуля.

Доступно использование следующих переменных:
${n0_PRODUCT_NAME}Наименование товара
${n0_PRODUCT_AMOUNT}Количество
${n0_PRODUCT_PRICE_NO_VAT}Цена без НДС
${n0_PRODUCT_PRICE}Цена с НДС
${n0_PRODUCT_SUM_NO_VAT}Сумма без НДС
${n0_PRODUCT_SUM}Сумма с НДС
${n0_PRODUCT_VATRate}Величина НДС
${n0_PRODUCT_SumVAT}Сумма НДС
${n0_PRODUCT_MEASURE}Единица измерения
${n0_PRODUCT_DiscountRate}Величина скидки
${n0_PRODUCT_DiscountSum}Сумма скидки


Редактор MS Word

Очень часто при редактировании DOCX- шаблона средствами MS Word возникает "проблема" неработающей переменной. Это происходит по причине того, что MS Word "разбивает" переменную на части.
Пример: при подготовке договора переменная ${DOGOVOR_SUM_2} была разбита на три части:
  • ${DOGOVOR_SUM_
  • 2
  • }

В этом случае, при формировании выходного документа, не происходит заполнение переменной ${DOGOVOR_SUM_2}


Для устранения этой ошибки можно воспользоваться XML- редактором Serna Free Open Source XML Editor и удалить лишние узлы, сформировав корректное имя переменной.

Редактировать нужно файл /word/document.xml, который содержится внутри docx-файла.

Автоматическое исправление шаблона

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

Параметры бизнес-процесса

Для своей работы модуль использует несколько предопределенных параметров.
Идентификатор параметра
Описание
Тип параметра
DocDesignerCompany

Данный параметр предназначен для выбора собственного юридического лица. Если Вы создаете документы от имени только одного юр. лица, использовать этот параметр не обязательно.
DocDesignerDogTemplateID

Данный параметр используется только для указания шаблона в формате DOCX. Этот параметр не обязателен и может использоваться в качестве переменной для задания шаблона по умолчанию.
DocDesignerNumberPrefix

Параметр используется для задания префикса нумерации.
DocDesignerDocumentSection

Это служебный параметр, который используется для позиционирования документа в папке. Использовать его напрямую не рекомендуется.
DocDesignerAutoNumber

Данный параметр используется для отложенной нумерации. Если Вы хотите что-бы модуль присвоил номер сразу, использовать этот параметр не нужно.
DocDesignerCompanyContract

Параметр используется для создания приложений к договору. Договор можно создать в рамках бизнес-процесса компании. Далее, в рамках бизнес-процесса сделки можно создать приложения к договору, присвоив им порядковые номера. При запуске бизнес-процесса будет сформирован список договоров компании.
DocDesignerPerson

Данный параметр используется в качестве контактного лица при формировании документов. В сделках этот параметр может быть опущен, в этом случае будет использовать контакт из сделки.


Нумерация документов

Модуль поддерживает автоматическую нумерацию документов.
Нумерация происходит на основании шаблона нумератора. Нумераторы хранятся в "Списки" - "Нумераторы"

Настройка нумератора

Нумератор - это шаблон для создания номера документа.
Шаблон может содержать переменные, текстовые константы, произвольные символы.

Шаблон номера - обязательный параметр.
{NUMBER} - главная переменная. Все остальные настройки касаются только ее.
{MONTH} - порядковый номер месяца в формате 01, 02, ... , 11, 12
{YEAR} - текущий год в формате 2015, 2016 и т.д.
{PREFIX} - переменная, которая заполняется параметром бизнес-процесса DocDesignerNumberPrefix
Длина номера - параметр, отвечающий за длину номера и позволяющий добавлять "лидирующие" нули слева от значения.
Сброс нумерации в начале года - Y - каждый год нумерация будет начинаться с 1.
Начальное значение - если Вы хотите продолжить уже начатую нумерацию, введите в этом поле значение, с которого нужно начать нумерацию. Начальное значение нужно вводить без лидирующих нулей. Начальное значение учитывается только при формировании первого документа. Если с данным нумератором есть хотя-бы один сохраненный документ, данное значение игнорируется.
Уникальность в рамках договора - Если значение равно Y, это означает уникальность в рамках объекта CRM, например, сделки. Этот параметр удобно использовать для нумерации приложений.
Общий для всех юридических лиц -  по умолчанию каждое юридическое лицо имеет свою уникальную нумерацию. Если значение равно Y, то нумерация идет без учета юридических лиц.

Примеры

Договор с поэтапной оплатой

В данном примере описывается создание шаблона бизнес-процесса с поэтапной оплатой договора и автоматическим  выставлением счетов по каждому этапу.

Параметры бизнес-процесса

Важными параметрами данного бизнес-процесса является набор переменных DOGOVOR_SUM_1, DOGOVOR_SUM_2, DOGOVOR_SUM_3.
В общем случае, таких переменных должно быть столько, сколько планируется этапов оплаты.

Переменные бизнес-процесса

Для корректной работы цикла выставления счетов требуется добавить несколько переменных бизнес-процесса

INVOICE_SUBJECT - предмет выставляемого счета
PAYMENT_STAGE - этап оплаты (1,2,...)
PAYMENT_STAGE_SUM - сумма счета

Перед циклом формирования счетов необходимо выполнить первоначальную инициализацию переменных.
Перед началом запуска цикла выставления счетов, необходимо установить значение переменной PAYMENT_STAGE = 1 (Оплата первого этапа) и PAYMENT_STAGE_SUM = параметр бизнес-процесса DOGOVOR_SUM_1. При выполнении цикла выставления счетов эти переменные будут изменяться автоматически.

Цикл выставления счетов

Настройка действия "цикл выставления счетов"


В общем случае значение переменно, которое проверяется при выполнении цикла, должно быть на 1 больше количества этапов оплаты.

Установка примера

Вы можете установить данный пример из рабочей области "Конструктора документов"

CRM.Диск

CRM.Диск - это набор шаблонов для CRM, который позволяет увидеть все документы, привязанные к конкретной сделке, компании, контакту.

CRM.Диск работает так, что один и тот же файл может быть виден в разных сущностях CRM. Например, если Вы создали файл для сделки, то он будет доступен и в сделке, и в компании, и в контакте, при условии, что компания и/или контакт указаны в сделке

Пользовательские поля

Для корректной работы шаблона требуется создать суррогатное пользовательское поле. Тип можно указать любой. В процессе редактирования элемента CRM это поле лучше оставить пустым. В этом поле можно указать любой значение, при просмотре элемента оно не будет учитываться.

Для каждой сущности CRM нужно создать аналогичные поля.
Затем эти поля нужно указать в настройках модуля "Конструктор документов"

Шаблоны компонентов

Для каждого элемента CRM укажите соответствующий шаблон из списка шаблонов.


Если Вы уже настроили шаблоны отображения под себя, Вам достаточно скопировать один файл result_modifier.php из нашего шаблона в свой. Например, файл для диска сделок находится по адресу /bitrix/templates/.default/components/bitrix/crm.deal.show/htmls.deal.disk/ Файлы для остальных сущностей находятся в аналогичных папках.

Настройка формы

Для удобства просмотра файлов Вы можете настроить форму, добавив отдельную закладку и вынеся на нее добавленное ранее пользовательское поле.