...
На вкладке Файлы выберите файл, соответствующий текущему статусу документа, и загрузите его на сервер, нажав кнопку
.В дальнейшем вы можете загружать новые версии документа и выгрузить любое его состояние, выбрав строку в таблице и нажав на кнопку
....
Для отправки документов по почте необходимо выбрать Отправить файл по почте в контекстном меню, которое можно вызвать кликом правой клавишей мыши по желаемому файлу. В появившемся окне можно выбрать почтовые ящики или ввести их вручную. После Далее необходимо нажать кнопку Ok.
Шаблоны документов плагина Documents
...
Для создания нового шаблона документа щелкните на кнопку Новый элемент на стандартной панели инструментов. В появившемся редакторе заполните необходимые поля, выберите файл шаблона - документ в формате docx (предпочтительный формат), odt (на сервере должен быть установлен пакет LibreOffice), xlsx.
На представленном выше рисунке отображены следующие поля:
Имя шаблона - имя шаблона документа;
Имя выходного документа - название документа, который будет сгенерирован и привязан к договору;
Файл шаблона - загружаемый шаблон документа в формате docx, odt, xlsx;
Комментарий к файлу - комментарий к загружаемому файлу шаблона;
Имя выходного файла - имя сгенерированного файла;
Комментарий к шаблону - комментарий шаблона;
Динамический класс - Java-класс, в котором возможно определить логику получения данных для шаблона;
Видимость шаблона в плагине - флаг того, что шаблон будет отображен на вкладке Документы в договоре;
Переменные - список переменных, содержащихся в файле шаблона документа;
Таблицы - список таблиц, которые требуется сгенерировать в файле шаблона документа.
- Домены - настройка доступности шаблона документа на вкладке Документы карточки договора в зависимости от доменов.
Файл шаблона представляет собой текстовый документ, содержащий в своем тексте специальные последовательности, на место которых будут подставлены данные. Формат таких последовательностей имеет вид:
Блок кода | ||||
---|---|---|---|---|
| ||||
{имя_переменной} или {имя_переменной(значение_по_умолчанию)} |
...
Динамический класс должен реализовывать интерфейс ru.bitel.bgbilling.plugins.documents.server.bean.pattern.TableDataExtractor и метод extractData( Connection con, int contractId, List<Map<String, String>> apiRowList ), который возвращает List<Map<String, String>>, т.е. список строк и содержимое столбцов в виде "ключ->значение". В качестве ключа выступает название столбца в строке-шаблоне.
Закладка Домены предназначена для настройки доступности шаблона документа оператору биллинга в зависимости от домена. Под доступностью понимается отображение создаваемого шаблона в выпадающем списке шаблонов документов для генерации на вкладке Документы карточки договора. Действуют следующие правила:
- Если в договоре не установлен домен и в настройках шаблона не проставлен ни один домен, то отображаются все доступные шаблоны
- Если в шаблоне проставлено несколько доменов и хотя бы один из них совпадает с установленным доменом договора, то такой шаблон отображается
При необходимости отображаемый список шаблонов документов можно отфильтровать самостоятельно с помощью динамического кода. Для этого необходимо написать обработки события "Запрос списка шаблонов документов для договора" (класс события ru.bitel.bgbilling.plugins.documents.server.bean.event.DocumentGetPatternListEvent). Добавить обработчик события можно через меню Сервис => Автоматизация => Функции скриптов поведения => вкладка Классы Java. Список шаблонов, сформированный в обработчике события, имеет бОльший приоритет независимо от настроек доменов договора и шаблона. В событии необходимо заполнить список шаблонов, используя следующие методы события:
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
/**
* Установка списка шаблонов, заполненного скриптами. Перетирает
* список шаблонов, сформированный штатным механизмом, включающим
* фильтрацию по домену. Используется только при формировании списка
* шаблонов в карточке договора.
*
* @param patternList
* список шаблонов, сформированный скриптами.
*/
public void setPatternList( List<DocumentPattern> patternList )
/**
* Добавление шаблонов поштучно в скриптах. Может быть удобно при формировании
* списка в циклах. По итогу формируется список шаблонов, который перетирает
* список шаблонов, сформированный штатным механизмом, включающим
* фильтрацию по домену. Используется только при формировании списка
* шаблонов в карточке договора.
* @param pattern
* одиночный шаблон.
*/
public void addPattern(DocumentPattern pattern) |
Замечения:
Рекомендуется использовать в качества шаблона документа файл Microsoft Office с расширением docx.
При использовании в качества шаблона документа файл с расширением odt необходимо, чтобы на сервере был установлен пакет LibreOffice. Также необходимо учитывать, что при использовании данного формата файла возможно искажение форматирования документа.
При использовании в качестве шаблона документа файл с расширением xlsx будет производиться подстановка ТОЛЬКО переменных в таблице на всех листах книги.
...
В Web-интерфейсе клиент может посмотреть все связанные с ним документы в меню Документы и загрузить их.
Отправка ссылки на файлы документа
С версии 9.2204+ доступна возможность отправить ссылку на файл(ы) документа по E-mail с последующим скачиванием файла без авторизации в ЛК.
Отправка ссылки возможна из редактора документа по клику на соответствующую иконку или из контекстного меню "Отправить ссылку на файлы по почте"
Если нужно отправить только некоторые из файлов документа их необходимо предварительно выбрать, если файлы не выбранные по ссылке будет доступен архив со всеми файлами документа.
При отправке через контекстное меню файл(ы) должны быть выбраны.
Если в документе содержится только один файл или был выбран только один файл, по ссылке будет доступен этот файл в том виде в каком он хранится в документе, если выбрано больше одного файла по ссылке будет доступен zip архив с файлами.
Для работы данной функции в конфигурации плагина необходимо задать параметр(ы)
Блок кода |
---|
# ссылка на скачивание файлов
documents.file.url=http[s]://host[:8080]/bgbilling/
# тема письма
#documents.file.email.subject=Ссылка на документ "{document.title}" |
Возможно задание времени жизни ссылки в секундах
Формат ссылки:
http[s]://host[:8080]/bgbilling/docs/3162:4872-1649776743-0-68ec7f02f52048a0c460e2e776b3f57d4e63a97668fa446b6eb93a772e00e52a
где
3162 - ID документа
4872 - ID файла(ов)
1649776743 - время создания ссылки
0 - время жизни ссылки ( 0 - бесконечно)
68ec7f02f52048a0c460e2e776b3f57d4e63a97668fa446b6eb93a772e00e52a - подпись