Перейти к основному содержанию
`Ctrl`+`K`

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

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

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

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