Назначение участника маршрута из связанного документа

Назначение участника маршрута из связанного документа#

Используется, чтобы назначить на этап маршрута пользователя, указанного в связанном документе, например куратора в договоре. Скрипт извлекает данные через связи между сущностями и регистрирует пользователя как исполнителя. При отсутствии данных вызывает ошибку.

Место применения: Управление бизнес-процессами > Справочники > Схема бизнес-процесса > [Процесс] > Редактировать > Вкладка "Процедуры" > Поле процедуры выполнения.

Тип: 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);
}