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

09.11.20

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

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

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

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

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

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

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

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

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

4. Готово

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

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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

63100 руб.

19.02.2016    116510    169    5    

130

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

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

117000 руб.

24.10.2022    8778    17    1    

16

ЭДО и ОФД Учет документов 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время – организует полностью соответствующий закону архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. Выявляет все возможные ошибки в ЭДО и помогает в несколько кликов их исправить. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 5-ти летний опыт 60+ клиентов.

19520 руб.

17.12.2018    52339    86    68    

88

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

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

2000 руб.

05.09.2017    99555    80    107    

111

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

Расширение для конфигурации 1С:Документооборот 8 КОРП, позволяющее с помощью сервиса "1СПАРК риски" проверять благонадежность контрагентов непосредственно из программы 1С.

7320 руб.

23.05.2018    31996    20    10    

14

Печатные формы Бухгалтер Пользователь 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    70530    199    107    

109

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

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

6000 руб.

23.10.2015    67307    121    25    

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

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

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