При настройке шаблона процесса (см. Создание шаблона) в Comindware Business Application Platform есть возможность отправки оповещений по задачам (см. Настройка системных уведомлений) и процессных уведомлений (см. Настройка процессных уведомлений).
В зависимости от сложности настроенного решения информация об электронной почте получателей может находиться в различных местах, соответственно способы её получения могут быть различными:
1. При наличии информации в нескольких атрибутах связанного с процессом шаблона записи возможно вычисление получателей через функцию «FORMAT» языка выражений Comindware Expression Language (см. Список функций языка выражений Comindware).
Пример: в текущем шаблоне записи есть 3 атрибута с типом данных «Пользователь» с системными именами: Manager, Assignee и HR. Вычисление электронных почт данных пользователей будет происходить по следующему выражению:
FORMAT("{0};{1};{2}",LIST($ManagerRef->cmw.account.mbox, $AssigneeRef->cmw.account.mbox, $HRRef->cmw.account.mbox)) |
2. При наличии данных в определенных группах пользователей возможно вычисление получателей через запрос типа (from a in db…) языка выражений Comindware Expression Language (см. Список операторов языка выражений Comindware).
Пример: в системе есть несколько пользовательских групп с именами «Инженеры» и «Бухгалтеры» с входящими в них пользователями. Чтобы вычислить их электронные адреса, введите следующее выражение:
(from a in db->_AccountGroup where OR (a->groupName == "Инженеры",a->groupName == "Бухгалтеры") select a->groupUsers->cmw.account.mbox) |
3. При наличии информации в связанных с текущим шаблонах записи возможно вычисление получателей через язык N3.
Пример: в текущем шаблоне записи «Тендеры» (системное имя «tenders») есть коллекция «Поставщики по тендеру» (системное имя «suppliers»), в шаблоне записи «Поставщики по тендеру» есть атрибут с типом данных «Ссылка» — Контактное лицо (системное имя «contact»), у которого есть параметр «Эл. почта» (системное имя «Email»). Следующее выражение находит все эл. почты всех контактных лиц всех поставщиков по данному тендеру и собирает текстовое значение через «;».
@prefix cmw: <http://comindware.com/logics#>. @prefix object: <http://comindware.com/ontology/object#>. @prefix cmwstring: <http://comindware.com/logics/string#>. { ("tenders" "suppliers") object:findProperty ?suppliersProperty. ("tender_suppliers" "contact") object:findProperty ?contactProperty. ("contacts" "Email") object:findProperty ?emailProperty. from { ?item ?suppliersProperty ?suppliers. ?suppliers ?contactProperty ?contact. ?contact ?emailProperty ?email. } select ?email -> ?emailValues. (";" ?emailValues) cmwstring:join ?joinedEmails. ?joinedEmails == ?value. } |
Приведенные варианты и примеры вычислений являются справочными. Решение об использовании того или иного выражения принимаются в каждом конкретном случае.
Номер Статьи: 1367
Размещено: Tue, Jun 16, 2020
Последнее обновление: Fri, Feb 25, 2022
Online URL: https://kb.comindware.ru/article/otpravka-soobshenij-neskolkim-poluchatelyam-1367.html