Skip to main content
Version: 54.0.0

2.7.4. Шаблони електронних листів

Шаблони електронних листів — це функціональність для налаштування автоматизованих повідомлень у системі без необхідності програмування. Ця функціональність прийшла на заміну застарілому механізму Шаблони звітів та пропонує більш гнучкі можливості для налаштування комунікацій.

2.7.4.1. Створити шаблон електронних листів

  1. У панелі навігації, виберіть робочий стіл Студія 1.

  2. Виберіть групу ярликів Форми та шаблони 2, а потім виберіть ярлик Шаблони електронних листів 3.

  3. У панелі інструментів, виберіть + 4.

    Screenshot
  4. Заповніть поля 1, використовуючи підказки в таблиці нижче, а потім у панелі інструментів виберіть піктограму Зберегти або Зберегти та закрити 2.

    Screenshot
ПолеОпис
Код*Унікальний код шаблону електронного листа.
  • Код повинен бути унікальним.
  • Код повинен бути коротким (зазвичай до 10 символів).
  • Використовуйте тільки латинські букви та цифри.
Найменування*Зрозуміла назва шаблону, яка відображатиметься в інтерфейсі.
ОписКороткий опис призначення та особливостей використання шаблону.
Тип*Оберіть одне з двох значень:
  • Нотифікація процесу — використовується при відправці листа з завдання-сервіс у процесі.
  • Нотифікація завдання процесу — використовується при відправці листа з завдання користувача у процесі.
Пов'язана сутністьОберіть одне з двох значень:
  • Без прив'язки до сутності — для загальних повідомлень.
  • Документ — дозволяє використовувати атрибути документа в полях Тема листа та Тіло листа.
Тема листа*
  • Можна вписати статичний текст.
  • Щоб додати контент з пов'язаного документа використовуйте кнопку + Атрибут, потім у списку клацніть двічі на необхідний атрибут.
Screenshot
ℹ️ Примітка: Для атрибутів типів Дата та/або час і Число формати відображення значень встановлюються безпосередньо у шаблоні листа.
Тіло листа*
  • Ви можете ввести статичний текст безпосередньо в тіло електронного листа.

    У редакторі доступне гнучке форматування тексту, зокрема:

    • A накреслення
    • B вирівнювання
    • C стилі
    • D шрифт
    • E розмір шрифту
    • F колір шрифту
    • G колір фону
    • H форматування нумерованих та маркованих списків
    • I відступи від лівого краю

    Screenshot

    Також ви можете додавати таблиці A, посилання B чи зображення C.

    Screenshot

    За потреби ви можете переглянути та відредагувати HTML-вміст через меню Інструменти 1 > Вихідний код 2.

    Screenshot
  • Щоб додати контент із повʼязаного документа за допомогою змінних (якщо Повʼязана сутністьДокумент):
    1. Виберіть кнопку + Атрибут.
      Screenshot
    2. Оберіть папку атрибутів 1, з якої потрібно додати атрибут. Доступні: стандартні атрибути — у папці Документи, рольові атрибути — у папці Ролі, користувацькі атрибути — у відповідних користувацьких папках.
    3. Двічі клацніть на потрібний атрибут 2, щоб додати його до тіла електронного листа.
      Screenshot
    ℹ️ Примітка: На формі атрибут відображається у вигляді змінної, однак у надісланому електронному листі буде підставлено фактичне значення атрибута. Наприклад: на формі рольовий атрибут виглядатиме як {{ instance.mi_participantsCaption.watcher }}, але в листі буде відображено Шевченко Т. Г. (Бухгалтерія). Якщо один рольовий атрибут містить кілька значень, вони будуть записані через кому.
    ————————————————————————
    Звідки підтягуються значення змінних Передавання значень змінних у шаблоні електронного листа залежить від налаштувань автоматизації, визначених адміністратором. Це можливо налаштувати через бізнес-процес (з використанням змінних процесу, скриптів, сервісних або користувацьких завдань). Таким чином, у шаблоні можуть використовуватися як атрибути повʼязаного документа, так і значення, що формуються або змінюються під час виконання бізнес-процесу.
    Наприклад: у вкладці Події типу документа можна налаштувати оброблювач, який під час створення документа автоматично запускає повʼязаний процес. Під час старту процесу значення атрибутів документа передаються в змінні процесу. Далі процес передає ці значення у змінні в шаблонах електронних листів, і під час надсилання листа система підставляє фактичні значення, введені користувачем при створенні документа.
    ————————————————————————
  • Для типу Нотифікація завдання процесу ви також можете додати кнопки дій, які відображатимуться в листі.
  • Screenshot

ℹ️ Примітка: Для атрибутів типів Дата та/або час і Число формати відображення значень встановлюються безпосередньо у шаблоні листа:
  1. Клацніть на потрібний атрибут у тексті.
  2. Screenshot
  3. Оберіть піктограму 1.
  4. Оберіть бажаний Формат 2.
  5. Для атрибуту типу Дата та/або час оберіть Мову 3.
  6. Screenshot
Вкладення
це поле доступне якщо у полі Пов'язана сутність ви обрали Документ
За потреби ви можете додати до листа вкладення у вигляді файлів:
  1. Виберіть кнопку + Вкладення.
    Screenshot
  2. Виберіть папку атрибутів 1, з якої потрібно додати атрибут.
  3. Двічі клацніть на потрібний атрибут 2.
    Screenshot
  4. Після додавання вкладення виберіть піктограму для визначення параметрів завантаження вкладень.
    Screenshot
  5. Налаштуйте параметри вкладень:
    1. Установіть прапорець Архівувати як ZIP 1, якщо потрібно об’єднати всі вкладення в один ZIP-архів. Це зручно, коли лист містить декілька файлів.
    2. Установіть прапорець Сконвертовано в PDF 2, якщо файли необхідно автоматично конвертувати у формат PDF перед надсиланням.
    3. У секції Включити підписи 3 визначте, чи потрібно додавати електронні підписи до вкладень:
      • Ні — документи надсилаються без електронного підпису.
      • Так — до кожного вкладення додається електронний підпис у форматі .ps7. У результаті в електронному листі ви отримаєте два файли: сам документ (наприклад, .pdf) та окремий файл підпису з розширенням .p7s.
      • Як CAdES контейнер — в електронному листі надсилається один файл — PDF-документ із вбудованим електронним підписом.
        ℹ️ Примітка: Контейнер CAdES може бути створений лише для PDF-документа, який уже містить принаймні один електронний підпис.
    4. Виберіть Призначити 4.
      Screenshot
Примітка:

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

2.7.4.2. Налаштувати переклади шаблону електронних листів

Система дозволяє створювати багатомовні версії шаблонів електронних листів. Це забезпечує автоматичне надсилання повідомлень мовою, що відповідає локалізації платформи користувача-отримувача.


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


  1. У панелі навігації, виберіть робочий стіл Студія 1.

  2. Виберіть групу ярликів Форми та шаблони 2, а потім виберіть ярлик Шаблони електронних листів 3.

  3. Виберіть потрібний шаблон 4.

    Screenshot
  4. В секції Шаблон електронного листа виберіть кнопку Переклади.

    Screenshot
  5. В полі Мови 1 виберіть ті мови, переклад для яких бажаєте створити, а потім виберіть кнопку Призначити 2.

    Screenshot
    Примітка:

    якщо залишити це поле без змін, то лист буде перекладено лише для мови, яка встановлена як мова за замовчуванням у вашій платформі.

    Після цього, для кожної вибраної вами мови, з'явиться окрема вкладка, в кожній з яких, ви можете написати текст листа іншою мовою.

    Screenshot

