Запуск маршрута согласования#
Скрипты используются для ручного запуска маршрута согласования. Могут применяться при отладке и тестировании, если запуск маршрута стандартным способом, например через операцию интерфейса, недоступен.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Тип: JEXL-скрипт
Запуск маршрута для объекта#
Используйте этот вариант, если известен объект, для которого необходимо запустить маршрут. Скрипт находит схему бизнес-процесса по коду и запускает ее для указанного объекта.
Внимание
Перед выполнением укажите код схемы бизнес-процесса и GID объекта, для которого требуется запустить маршрут.
var processSchema = Bpm_ProcessSchemaApi.findByMnemoCode(Код схемы бизнес-процесса);
Bpm_ProcessPkg.startProcessByDoc(Гид объекта, для которого запускается маршрут, processSchema);
Запуск процесса для набора объектов#
Используйте этот вариант, если GID объектов необходимо получить перед запуском процесса. Скрипт получает документ процесса по состоянию idpState, выполняет SQL-запрос для получения GID объектов и для каждого найденного объекта создает и запускает отдельный процесс от имени текущего пользователя.
var gidvSurvey = Bpm_PrDocApi.getProcDocByPrState(idpState);
var idvProcessSchema = Bpm_ProcessSchemaApi.findByMnemoCode(spParams);
var idvUser = Btk_UserApi.getCurrentUserId();
if(idvProcessSchema != null) {
sql(`
select
r.gid
from sur_respsurvey r
join sur_survey s on r.idsurvey = s.id
where s.gid = '` + gidvSurvey + `'
`).foreach(
var ropProcess = Bpm_ProcessPkg.createProcessSimple(r.gid, idvProcessSchema);
Bpm_ProcessPkg.startProcess(ropProcess, idvUser);
)
} else
raise ("Схема с кодом ... не найдена")