Назначение плагина Documents
Плагин предназначен для хранения документов, привязанных к договору клиента, и предоставления клиенту возможности загрузки документов через страницу Web-статистики. Также с помощью плагина есть возможность генерации документов в формате docx/xlsx/odt по заранее сформированному шаблону.
Установка и настройка плагина Documents
Плагин устанавливается с помощью утилиты bg_installer. После установки плагин должен быть активирован в меню Плагины=>Настройки плагинов и у него должна быть установлена конфигурация.
В конфигурации должно быть определено место на диске, где сервер биллинга будет хранить документы и шаблоны документов. Каталог должен быть доступен для записи пользователю, под которым запускается сервер биллинга. Также имеется возможность открытия файлов напрямую с расшаренной папки без скачивания, в случае необходимости.
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
# серверный путь, куда складируются файлы (корень)
file.storage.root.path=/var/billing_doc
# серверный путь, где будут расположены файлы шаблонов
file.storage.pattern.path=/var/billing_pattern
# путь, из которого могут открываться файлы
file.net.share.root.path=/var/billing_files
|
Также стандартно может задаваться название пункта меню
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
# наименование пункта меню в Web-интерфейсе
web.menuItem1=Документы |
Для задания статуса, который будет присваивается сгенерированным документам по умолчанию используется следующая опция:
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
#статус по умолчанию для сгенерированных документов
default.status=<код статуса из справочника статусов>
|
В случае использования в качестве шаблона документов файла в формате odt, необходимо указать полный путь до исполняемого файла LibreOffice
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
#путь до исполняемого файла
libre.path=
|
Для различных типов договоров возможно указать папку, которая будет открываться при выгрузке/загрузке файлов документа через клиент биллинга. Папка должна быть доступна с единым именем на всех машинах, где запускается клиент.
Блок кода |
---|
language | java |
---|
linenumbers | false |
---|
|
contract.type.<type_id>.prefix=<prefix>
contract.type.<type_id>.dir=<dir>
contract.type.<type_id>.extract.regexp=<regexp1>
contract.type.<type_id>.compare.regexp=<regexp2>
#автоматическое создание поддиректорий, если они не существуют
contract.type.<type_id>.dir.auto.create=<true|false>
|
Где:
- <type_id> - уникальный числовой идентификатор типа договора в пределах конфигурации;
- <prefix> - префикс номера договора;
- <dir> - доступный с клиентской машины общий каталог с подкаталогами договоров;
- <regexp1> - регулярное выражение для извлечения из номера договора ключевой последовательности;
- <regexp2> - регулярное выражение для определения подкаталога, с ключевым словом <EXTRACT>, заменяемым на извлечённую ключевую последовательность.
Например, файлы договоров x<номер> размещаются в каталогах /tmp/TT<номер>.
Блок кода |
---|
language | ruby |
---|
linenumbers | false |
---|
|
contract.type.1.prefix=x
contract.type.1.dir=/tmp
contract.type.1.extract.regexp=x(\d+)
contract.type.1.compare.regexp=TT<EXTRACT> |