Использование справочника "Условия маршрутизации" для бизнес-событий в 1С Документооборот.

28.10.19

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

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

1. Условие задачи.

Допустим нужно решить такую задачу:

Есть вид документа "Заявление на отпуск". У данного вида документа есть два дополнительных реквизита:

 

При изменении внутреннего документа необходимо проверять выполнение условия: Дополнительный реквизит = "Отправить уведомление на почту И Дополнительный реквизит 2 = "1" И Подразделение = "_Тестовое подразделение" И Подготовил = "Администратор". Если данное условие выполняется, тогда необходимо отправить уведомление по email. Для решения данной задачи отлично подойдет типовой вид бизнес-события "Изменение внутреннего документа". Его и будем использовать для данного примера.

2. Решение.

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

Условия маршрутизации находятся в подсистеме  "Управление процессами":

Создадим новое условие в конструкторе:

Теперь создадим дополнительный обработчик бизнес-события. Создать дополнительный обработчик события можно из видов событий. Виды событий находятся в подсистеме "Настройка и администрирование":

Найдем вид события "Изменение внутреннего документа" и создадим новый дополнительный обработчик:

 
 Код дополнительного обработчика

 

//Событие.Источник - источник возникновения события, в нашей ситуации внутренний документ.

//Проверка значения дополнительного реквизита.

УсловиеМаршрутизации = Справочники.УсловияМаршрутизации.НайтиПоНаименованию("Условие маршрутизации",
Истина);

ОтправитьУведомление = РаботаСУсловиямиМаршрутизации.ПроверитьПрименимостьУсловияМаршрутизацииКОбъекту(Событие.Источник,
УсловиеМаршрутизации);

Если ОтправитьУведомление Тогда
		
	Кому = "for1ctests2@yandex.ru";
	Тема = "Обработчик бизнес-события" + " " + ТекущаяДата();
	Тело = "Текст письма.";
		
	ПараметрыОтправки = Новый Структура("Кому,Тема,Тело",
	Кому,Тема,Тело);
		
	РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты,
	ПараметрыОтправки);
		
КонецЕсли;

 

В системе есть типовая функция "ПроверитьПрименимостьУсловияМаршрутизацииКОбъекту", которая проверяет условие маршрутизации (если условие выполняется, функция возвращает значение "Истина", иначе "Ложь"). В нашей ситуации типовыми средствами в 1 строчку кода можно выполнить проверку данного условия. Таким образом задача решена.

Данный пример выполнялся в конфигурации 1С Документооборот 8 КОРП, редакция 2.1 (2.1.14.4).

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

документооборот бизнес события условия маршрутизации

См. также

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

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

55300 руб.

19.02.2016    113482    148    5    

117

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб)

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

135530 руб.

11.06.2015    61918    38    20    

48

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

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

14900 руб.

15.11.2018    41104    48    60    

82

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

106

Email рассылки Взаиморасчеты Акт сверки Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

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

7930 руб.

12.02.2019    36814    38    24    

31

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

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

29890 руб.

17.12.2018    49935    79    65    

85

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

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

54900 руб.

23.05.2017    61899    36    69    

43
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vashkostya 40 28.10.19 15:46 Сейчас в теме
Блин, это законно вообще.)
Автору спасибо за решение.
ivangrant; +1 Ответить
2. Vasvas05 27 04.03.20 19:17 Сейчас в теме
3. Kologriv 19.03.20 09:23 Сейчас в теме
Добрый день. А как программно выцепить почту из внутреннего документа?
Кому = (e-mail контактного лица контрагента, который заведен во внутреннем документе)
4. pro96inf 609 19.03.20 11:30 Сейчас в теме
(3) Если один контрагент, то можно попробовать вот так:
АдресПочты = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(Документ.КонтактноеЛицо,
Справочники.ВидыКонтактнойИнформации.EmailКонтактногоЛица,,
ТекущаяДата());
Если контрагентов несколько, тогда все можно выбрать 1 запросом.
5. ImHunter 343 19.03.20 14:59 Сейчас в теме
Ага, тоже используем такое решение.
Еще бы как-то красиво уйти от хардкода:
УсловиеМаршрутизации = Справочники.УсловияМаршрутизации.НайтиПоНаименованию("Условие маршрутизации",
Истина);

Мы у себя такое сделали через дополнительные объекты метаданных (справочник и РС). Но мне это не очень нравится.
6. pro96inf 609 19.03.20 15:15 Сейчас в теме
(5)У меня тоже сделано через доп. объекты метаданных. Это нормальное решение, по моему мнению. В расширении http://infostart.msk.ru/public/1182517/ даже отдельное видео этой теме посвящено. Функция "Локальные константы" называется. Вот у меня очень похоже реализовано.
Для отправки сообщения требуется регистрация/авторизация