Skip to main content
Version: 54.0.0

2.12. Шаблони звітів

2.12. Шаблони звітів

Система надає можливість створювати звіти, які можна використовувати в якості шаблонів при відправці повідомлень (в користувацьких завданнях, в завданнях-сервісах відправка email). В звітах є можливість використовувати значення атрибутів завдання та документа та інших сутностей системи (за допомогою написання коду).


Для створення шаблону звіту необхідно в панелі навігації робочого столу Студія обрати папку Інструменти розробника далі Шаблони звітів, натиснути кнопку Додати.

Screenshot

Необхідно на вкладці Загальні заповнити поля, опис яких наведено у таблиці, та натиснути кнопку Зберегти.

Screenshot
Назва поляОпис
Модель*Вводиться код моделі. Для користувацьких шаблонів рекомендовано використовувати код cust
Код звіту*Код звіту
Назва*Назва звіту
Примітка:

Поля позначені символом "*" є обов'язковими до заповнення.

Після збереження звіту, на вкладці Шаблон доступний html-редактор в якому необхідно створити текст шаблону.

Screenshot

В тексті можна використовувати атрибути завдання та документа. Для цього використовується такий синтаксис:

  • для стандартних атрибутів завдання: {{task.сode}}, приклад: {{task.description}}
  • для стандартних атрибутів документа: {{ instance.сode }}, приклад: {{ instance.docNumber }}
  • для користувацьких атрибутів документа: {{ instance.attrValues.сode }}, приклад: {{ instance.attrValues.country }}

Також є можливість відправки користувачу файлу - вкладення з файлового атрибута документа (Образ документа, Файл, Додатки документа, Колекція). Для цього необхідно створити шаблон звіту та на вкладці Код додати такий код:

const {emailAttachmentLoader} = require('@unitybase/dfx')
exports.reportCode = {
buildReport(data) {
data.addAttachment(
emailAttachmentLoader.loadNativeAttribute({
// documentID: data.task.variables.$ID,
documentID: data.task.objectID || data.task.variables &&
data.task.variables.$ID,
// documentID: data.process.objectID,
attribute: 'docImage',
PARAMETERS
})
)
return this.buildHTML(data)
}
}

В коді використовуються такі параметри:

  • emailAttachmentLoader.loadNativeAttribute або emailAttachmentLoader.loadAttribute в залежності від типу файлового атрибута (Стандартний чи Користувацький)
  • attribute - код атрибута

Приклади:

Образ документа: emailAttachmentLoader.loadNativeAttribute, attribute: 'docImage' Додатки документа: emailAttachmentLoader.loadNativeAttribute, attribute: 'attachments' Файловий атрибут: emailAttachmentLoader.loadAttribute, attribute: 'a001', де а001 - це код атрибута

PARAMETERS - тут задаються додаткові параметри для файлу, перелік наведено в таблицях нижче.

Параметр converted

Відправляти конвертований або вихідний файл (для doc/docx)

ЗначенняОпис
converted: trueбуде відправлено сконвертований файл, наприклад: якщо в атрибуті завантажено docx, то прийде pdf
converted: falseбуде відправлено вихідний файл, наприклад: якщо в атрибуті завантажено docx, то прийде docx
параметр не заданотеж саме що і converted: false

Параметр signatures параметр-signatures}

Відправляти підписи до файлу

Примітка:

Підписи можуть будти відправлені тільки з вихідним файлом, який був підписаний. Тому параметр signatures не може бути використаний з converted: true. Можна використовувати converted: false або не задавати параметр converted

ЗначенняОпис
signatures: trueБуде відправлено вихідний файл разом з підписами до нього
signatures: falseБуде відправлено тільки вихідний файл
параметр не заданотеж саме що і signatures: false
signatures: 'container'Відправка підписів з pdf файлів у вигляді контейнеру. Якщо файл не підписано - буде відправлено тільки pdf файл, якщо підписано - файл та підпис в контейнері. Може використовуватись тільки за умови, що вихідний файл має формат pdf. ℹ️ Примітка: Параметр не застосовується разом з converted та signatures: true/false.

Параметр zip

Відправка вмісту в форматі zip архіву

Примітка:

Може використовуватись разом з параметрами converted та signatures

ЗначенняОпис
zip: trueБуде відправлено zip архів
zip: falseБудуть відправлені не заархівовані вкладення
параметр не заданотеж саме що і zip: false

Параметр version

Можливість відправки версії файлу

ЗначенняОпис
version: 2Буде відправлено 2 версію файлу

Приклади

Відправка Образу документа з підписами в форматі zip

const {emailAttachmentLoader} = require('@unitybase/dfx')
exports.reportCode = {
buildReport(data) {
data.addAttachment(
emailAttachmentLoader.loadNativeAttribute({
// documentID: data.task.variables.$ID,
documentID: data.task.objectID || data.task.variables &&
data.task.variables.$ID,
// documentID: data.process.objectID,
attribute: 'docImage',
converted: false,
signatures: true,
zip:true
})
)
return this.buildHTML(data)
}
}

Відправка Додатків документа у вигляді pdf контейнера

const {emailAttachmentLoader} = require('@unitybase/dfx')
exports.reportCode = {
buildReport(data) {
data.addAttachment(
emailAttachmentLoader.loadNativeAttribute({
// documentID: data.task.variables.$ID,
documentID: data.task.objectID || data.task.variables &&
data.task.variables.$ID,
// documentID: data.process.objectID,
attribute: 'attachments',
signatures: 'container'
})
)
return this.buildHTML(data)
}
}

Відправка файлового атрибута з кодом a001, 3-ї версії разом з підписами

const {emailAttachmentLoader} = require('@unitybase/dfx')
exports.reportCode = {
buildReport(data) {
data.addAttachment(
emailAttachmentLoader.loadAttribute({
// documentID: data.task.variables.$ID,
documentID: data.task.objectID || data.task.variables &&
data.task.variables.$ID,
// documentID: data.process.objectID,
attribute: 'a001',
signatures: true,
version: 3
})
)
return this.buildHTML(data)
}
}

Відправка другої версії файлів з атрибута "Додатки документа"

const {emailAttachmentLoader} = require('@unitybase/dfx')
exports.reportCode = {
buildReport(data) {
data.addAttachment(
emailAttachmentLoader.loadNativeAttribute({
documentID: data.task.objectID,
attribute: 'attachments',
version: 2
})
)
return this.buildHTML(data)
}
}

2.12.1. Надіслати лист за допомогою шаблона звітів

Шаблони звітів є застарілим функціоналом. Ви можете використовувати Шаблони електронних листів, які є сучасним відповідником того ж функціоналу. Проте, якщо ви все ж бажаєте скористатись функціоналом Шаблони звітів, виконайте наступні дії:

  1. Відкрийте дефініцію бізнес-процесу, сповіщення з якого, ви бажаєте налаштувати.

    a. У панелі навігації, виберіть робочий стіл Студія 1.
    b. Виберіть ярлик Бібліотека процесів 2.
    c. Виберіть потрібну дефініцію 3.

    Screenshot
  2. Виберіть піктограму , щоб перейти в налаштування моделера.

    Screenshot
  3. Заберіть галочку Приховати можливість використання звітів в сповіщеннях 1, а потім виберіть кнопку Застосувати 2.

    Screenshot

    Після цього, ви зможете користуватись шаблонами як зазвичай, а саме:

  4. На формі процесу, оберіть завдання користувача 1, з якого бажаєте відправити сповіщення.

  5. В налаштуваннях завдання розгорніть секцію Сповіщення 2, а потім в полі Призначити з 3 виберіть Шаблон звіту.

    Screenshot