Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

На вкладке Файлы выберите файл, соответствующий текущему статусу документа, и загрузите его на сервер, нажав кнопку .

Image RemovedImage Added

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

...

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

 


Шаблоны документов плагина Documents

...

Для создания нового шаблона документа щелкните на кнопку Новый элемент на стандартной панели инструментов. В появившемся редакторе заполните необходимые поля, выберите файл шаблона - документ в формате docx (предпочтительный формат), odt (на сервере должен быть установлен пакет LibreOffice), xlsx.

Image RemovedImage Added

На представленном выше рисунке отображены следующие поля:

  • Имя шаблона - имя шаблона документа;

  • Имя выходного документа - название документа, который будет сгенерирован и привязан к договору;

  • Файл шаблона - загружаемый шаблон документа в формате docx, odt, xlsx;

  • Комментарий к файлу - комментарий к загружаемому файлу шаблона;

  • Имя выходного файла - имя сгенерированного файла;

  • Комментарий к шаблону - комментарий шаблона;

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

  • Видимость шаблона в плагине - флаг того, что шаблон будет отображен на вкладке Документы в договоре;

  • Переменные - список переменных, содержащихся в файле шаблона документа;

  • Таблицы - список таблиц, которые требуется сгенерировать в файле шаблона документа.

  • Домены - настройка доступности шаблона документа на вкладке Документы карточки договора в зависимости от доменов.

Файл шаблона представляет собой текстовый документ, содержащий в своем тексте специальные последовательности, на место которых будут подставлены данные. Формат таких последовательностей имеет вид:

 


Блок кода
languageruby
linenumbersfalse
{имя_переменной} или {имя_переменной(значение_по_умолчанию)}

...

Динамический класс должен реализовывать интерфейс ru.bitel.bgbilling.plugins.documents.server.bean.pattern.TableDataExtractor и метод extractData( Connection con, int contractId, List<Map<String, String>> apiRowList ), который возвращает List<Map<String, String>>, т.е. список строк и содержимое столбцов в виде "ключ->значение". В качестве ключа выступает название столбца в строке-шаблоне.

Закладка Домены предназначена для настройки доступности шаблона документа оператору биллинга в зависимости от домена. Под доступностью понимается отображение создаваемого шаблона в выпадающем списке  шаблонов документов для генерации на вкладке Документы карточки договора. Действуют следующие правила: 

  1. Если в договоре не установлен домен и в настройках шаблона не проставлен ни один домен, то отображаются все доступные шаблоны
  2. Если в шаблоне проставлено несколько доменов и хотя бы один из них совпадает с установленным доменом договора, то такой шаблон отображается

При необходимости отображаемый список шаблонов документов можно отфильтровать самостоятельно с помощью динамического кода. Для этого необходимо написать обработки события "Запрос списка шаблонов документов для договора" (класс события ru.bitel.bgbilling.plugins.documents.server.bean.event.DocumentGetPatternListEvent). Добавить обработчик события можно через меню Сервис => Автоматизация => Функции скриптов поведения => вкладка Классы Java. Список шаблонов, сформированный в обработчике события, имеет бОльший приоритет независимо от настроек доменов договора и шаблона. В событии необходимо заполнить список шаблонов, используя следующие методы события:

Блок кода
languagejava
titleДоступные методы события "Запрос списка шаблонов документов для договора"
collapsetrue
/**
	 * Установка списка шаблонов, заполненного скриптами. Перетирает
	 * список шаблонов, сформированный штатным механизмом, включающим
	 * фильтрацию по домену. Используется только при формировании списка
	 * шаблонов в карточке договора.
	 *
	 * @param patternList
	 *      список шаблонов, сформированный скриптами.
	 */
	public void setPatternList( List<DocumentPattern> patternList )

	/**
	 * Добавление шаблонов поштучно в скриптах. Может быть удобно при формировании
	 * списка в циклах. По итогу формируется список шаблонов, который перетирает
	 * список шаблонов, сформированный штатным механизмом, включающим
	 * фильтрацию по домену. Используется только при формировании списка
	 * шаблонов в карточке договора.
	 * @param pattern
	 *      одиночный шаблон.
	 */
	public void addPattern(DocumentPattern pattern)


Замечения:

  1. Рекомендуется использовать в качества шаблона документа файл Microsoft Office с расширением docx.

  2. При использовании в качества шаблона документа файл с расширением odt необходимо, чтобы на сервере был установлен пакет LibreOffice. Также необходимо учитывать, что при использовании данного формата файла возможно искажение форматирования документа.

  3. При использовании в качестве шаблона документа файл с расширением xlsx будет производиться подстановка ТОЛЬКО переменных в таблице на всех листах книги.

...