Запрет запуска вторичного шаблона процесса по документу при активном первом

1. colinsn 06.10.14 12:05 Сейчас в теме
Бывают случаи, когда из-за невнимательности пользователь запускает шаблон процесса по документу дважды. Есть у кого опыт, как написать условие маршрутизации на встроенном языке, которое бы запрещало второй запуск процесса, если предыдущий находиться в активном состоянии?
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. H@wk 16.12.14 09:28 Сейчас в теме
Добрый день. У меня сделано для комплексного процесса привязанного к документу. Правда в конфигурации. Если вопрос еще актуален, то готов поделиться опытом.
+
4. nestokay 62 31.07.17 14:24 Сейчас в теме
(2) Михаил, столкнулся с подобной проблемой, как у вас решился подобный вопрос?
+
3. OlgaKonyakhina 18.12.14 10:29 Сейчас в теме
У нас это было реализовано с помощью условий маршрутизации.
1. согласование (прописаны участники процесса, срок исполнения) - при старте процесса, если новый процесс
2. Ознакомиться ( у вас уже запущено одно согласование, дождитесь его окончания) - при старте процесса, если параллельный процесс

"новый процесс" и "параллельный процесс" - условия маршрутизации, написанные на встроенном языке
например, новый процесс:
Запрос = Новый Запрос;
 Запрос.Текст = 
      "ВЫБРАТЬ
	|		ТекущиеСостоянияДокументов.Состояние.Ссылка
	|	ИЗ
	|		РегистрСведений.ТекущиеСостоянияДокументов КАК     
      |             ТекущиеСостоянияДокументов
	|	ГДЕ
	|		ТекущиеСостоянияДокументов.Документ.Ссылка = &Владелец
	|		И ТекущиеСостоянияДокументов.Состояние.Порядок = 5";
 Запрос.УстановитьПараметр("Владелец", Предмет.Ссылка);
 Результат = Запрос.Выполнить();
 Выборка = Результат.Выбрать();
 Результат = Выборка.Количество() = 0;

соответственно параллельный процесс
Запрос = Новый Запрос;
 Запрос.Текст = 
      "ВЫБРАТЬ
	|		ТекущиеСостоянияДокументов.Состояние.Ссылка
	|	ИЗ
	|		РегистрСведений.ТекущиеСостоянияДокументов КАК     
      |             ТекущиеСостоянияДокументов
	|	ГДЕ
	|		ТекущиеСостоянияДокументов.Документ.Ссылка = &Владелец
	|		И ТекущиеСостоянияДокументов.Состояние.Порядок = 5";
 Запрос.УстановитьПараметр("Владелец", Предмет.Ссылка);
 Результат = Запрос.Выполнить();
 Выборка = Результат.Выбрать();
 Результат = Выборка.Количество() > 0;
Показать
+
Внимание! Тема сдана в архив

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