2.7.4.3. Додати серверний скрипт до шаблону електронного листа

  1. У панелі навігації, виберіть робочий стіл Студія 1.

  2. Виберіть групу ярликів Форми та шаблони 2, а потім виберіть ярлик Шаблони електронних листів 3.

  3. Виберіть потрібний шаблон.

    Screenshot
  4. У панелі інструментів, виберіть піктограму .

    Screenshot
  5. В текстове поле, вставте одну з наступних функцій:

    Screenshot

transformData — витягнути інформацію з сутності в шаблон.

transformData({
data,
context,
lang
}) {
if (lang == 'en') {
data.values = JSON.stringify(context)
data.test = 'test'
data.allData = JSON.stringify(data)
}
// data.now = new Date()
// if (context.instance.ID) {
// const entityName = context.instance.$entity
// data.instance.caption = UB.Repository(entityName)
// .attrs(UB.App.domainInfo.get(entityName).getDescriptionAttribute())
// .where('ID', '=', context.instance.ID)
// .selectScalar()
// }
}

transformSubject — модифікувати тему листа.

Наприклад: у формі листа, в полі "Тема листа" ви можете задати змінну <currentYear>, тобто заповнювач для підставлення поточного року. А тоді за допомогою цього скрипта, ви можете підставити в змінну потрібне вам значення року.

/**
* Transform mail subject built by the subject template
*
* @param {object} params
* @param {string} params.subject Subject built by template
* @param {object} params.data Automatically loaded data by all used
expressions in subject/body templates
* @param {object} params.context Building email context
* @param {string} params.lang Language code in which email is building
* @returns {string}
*/
transformSubject({
subject,
data,
context,
lang
}) {
// return subject.replace('<currentYear>', new Date().getFullYear())
return subject.replace('<variable>', context.instance.attrValues.ms01)
}

transformBody — модифікувати тіло листа, наприклад, змінити його дизайн.

/**
* Transform mail body built by the subject template
*
* @param {object} params
* @param {string} params.body Body built by template
* @param {object} params.data Automatically loaded data by all used
expressions in subject/body templates
* @param {object} params.context Building email context
* @param {string} params.lang Language code in which email is building
* @returns {string}
*/
transformBody({
body,
data,
context,
lang
}) {
// return `<p style="background-color: green">${body}</p>`
return `<p><span style="background-color: #339966;">${body}</span></p>`
}

tranformAttachment — робота з вкладеннями, наприклад, додавати файлові атрибути, змінювати назви вкладень або ж задати в листі назву файлу.

/**
* Transform mail attachments built by the attachments config
*
* @param {object} params
* @param {Array<MailAttachment>} params.attachments
* @param {Array<MailAttachmentConfig>} params.attachmentsConfig
* @param {object} params.data Automatically loaded data by all used
expressions in subject/body templates
* @param {object} params.context Building email context
* @param {string} params.lang Language code in which email is building
* @returns {string}
*/
transformAttachments({
attachments,
attachmentsConfig,
data,
context,
lang
}) {
attachments.push(
...emailAttachmentLoader.loadAttribute({
documentID: context.instance.ID,
attribute: 'ms17',
signatures: 'container'
}),
{
attachName: 'myAttachment.docx',
data: 'content'
})
//attachments[0].attachName = 'Документ із скрипта.pdf'
/*
const ds = DataStore('dfx_Document')
ds.run('update', {
fieldList: [
'attrValues',
'mi_modifyDate',
'mi_modifyUser'
],
execParams: {
ID: context.instance.ID,
attrValues : JSON.stringify({
"ms02":JSON.stringify(attachments)
})
},
__skipRls: true,
__skipOptimisticLock: true
})
*/
})
  1. У панелі інструментів виберіть піктограму Зберегти або Зберегти та закрити.

2.7.4.4. Увімкнути функцію шаблонів електронних листів

У старіших версіях платформи функіцонал шаблонів електронних листів вимкнена за замовчуванням. Замість неї для надсилання повідомлень використовується застарілий механізм Шаблони звітів.


