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

09.11.20

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

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

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

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

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

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

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

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

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

4. Готово

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

См. также

Документооборот и делопроизводство (СЭД) Типовые Бухгалтер Пользователь Руководитель проекта Платформа 1С v8.3 Управленческий учет Платные (руб)

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

48500 руб.

19.02.2016    108295    115    5    

93

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

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

14900 руб.

15.11.2018    29753    36    49    

71

SALE! 30%

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

Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    105875    2463    173    

322

Документооборот и делопроизводство (СЭД) Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Продукт "Апрель Софт: Бухгалтерия позаказного производства, ред. 3.0" предназначен для удобного и оперативного управления процессами производства, отгрузок и снабжения в производственных компаниях. Программный продукт открывает новые функциональные возможности для ведения документооборота.

11400 руб.

18.02.2016    22865    1    1    

5

Перенос данных 1C Документооборот и делопроизводство (СЭД) Учет документов Системный администратор Программист Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Бесшовная интеграция с 1С:Документооборот (КОРП или ПРОФ) - вот что обеспечит Вам и Вашим сотрудникам оперативный доступ и продуктивную работу с документами в учётной системе 1С на базе "1С:Бухгалтерия предприятия 3.0 ПРОФ". Бесшовный обмен и связь позволяют экономить до 60% времени на поиск и согласование первичной документации (актов, счетов-фактур, накладных), не говоря уже о других полезных функциональных возможностях: создании и запуске бизнес-процессов, работе с электронной почтой, штрихкодировании документов и многом другом.

30000 руб.

23.05.2017    55706    35    67    

42

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

14880 руб.

17.12.2018    45439    65    57    

78

Документооборот и делопроизводство (СЭД) Роли и права Системный администратор Платформа 1С v8.3 1С:Документооборот Управленческий учет Платные (руб)

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

3000 руб.

23.10.2015    63378    113    25    

127
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. it-dolgovagro 23.11.20 23:52 Сейчас в теме
Если согласование по документу завершено из-за отказа в согласовании, т.е. процесс закончен, то повторно уже отправить не получается! Процесс не запускается!!!
Mortiferus; +1 Ответить
2. sulig 66 24.11.20 08:03 Сейчас в теме
Добавьте в условие проверку на "активность". Код перед вами меняйте его под ваши потребности
5. Mortiferus 362 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 130 10.02.22 13:40 Сейчас в теме
Все ничего, но есть одно "НО"...

Если есть активный комплексный процесс содержащий этап "Исполнение" и пользователь попытается запустить второй раз - получим статус документа "На исполнении, Исполнен"
Прикрепленные файлы:
7. sulig 66 10.02.22 17:45 Сейчас в теме
(6)У вас оба статуса в регистр в один момент времени записались. Посмотрите запрос который возвращает статус документа. По идее, срез последних должен вернуть один статус. И не совсем понятно как это все относиться к публикации))
8. Goody 130 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 Сейчас в теме
Классный скрипт, спасибо, большое.
А как проверить документ исполнен или нет?
Если Предмет.Состояние.Исполнен <> Истина Тогда
Результат = Ложь;
Иначе
Результат = Истина ;
КонецЕсли;

Так ? :)
Оставьте свое сообщение