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

02.11.20

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

Доработка в 1С: Документооборот позволяет заблокировать повторный запуск комплексного процесса по шаблону для данного документа, если процесс по этому шаблону уже запущен.

В 1С: Документообороте из коробки нет возможности ограничить повторный запуск комплексного процесса по определенному шаблону если таковой уже запущен у данного документа. в итоге можно запускать один и тот же процесс сколько угодно раз.

Чтобы этого избежать, нужно создать подписку на событие 

Далее добавить код для процедуры обработчика:

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


Проверено на релизе 1С:Предприятие 8.3 (8.3.16.1659)

Версия: редакция 2.1 (2.1.12.2)

См. также

1С:Документооборот - цена на лицензии КОРП, ПРОФ и ДГУ

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

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

42500 руб.

19.02.2016    107004    103    5    

84

Таймлист (1С:Совещание, Таймлист Лайт)

Документооборот и делопроизводство (СЭД) Конфигурации 1cv8

«Таймлист» – экосистема сервисов («Таймлист Лайт», «1C:Совещание», «Таймлист Recorder»), основанная на искусственном интеллекте Таймлист, который позволяет эффективно работать с легкими поручениями за счет фиксации всех важных идей при расшифровке и последующем формировании автопротокола встречи. Сервисы, в которые интегрирован ИИ, позволяют работать с задачами (поручениями), полученными из автопротокола.

10000 руб.

06.12.2023    1266    0    0    

5

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в 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С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101405    296    173    

312

1С:Архив

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

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

90000 руб.

24.10.2022    4863    4    1    

4

Легкий документооборот (+чат-бот для Telegram)

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

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

14900 руб.

15.11.2018    27800    25    48    

57

Групповая выгрузка и загрузка файлов XML для ЭДО в каталог по приказу №820 ФНС (для УТ 10.3/11, КА2, ERP2, БП3, УНФ, УПП1.3, Розница2.3). Поддержка маркировки. Прослеживание товаров.

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Файловый обмен (TXT, XML, DBF), FTP Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Групповая выгрузка файлов XML для ЭДО в каталог по приказу №820 ФНС для Контур.Диадок, СБИС и других провайдеров ЭДО. Поддержка УНФ 1.6, УНФ 3.0 Поддержка УТ 10.3, УПП 1.3 Поддержка Розница 2.3 Добавлена выгрузка непосредственно из документа

18000 руб.

15.12.2022    6428    106    25    

14

ЭДО: организация архива оригиналов первичных документов, комплексный отчет по ошибкам

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

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

14880 руб.

17.12.2018    44291    56    51    

71

1С:Бухгалтерия 3.0 ПРОФ + 1С:Документооборот. Модуль интеграции 1С:БП и 1С:ДО (ПРОФ или КОРП)

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

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

30000 руб.

23.05.2017    53788    34    67    

41
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. sulig 65 02.11.20 14:51 Сейчас в теме
А типовыми средствами обойтись не пытались?
2. vlad356987 8 02.11.20 14:58 Сейчас в теме
(1)Какие типовые средства есть в Документообороте для реализации данной задачи?
3. sulig 65 02.11.20 17:50 Сейчас в теме
Комплексный процесс
В условии маршрутизации вставляете ваш код и все
4. vlad356987 8 03.11.20 08:12 Сейчас в теме
(3)На мой взгляд через условия маршрутизации прерывать процесс не совсем правильно, потому что во первых сам объект бизнес процесс запишется, во вторых как вы в этом случае оперативно сообщите пользователю что он неправильно делает
5. sulig 65 03.11.20 09:26 Сейчас в теме
Зачем прерывать, завершите дублирующий процесс. В чем страхи записи бизнес процесса? Как сообщить? - оповестите его в задаче.
"Не совсем правильно" изменять конфигурацию под каждую задачу, если есть возможность воспользоваться типовым функционалом
6. vlad356987 8 03.11.20 09:57 Сейчас в теме
(5)
1)Изменение конфигурации минимальное и минимально затрагивает систему, только одна подписка на событие
2)в этом типовом функционале нужно писать почти тот же код, при этом этот код нужно дублировать в каждый шаблон бизнес процесса, это не совсем удобно
3)В задаче оповещать пользователя на мой взгляд не совсем правильный подход, потому что он нажал кнопку запустить процесс и ушел, закрыл программу, в этом случае он никак не узнает этого, а здесь сразу он узнает что его процесс не записался и сразу до него можно довести информацию что он делает не так
4) На мой взгляд если есть возможность не плодить явно лишние объекты в системе, лучше эту возможность реализовать
vashkostya; +1 Ответить
7. sulig 65 03.11.20 10:45 Сейчас в теме
1) Все же это изменение конфигурации для довольно тривиальной задачи,
у меня подобных задач 10-ки если при каждой я лез бы в конфигуратор на выходе бы получился франкенштейн, со всеми вытекающими
2) да код нужен. Зачем дублировать? Добавляем готовое условие.
3) Это документооборот, БП, задачи это основа данной конфигурации
4) Лишний объект конфигурации или лишний элемент бд по моему выбор очевиден
8. xKEEPERx 3 05.11.20 23:21 Сейчас в теме
(7)Некоторые пользователи были бы очень благодарны, если бы вы написали решение данной задачи стандартными средствами=) Может быть напишите?
9. sulig 65 06.11.20 07:30 Сейчас в теме
(8)Ок, подписывайтесь. Постараюсь выложить на следующей неделе
10. xKEEPERx 3 06.11.20 10:54 Сейчас в теме
(9)На комменты здесь? Уже подписался.
Заранее благодарю!
11. zhuntovda 1 03.12.20 07:58 Сейчас в теме
(7) Смотря, как архитектурно решать такие задачи. Я согласен с автором. Фундаментальный подход лучше миллиона заплаток, не понятных на выходе)
12. Kovekh 07.12.20 09:41 Сейчас в теме
Кстати, всё упадёт, если запустят стандартный комплексный процесс)) В нём нет шаблона, и на части
ЗначениеЗаполнено(Источник.Шаблон)
всё упадёт в ошибку
13. Kovekh 07.12.20 10:24 Сейчас в теме
(12)Не прав, вопрос снят( Тут же только комплексный рассматривается
14. Savshik 19.08.21 10:07 Сейчас в теме
Большое спасибо! Очень помогло, у меня 800 пользователей, просто спасение!!!
15. dap 13 25.11.21 18:45 Сейчас в теме
Источник.Ссылка же не заполнено, чего его пихать в запрос?
перестраховался?
16. belyakooov 24 10.04.23 16:15 Сейчас в теме
Спасибо, пригодилось.

Можно еще добавить дополнительный реквизит для шаблона с типом булево, например: "КонтролироватьПовторныйЗапуск" и если он = истина, то выполнять код.
Так отсечем шаблоны где контроль не нужен.
17. angabanga5 26.10.23 14:42 Сейчас в теме
спасибо, отличное решение. просто влупил на все процессы и хорошо
Оставьте свое сообщение