Назначение участника маршрута из связанного документа#
Используется, чтобы назначить на этап маршрута пользователя, указанного в связанном документе, например куратора в договоре. Скрипт извлекает данные через связи между сущностями и регистрирует пользователя как исполнителя. При отсутствии данных вызывает ошибку.
Место применения: Управление бизнес-процессами > Справочники > Схема бизнес-процесса > [Процесс] > Редактировать > Вкладка "Процедуры" > Поле процедуры выполнения.
Тип: JEXL-скрипт
var idProc = Bpm_PrStateApi.getProcessId(idpPrState);
var svSubj = param;
var idvDoc = Bpm_PrDocApi.getProcDocByPrState(idpPrState);
var ropProc = Bpm_ProcessApi.load(idProc);
var ropTargetOpt = Bpm_PrSubjectApi.getByPSSubject(ropProc, svSubj);
var ropTarget = ropTargetOpt.get();
var s = `
select coalesce (u.iduser, 0) as iduser
from cnt_contract r
join bs_employee e on r.idcuratoremployee = e.id
join bs_person u on e.idperson = u.id
where r.gid = ${idvDoc}
`;
var l = sql(s).asList();
for (w:l){
if(w.iduser == 0) {raise('Внимание! Для договора не указан куратор.');}
Bpm_PrSubjUserApi.register(ropTarget, w.iduser, 0B, 0B);
}