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

02.11.20

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

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

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

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

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

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


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

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

См. также

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

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

48500 руб.

19.02.2016    108310    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    29782    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    105928    2463    173    

322

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

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

11400 руб.

18.02.2016    22871    1    1    

5

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

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

30000 руб.

23.05.2017    55759    35    67    

42

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

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

14880 руб.

17.12.2018    45462    65    57    

78

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

Позволяет выгрузить документы поступления или реализации с данными на закладках "товары" и "услуги" и счета-фактуры в файл Excel (.CSV)и загрузить их, используя настройки преобразования. Выгрузка и загрузка работает в обоих релизах бухгалтерии ( 8.2->8.2, 8.2->8.3, 8.3->8.2, 8.3->8.3). Удобна для обмена документами между базами контрагентов (реализацию в поступление, поступление в реализацию), либо внутри одной базы (поступление из реализации с уменьшением цены на % , реализация из поступления с повышением цены на %), либо перенос документов в копию. Не использует правила обмена, поэтому не зависит от релизов конфигураций. Работает с конфигурациями 8.2 и 8.3 (есть обычная и управляемая форма). Файл обмена универсальный для обоих редакций. ВНИМАНИЕ ! В связи с наличием неуправляемых форм обработка не работает в сервисе 1С:Fresh.

4800 руб.

14.04.2015    105112    204    106    

197
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sulig 66 02.11.20 14:51 Сейчас в теме
А типовыми средствами обойтись не пытались?
2. vlad356987 8 02.11.20 14:58 Сейчас в теме
(1)Какие типовые средства есть в Документообороте для реализации данной задачи?
3. sulig 66 02.11.20 17:50 Сейчас в теме
Комплексный процесс
В условии маршрутизации вставляете ваш код и все
4. vlad356987 8 03.11.20 08:12 Сейчас в теме
(3)На мой взгляд через условия маршрутизации прерывать процесс не совсем правильно, потому что во первых сам объект бизнес процесс запишется, во вторых как вы в этом случае оперативно сообщите пользователю что он неправильно делает
5. sulig 66 03.11.20 09:26 Сейчас в теме
Зачем прерывать, завершите дублирующий процесс. В чем страхи записи бизнес процесса? Как сообщить? - оповестите его в задаче.
"Не совсем правильно" изменять конфигурацию под каждую задачу, если есть возможность воспользоваться типовым функционалом
6. vlad356987 8 03.11.20 09:57 Сейчас в теме
(5)
1)Изменение конфигурации минимальное и минимально затрагивает систему, только одна подписка на событие
2)в этом типовом функционале нужно писать почти тот же код, при этом этот код нужно дублировать в каждый шаблон бизнес процесса, это не совсем удобно
3)В задаче оповещать пользователя на мой взгляд не совсем правильный подход, потому что он нажал кнопку запустить процесс и ушел, закрыл программу, в этом случае он никак не узнает этого, а здесь сразу он узнает что его процесс не записался и сразу до него можно довести информацию что он делает не так
4) На мой взгляд если есть возможность не плодить явно лишние объекты в системе, лучше эту возможность реализовать
vashkostya; +1 Ответить
7. sulig 66 03.11.20 10:45 Сейчас в теме
1) Все же это изменение конфигурации для довольно тривиальной задачи,
у меня подобных задач 10-ки если при каждой я лез бы в конфигуратор на выходе бы получился франкенштейн, со всеми вытекающими
2) да код нужен. Зачем дублировать? Добавляем готовое условие.
3) Это документооборот, БП, задачи это основа данной конфигурации
4) Лишний объект конфигурации или лишний элемент бд по моему выбор очевиден
8. xKEEPERx 3 05.11.20 23:21 Сейчас в теме
(7)Некоторые пользователи были бы очень благодарны, если бы вы написали решение данной задачи стандартными средствами=) Может быть напишите?
9. sulig 66 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 14 25.11.21 18:45 Сейчас в теме
Источник.Ссылка же не заполнено, чего его пихать в запрос?
перестраховался?
16. belyakooov 24 10.04.23 16:15 Сейчас в теме
Спасибо, пригодилось.

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