Детектор завершения согласования для 1С: Документооборот КОРП

04.02.20

Задачи пользователя - Адаптация типовых решений

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

Понадобилось отлавливать завершения согласований для уведомления ответственных за документ. Конечная цель не так важна, пользоваться можно для чего угодно.

Чтобы не дорабатывать конфигурацию, просто добавил новый детектор бизнес-события (Настройка и администрирование - Детекторы)

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

Детекторы по умолчанию выполняются фоновым заданием примерно раз в минуту, сильно грузить систему обработчик не должен.

В дальнейшем можно либо добавить обработчик события в самом детекторе, либо настроить автозапуск процесса по событию стандартными средствами (Управление процессами - Правила автозапуска процессов).

Внешний вид детектора:

 

Текст детектора:

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

Запрос.УстановитьПараметр("Период", ТекущаяДата() - 600);
Запрос.УстановитьПараметр("ВидСобытияЗавершениеСогласования", Справочники.ВидыБизнесСобытий.ПолучитьСсылку(новый УникальныйИдентификатор("4dec49cd-2226-11ea-bbd5-00265552556a"))); //Вид события, которое будет создавать детектор, нужно указать ссылку на элемент справочника, я сделал поиск по ГУИД во избежание проблем при переименовании
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
        Попытка
            ПараметрыВозврата = Новый Структура;
            ПараметрыВозврата.Вставить("Источник", Выборка.ОсновнойПредмет);
            ПараметрыВозврата.Вставить("Автор", Выборка.ОсновнойПредмет.Ответственный);
            Результат = Истина;
        Исключение
        //здесь нужен код для обработки ошибок адресации, но в целом пока и так работает
        КонецПопытки;
КонецЕсли;

 

1С: Документооборот подписка на событие бизнес-события детектор

См. также

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    6140    15    5    

24

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4264    15    1    

33

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

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    6813    73    10    

30

Адаптация типовых решений Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    5322    dimanich70    15    

22

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

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

01.03.2024    7243    dimanich70    10    

19

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

27.10.2023    3671    30    TempTablesManager    14    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Vasvas05 27 04.02.20 14:02 Сейчас в теме
А добавить процесс ознакомления после согласования или у вас пользователи сами создают простые процессы?
2. akim2040 47 04.02.20 14:43 Сейчас в теме
Присоединяюсь к предыдущему комментарию.
Мне кажется это всё решается комплексными процессами?
3. shiaju 25 05.02.20 05:23 Сейчас в теме
(1), (2) Да, это вполне возможно. Детектор просто позволяет отлавливать все согласования независимо от того, участвуют ли они в шаблоне (у меня стояла цель, если кто-то запустил согласование документа не по шаблону, по завершении согласования можно уведомить ответственного за документ).
4. paphiopedilum 20.04.22 10:28 Сейчас в теме
Создала детектор, настроила автозапуск процесса по нему.

По какой-то причине детектор исправно срабатывает каждую минуту и запускает 10 процессов по одному документу.
Прикрепленные файлы:
5. shiaju 25 20.04.22 10:55 Сейчас в теме
(4) Возможно, вы не указали свой элемент справочника в строчке ниже? Тут указан гуид конкретного элемента из моей конкретной базы, у вас в базе он другой:

Запрос.УстановитьПараметр("ВидСобытияЗавершениеСогласования", Справочники.ВидыБизнесСобытий.ПолучитьСсылку(новый УникальныйИдентификатор("4dec49cd-2226-11ea-bbd5-00265552556a"))); //Вид события, которое будет создавать детектор, нужно указать ссылку на элемент справочника, я сделал поиск по ГУИД во избежание проблем при переименовании
ivangrant; +1 Ответить
6. paphiopedilum 21.04.22 09:03 Сейчас в теме
(5) Да, именно в этом и была проблема

Спасибо вам! Работает отлично, на быстродействие не влияет.
ivangrant; shiaju; +2 Ответить
Оставьте свое сообщение