Однак ви можете активувати оновлену функціональність шаблонів, виконавши описані нижче налаштування:

  1. У панелі навігації, виберіть робочий стіл Адміністрування 1.

  2. Виберіть групу ярликів Налаштування 2, а потім виберіть ярлик Налаштування системи 3.

  3. Відкрийте запис "bpm.notification.useEmailTemplates" 4.

    Screenshot
  4. В полі Значення 1 введіть "true", а потім у панелі інструментів виберіть піктограму Зберегти або Зберегти та закрити 2.

    Screenshot
Примітка:

це налаштування застосовуватиметься лише до поточної локалізації платформи. Щоб налаштувати таке саме значення для всіх локалізацій виберіть піктограму , а потім введіть "true" у поля всіх мов.

2.7.4.4.1. Відключення нотифікації за замовчуванням

Щоб відключити нотифікації за замовчуванням, необхідно встановити одну з наступних комбінацій системних налаштувань:


Комбінація 1. Вимкнувши стандартний шаблон для призначення завдань
  1. На панелі навігації, виберіть робочий стіл Адміністрування 1.

  2. Виберіть групу ярликів Налаштування 2, а потім виберіть ярлик Налаштування системи 3.

  3. Відкрийте запис "bpm.notification.useEmailTemplates" 4.

    Screenshot
  4. В полі Значення 1 введіть "true", а потім у панелі інструментів виберіть піктограму Зберегти або Зберегти та закрити 2.

    Screenshot
    Примітка:

    це налаштування застосовуватиметься лише до поточної локалізації платформи. Щоб налаштувати таке саме значення для всіх локалізацій виберіть піктограму , а потім введіть "true" у поля всіх мов.

  5. Відкрийте запис "bpm.notification.assignee.assignment.defaultEmailTemplate" 5.

    Screenshot
  6. В полі Значення 1 очистіть значення, а потім у панелі інструментів виберіть піктограму Зберегти або Зберегти та закрити 2.

    Screenshot
    Примітка:

    це налаштування застосовуватиметься лише до поточної локалізації платформи. Щоб налаштувати таке саме значення для інших мов, змініть мову платформи, а тоді повторіть всі ті самі кроки.

Комбінація 2. Вимкнувши стандартне призначення завдання
  1. На панелі навігації, виберіть робочий стіл Адміністрування 1.

  2. Виберіть групу ярликів Налаштування 2, а потім виберіть ярлик Налаштування системи 3.

  3. Відкрийте запис "bpm.notification.useEmailTemplates" 4.

    Screenshot
  4. В полі Значення 1 введіть "false", а потім у панелі інструментів виберіть піктограму Зберегти або Зберегти та закрити 2.

    Screenshot
    Примітка:

    це налаштування застосовуватиметься лише до поточної локалізації платформи. Щоб налаштувати таке саме значення для всіх локалізацій виберіть піктограму , а потім введіть "false" у поля всіх мов.

  5. Відкрийте запис "bpm.notification.defaultAssignmentTask" 5.

    Screenshot
  6. В полі Значення 1 очистіть значення, а потім у панелі інструментів виберіть піктограму Зберегти або Зберегти та закрити 2.

    Screenshot
    Примітка:

    це налаштування застосовуватиметься лише до поточної локалізації платформи. Щоб налаштувати таке саме значення для інших мов, змініть мову платформи, а тоді повторіть всі ті самі кроки.

2.7.4.5. Встановити шаблон зі змінної процесу

Це може бути потрібно, якщо у вас в межах одного процесу є декілька завдань, які відправляють листи, і ви бажаєте використати для них різні шаблони. Підтримуються лише нові шаблони, шаблони звіту не підтримуються.

  1. Відкрийте потрібну дефініцію бізнес-процесу.

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

    Screenshot
  2. Виберіть завдання користувача, з якого бажаєте відправити сповіщення.

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

  4. В полі Призначити з виберіть Змінна процесу.

  5. В полі Змінна процесу введіть код потрібного шаблона електронних листів.

    Screenshot
  6. У панелі інструментів виберіть піктограму Зберегти або Зберегти та закрити.