Запуск маршрута согласования

Запуск маршрута согласования#

Скрипты используются для ручного запуска маршрута согласования. Могут применяться при отладке и тестировании, если запуск маршрута стандартным способом, например через операцию интерфейса, недоступен.

Место применения: Сервис > Инструменты > Выполнить 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 ("Схема с кодом ... не найдена")