2.12. Шаблони звітів
2.12. Шаблони звітів
Система надає можливість створювати звіти, які можна використовувати в якості шаблонів при відправці повідомлень (в користувацьких завданнях, в завданнях-сервісах відправка email). В звітах є можливість використовувати значення атрибутів завдання та документа та інших сутностей системи (за допомогою написання коду).
Для створення шаблону звіту необхідно в панелі навігації робочого столу Студія обрати папку Інструменти розробника далі Шаблони звітів, натиснути кнопку Додати.
Необхідно на вкладці Загальні заповнити поля, опис яких наведено у таблиці, та натиснути кнопку Зберегти.
| Назва поля | Опис |
|---|---|
| Модель* | Вводиться код моделі. Для користувацьких шаблонів рекомендовано використовувати код cust |
| Код звіту* | Код звіту |
| Назва* | Назва звіту |
Поля позначені символом "*" є обов'язковими до заповнення.
Після збереження звіту, на вкладці Шаблон доступний html-редактор в якому необхідно створити текст шаблону.
В тексті можна використовувати атрибути завдання та документа. Для цього використовується такий синтаксис:
- для стандартних атрибутів завдання:
{{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. Надіслати лист за допомогою шаблона звітів
Шаблони звітів є застарілим функціоналом. Ви можете використовувати Шаблони електронних листів, які є сучасним відповідником того ж функціоналу. Проте, якщо ви все ж бажаєте скористатись функціоналом Шаблони звітів, виконайте наступні дії:
-
Відкрийте дефініцію бізнес-процесу, сповіщення з якого, ви бажаєте налаштувати.
a. У панелі навігації, виберіть робочий стіл Студія 1.
b. Виберіть ярлик Бібліотека процесів 2.
c. Виберіть потрібну дефініцію 3.
-
Виберіть піктограму , щоб перейти в налаштування моделера.
-
Заберіть галочку Приховати можливість використання звітів в сповіщеннях 1, а потім виберіть кнопку Застосувати 2.
Після цього, ви зможете користуватись шаблонами як зазвичай, а саме:
-
На формі процесу, оберіть завдання користувача 1, з якого бажаєте відправити сповіщення.
-
В налаштуваннях завдання розгорніть секцію Сповіщення 2, а потім в полі Призначити з 3 виберіть Шаблон звіту.