Программно проверить запущенные процессы по документу

1. hoyo 07.02.18 09:59 Сейчас в теме
Доброго всем дня.
Проблема следующая. Когда прерываем процесс согласования, у документа состояние не меняется, как было, "На согласовании", например, так и остаётся. Что очень неудобно, так как пользователь не может ничего изменить перед запуском нового процесса согласования. Решено было это допилить в конфигурации самим, при прерывании ставить статус "Отклонён". Вопрос в том, что по идее может быть несколько процессов согласования по документу, например сначала они запустили по шаблону комплексный процесс, потом поняли что не хватает согласующих и запустили отдельно процесс согласования для конкретного согласующего. Так вот, при прерывании надо проверять, есть ли ещё активные процессы по документу. Как это можно сделать программно, есть идеи? Когда во внутреннем документе нажимаешь на ссылку "Процессы и задачи", Документооборот находит же все процессы по документу и в верхней части показывает активные задачи. Значит, есть какой-то стандартный механизм для этого. Только найти я его не могу.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vnagapov 07.02.18 10:29 Сейчас в теме
Можно программно создать текст запроса.
Примерно так, но необходимо доработать "Объединить ВСЕ" и разыменование
ТекстЗапроса = "";
Для каждого МетаданныеБизнесПроцесса Из Метаданные.БизнесПроцессы Цикл

ТекстЗапроса = ТекстЗапроса+" ВЫБРАТЬ ПЕРВЫЕ 1
| БизнесПроцесс.Ссылка
|ИЗ
| БизнесПроцесс.КомплексныйПроцесс КАК КомплексныйПроцесс
|ГДЕ
| КомплексныйПроцесс.Стартован = ИСТИНА
| И КомплексныйПроцесс.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен)
| И КомплексныйПроцесс.Завершен = ЛОЖЬ
| И КомплексныйПроцесс.Предметы.Предмет = &ПредметПроцесса";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"БизнесПроцесс.КомплексныйПроцесс","БизнесПроцесс."+МетаданныеБизнесПроцесса.Имя);
КонецЦикла;
Запрос.УстановитьПараметр("ПредметПроцесса",ВАШДокумент);
3. hoyo 12.02.18 09:03 Сейчас в теме
Имелось в виду, есть ли стандартная функция какая-то? То, что можно написать свой запрос, понятно. Стоит задача по-максимуму использовать то, что есть в конфигурации.
4. khnatik 21.06.21 16:43 Сейчас в теме
(3) Не нашли случайно функцию? =)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот