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

28.10.19

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

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

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

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

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

 

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

2. Решение.

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

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

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

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

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

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

 

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

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

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

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

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

 

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

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

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

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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

63100 руб.

19.02.2016    116510    169    5    

130

1С:Предприятие 8 Платные (руб)

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

117000 руб.

24.10.2022    8778    17    1    

16

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

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

19520 руб.

17.12.2018    52339    86    68    

88

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

Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения.

2000 руб.

05.09.2017    99556    80    107    

111

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

Расширение для конфигурации 1С:Документооборот 8 КОРП, позволяющее с помощью сервиса "1СПАРК риски" проверять благонадежность контрагентов непосредственно из программы 1С.

7320 руб.

23.05.2018    31996    20    10    

14

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

109

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

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

6000 руб.

23.10.2015    67308    121    25    

134
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vashkostya 42 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 613 19.03.20 11:30 Сейчас в теме
(3) Если один контрагент, то можно попробовать вот так:
АдресПочты = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(Документ.КонтактноеЛицо,
Справочники.ВидыКонтактнойИнформации.EmailКонтактногоЛица,,
ТекущаяДата());
Если контрагентов несколько, тогда все можно выбрать 1 запросом.
5. ImHunter 351 19.03.20 14:59 Сейчас в теме
Ага, тоже используем такое решение.
Еще бы как-то красиво уйти от хардкода:
УсловиеМаршрутизации = Справочники.УсловияМаршрутизации.НайтиПоНаименованию("Условие маршрутизации",
Истина);

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