Запрет повторного запуска комплексных процессов типовыми средствами в 1С: Документооборот

09.11.20

Функциональные - Документооборот и делопроизводство (СЭД)

Реализация решения изложенного в статье, исключает ошибочный (повторный) запуск комплексного процесса в 1С: Документооборот.

В документообороте часто встречаю ситуации когда программисты решают задачу внося изменения в конфигурацию, хотя есть возможность обойтись штатными средствами. Одной из таки задач является "Запрет повторного запуска комплексных процессов"

Типовое решение:

1. Создаем новое условие маршрутизации

2. Вставляем в него необходимый нам код

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

	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Если ВыборкаДетальныеЗаписи.Количество()>=2 Тогда
		Результат = Истина;
	Иначе
		Результат = Ложь;
	КонецЕсли;

3. Размешаем наше условие в комплексном процессе

4. Готово

Вступайте в нашу телеграмм-группу Инфостарт

1С: Документооборот. Запрет повторного запуска комплексных процессов типовыми средствами

См. также

Бухгалтер Пользователь Руководитель проекта 1С:Предприятие 8 Управленческий учет Платные (руб)

Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:Документооборот! С 1 апреля 2026 года стоимость решения изменится в среднем на 14%. Успейте приобрести по текущей цене с бонусами на услуги и сервисы Инфостарт!

55300 руб.

19.02.2016    112849    144    5    

115

1С:Предприятие 8 Платные (руб)

"1С:Архив" – это универсальная система для надежного долговременного хранения документов с гарантией юридической значимости на неограниченный срок. Решение разработано на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов: от попадания в архив до уничтожения, и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. С 1 апреля 2026 года стоимость изменится на 14%, успейте купить решение по цене 2025 года!

117000 руб.

24.10.2022    7217    11    1    

11

Мессенджеры и боты Учет документов 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    40295    44    55    

79

Email рассылки Взаиморасчеты Акт сверки Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Данная обработка позволяет сократить объем ручных операций, выполняемых ежемесячно бухгалтером или его помощником за счет автоматизации систематического процесса.

7800 руб.

12.02.2019    36217    32    24    

28

Печатные формы Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для печати договоров с приложением из шаблонов. Быстрая подготовка заполненных договоров без ручного заполнения. Возможность использования дополнительных реквизитов контрагентов и номенклатуры Быстрое сохранение файлов договоров и отправка по электронной почте. Решение в Реестре отечественного ПО.

15000 руб.

20.04.2016    66519    190    107    

104

Печатные формы Учет документов Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Управленческий учет Платные (руб)

Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения.

2000 руб.

05.09.2017    96925    72    106    

104
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. it-dolgovagro 23.11.20 23:52 Сейчас в теме
Если согласование по документу завершено из-за отказа в согласовании, т.е. процесс закончен, то повторно уже отправить не получается! Процесс не запускается!!!
Mortiferus; +1 Ответить
2. sulig 66 24.11.20 08:03 Сейчас в теме
Добавьте в условие проверку на "активность". Код перед вами меняйте его под ваши потребности
5. Mortiferus 367 30.09.21 10:24 Сейчас в теме
(2) тут проблема в том, что в принципе не запускается повторное согласование, ваше условие тут не причем - это где-то зашито в функционал. сейчас как раз бьюсь над этой проблемой.
3. Kovekh 07.12.20 09:38 Сейчас в теме
Ну уж шли бы тогда до конца) Видел ваш спор по подобной теме. Если уж хотели показать класс, то:
1. Надо было делать тогда уж не только для комплексного процесса запрос, можно подпихнуть метаданные текущего процесса. Небольшой экскурс: для этого можно делать условие само на встроенном языке, а не использовать условие маршрутизации. Да, согласен, тогда нельзя его одно использовать для всех шаблонов, но, зато, можно один код использовать везде.
2. Если решаете идти всё-таки как вы предложили через условия маршрутизации, то процесс всё равно, по сути, исполняется, просто сразу в ознакомление летит. Как по мне, лучше было бы добавить в условие назначения шаблона ваше условие маршрутизации пихнуть и тогда бы у человека вообще не показывался ваш шаблон. Но тут, согласен, можно наткнуться на то, что стартанут не тот процесс вообще. Но для общего развития, если вдруг не знали)
Anchoret; rpgshnik; +2 Ответить
4. sulig 66 07.12.20 11:31 Сейчас в теме
(3)
1. Показывать "класс" - целью не являлось. Цель - правильное выстраивание архитектуры. Для примера сейчас столкнулся с конфигурацией ДО там есть все: и немного ЗУПа и немного Бухгалтерии, замочки? а зачем они нужны - за их сохранность деньги не платят
2. Очень рад в ваших глубоких познаниях, обязательно приму к сведению
user1647001; +1 2 Ответить
6. Goody 133 10.02.22 13:40 Сейчас в теме
Все ничего, но есть одно "НО"...

Если есть активный комплексный процесс содержащий этап "Исполнение" и пользователь попытается запустить второй раз - получим статус документа "На исполнении, Исполнен"
Прикрепленные файлы:
7. sulig 66 10.02.22 17:45 Сейчас в теме
(6)У вас оба статуса в регистр в один момент времени записались. Посмотрите запрос который возвращает статус документа. По идее, срез последних должен вернуть один статус. И не совсем понятно как это все относиться к публикации))
8. Goody 133 11.02.22 11:34 Сейчас в теме
(7) "И не совсем понятно как это все относиться к публикации))" - напрямую.
Именно по материалу статьи создан процесс "запрещающий" повторный запуск. На самом деле никакого запрета, просто разветвление срабатывает и если уже есть активный процесс, то запускается задача "Ознакомление". Вот именно эта задача и меняет статус документа на "Исполнено".
Прикрепленные файлы:
10. sulig 66 11.02.22 15:22 Сейчас в теме
(8) Измените роль предмета у подпроцесса который не должен менять статус. Установите вспомогательный
9. sulig 66 11.02.22 15:21 Сейчас в теме
Измените роль предмета у подпроцесса который не должен менять статус. Установите вспомогательный
11. user1793375 02.06.22 19:19 Сейчас в теме
Классный скрипт, спасибо, большое.
А как проверить документ исполнен или нет?
Если Предмет.Состояние.Исполнен <> Истина Тогда
Результат = Ложь;
Иначе
Результат = Истина ;
КонецЕсли;

Так ? :)
Для отправки сообщения требуется регистрация/авторизация