Вычисление пользователей, у которых есть активные задачи (с учетом замещений)
Для того, чтобы вычислить всех пользователей у которых на данный момент есть активные задачи, учитывая все замещения (чтобы, например, запустить по ним подпроцесс отправки уведомления по задачам (см. эту статью ), введите следующее выражение:
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>. @prefix log: <http://www.w3.org/2000/10/swap/log#>. @prefix cmw: <http://comindware.com/logics#>. @prefix substitution: <http://comindware.com/ontology/substitution#>. @prefix assert: <http://comindware.com/logics/assert#>. @prefix session: <http://comindware.com/ontology/session#>. @prefix timelocal: <http://comindware.com/logics/time/local#>. @prefix taskStatus: <http://comindware.com/ontology/taskStatus#>. @prefix account: <http://comindware.com/ontology/account#>. { ?class cmw:className "Account". ?value a ?class. ?value account:active true. cmw:securityContext cmw:currentUser ?user. session:context session:requestTime ?now. ?task a cmw:UserTask. not {?value cmw:isDisabled true.}. or { ?task cmw:assignee ?value. } or { ?task cmw:possibleAssignee ?value. } or { ?substitut a substitution:Substitution. ?substitut substitution:startDate ?startDate. ?substitut substitution:endDate ?endDate. ?now timelocal:between (?startDate ?endDate). ?substitut substitution:deputies ?value. ?substitut substitution:absentee ?abs. ?task cmw:assignee ?abs. } or { ?substitut a substitution:Substitution. ?substitut substitution:startDate ?startDate. ?substitut substitution:endDate ?endDate. ?now timelocal:between (?startDate ?endDate). ?substitut substitution:deputies ?value. ?substitut substitution:absentee ?abs. ?task cmw:possibleAssignee ?abs. }. ?task cmw:taskStatus taskStatus:inProgress.
}
Настраиваемые Поля
Область применения: Вычисляемый атрибут
Номер Статьи: 1785
Размещено: Wed, Apr 14, 2021
Последнее обновление: Thu, Dec 21, 2023
Online URL: https://kb.comindware.ru/article/vychislenie-polzovatelej-u-kotoryh-est-aktivnye-zadachi-s-uchetom-zameshenij-1785.html