1с документооборот создание детектора
Есть в системе 1С:Документооборот механизм бизнес-событий. Когда мне понадобилось решить конкретную задачу, гугление ни к чему конкретному не привело. Хотелось так «вжух» и всё понять про данный механизм, но в итоге пришлось лезть в код 1С и смотреть реализацию данного механизма. В данной публикации поделюсь результатами исследований, может, кому-то это поможет быстро и легко во всём разобраться.
На днях попросили меня сделать одну на первый взгляд простую и полезную настройку в 1С:Документооборот: если новый входящий документ пришёл в ответ на исходящий, то автора исходящего необходимо оповестить о новом документе не дожидаясь резолюции руководства.
Вроде всё просто: отлавливаем создание вида связи «В ответ на» и запускаем бизнес-процесс «Ознакомление» с нужными параметрами. Но, зайдя в справочник «Виды бизнес-событий» ничего похожего на создание связи не обнаруживаем. Нам подходит только бизнес событие «Изменение входящего документа», в котором мы уже ручками будем отслеживать создание связи и запускать бизнес процесс.
Как механизм бизнес-событий работает в 1С:Документооборот? Рассмотрим на примере «Изменения входящего документа»:
Вот такой несложный механизм.
Получается, что нам нужно всю логику разместить в дополнительном обработчике бизнес события для вида бизнес события «Изменение входящего документа» и «Создание входящего документа» т. к. при создании входящего документа на основании исходящего предварительной записи карточки документа перед созданием связи не производится.
Первым делом получим ссылку на нужный тип связи (1).
Дальше проверим установлена ли эта связь у данного документа (2).
А дальше нам необходимо установить, что данная связь является новой, чтобы не генерировать оповещения каждый раз при сохранении карточки документа.
Алгоритм, который я предлагаю не самый точный, но рабочий. Мы проверяем не было ли по новому документу когда-либо сформировано бизнес-процессов «Ознакомление» (3). Этот подход будет верным если при создании входящих документов автоматически не стартуют иные процессы «Ознакомление».
Ну и наконец создаём новый бизнес-процесс «Ознакомление», прикрепляем в качестве основного предмета новый документ и стартуем его выбрав в качестве исполнителя автора документа.
Самый детальный видеокурс по 1С:Документообороту
Объявления
Протоколирование работы пользователей в 1С:ДО
Как работает протоколирование работы пользователей в 1С:Документооборот 8?
Программа «1С:Документооборот 8 КОРП / ДГУ» автоматически ведет протокол всех действий пользователей. Это дает возможность анализировать их активность в программе и определять, кто именно изменил или получил те или иные данные.
Нет необходимости регулярно мониторить протоколы работы пользователей. Задача анализа протокола может возникнуть при расследовании различных инцидентов, а также при планировании регламентных действий с базой СЭД.
При использовании механизма протоколирования важно знать, что дополнительное протоколирование не сильно замедляет работу пользователей 1С:Документооборот.
В 1С:Документооборот протокол хранится не весь (сворачивается по истечении срока), если указан срок хранения протоколов. Сворачивание протокола выполняется регламентным заданием «Обработка протокола работы пользователей», данное регламентное задание записывает старые события в файл и удаляет их из базы (расписание: 1-го числа каждого месяца).
Чтобы включить протоколирование работы пользователей, нужно сделать следующее:
- Перейти в раздел «Настройка и администрирование» – «Настройка программы».
- Открыть ссылку «Права доступа».
- Установить флажок «Протоколировать работу пользователей».
- Заполнить поле «Срок хранения протоколов».
- В поле Каталог хранения протоколов ввести путь к каталогу, в котором будет храниться протокол при удалении старых записей.
- Нажать кнопку ОК, чтобы сохранить настройку.
Открываем форму «Протокол работы».
Здесь мы видим протокол работы пользователей по всем объектам программы.
В варианте отчета «Список событий» установим фильтр по событиям: «Экспорт папки», «Сохранение на диск», «Получение файла». Можем видеть кто и какие файлы извлекал из системы за период. Данный вариант отчета можно сохранить и настроить по нему рассылку в Службу безопасности, которая может анализировать конфиденциальность извлекаемых файлов на предмет несанкционированной утечки информации.
Откроем вариант отчета «Динамика активности пользователей». Можем с помощью данного варианта делать выводы, в какие дни пользователи наиболее активно работают с системой, а в какие дни нагрузка минимальная. Это будет полезно для планирования регламентных работ с базой, например, обновление на новый релиз.
Открываем вариант отчета «Статистика по числу событий». При построении данного варианта отчета с отбором по пользователю можно понять, чем занимается пользователь за определенный промежуток времени.
Дополнительный обрабочик для 1С:Документооборот, позволяющий выполнять автоматическую регистрацию внутреннего документа после его утверждения и автоматическое заполнение прикрепленного шаблонного файла.
Обработчик позволяет без изменения конфигурации дополнить функционал по регистрации и автозаполнению файла по шаблону.
Может рассматриваться вообще как пример использования функционала бизнес-событий 1С:Документооборота.
1. Создаем дополнительный обработчик "Автоматическая регистрация при утверждении"
Дорабатываем код согласно используемым Вами документам.
2. На вкладке подписки добавляем новую подписку с видом события "Задача выполнена" и этим обработчиком.
3. Включаем обработчик и проверяем по справочнику Произошедшие бизнес-события, документам, отсутствию ошибок.
Фоновое задание "Обработка произошедших бизнес-событий" должна работать.
Работает на Документооборот 1.2.8.1 Корп. Думаю должно работать и на других версиях.
Специальные предложения
(1) dpagon,
Надо посмотреть права к папке с файлом и еще уточнить где работает автозаполнение файла (за константа отвечающая за это). Хотя сам 1.3.1.5. пока не обновлялся.
Не знал как достучаться до объекта.
А вот процедуру регистрации документа взял с конфигурации:
(5) luda33,
По-умолчанию нет, эта статья как раз и показывает как это реализовать. Хотя я столкнулся с проблемами. Например, пользователь записывает внутренний документ и продолжает его редактирование. При этом через минуту происходит автоматическая регистрация и пользователь уже не может сохранить изменения которые он вносил.
а сейчас возникла необходимость регистрировать при создании документа, - что бы номер сразу при заполнении попадал в файл (из шаблона)
видимо придется воспользоваться этим обработчиком, только не при утверждении
на 8.3 не работает, затыкается вот здесь Объект = Задача.Предмет.ПолучитьОбъект();
У задачи предмет описан как Список
Ошибка - 3. Включаем обработчик и проверяем по справочнику Произошедшие бизнес-события.
Надо - 3. Включаем обработчик и проверяем по регистру сведений Произошедшие бизнес-события
Ребят подскажите, когда происходит автозаполнение файла? Вроде как все настроил, проверил. Все заполняется. Когда ввожу новый документ, автозаполнение не срабатывает в файле. В файле выходят служебные теги при просмотре.
(12)Автоматом, должно заполняться при записи документа. Можно ручками ткнуть на автозаполняемый файл правой кнопкой и выбрать "заполнить файл данными документа".
1с:Документооборот 2.1 КОРП
Привет! Кто нибудь знает как зарезервировать номер для договора,без регистрации документа? Например, есть договор который еще не подписан и не отработан, не оплачен и т.д., но клиент просит номер договора, а его соответственно еще нет.
Идея такая делаем "Волшебную кнопку" нажимаем - резервируем номер сохраняем документ, при этом нумерация договоров продолжается со следующего номера. А этот документ доступен для редактирования. Как можно реализовать по другому, есть идеи?
Ну и моя идея реализуема вообще?
Как по мне ситуация "Дно", 1с как всегда на "высоте". В заполнении шаблона есть реквизит "регистрационный номер", шаблон заполняется при записи документа, а регистрация делается уже позже, значит это в принципе никогда не сработает. Господи они вообще тестируют что пишут.
Хороший вопрос :) Например, в организации возникла потребность оповещать пользователей документооборота на которых была(и) назначена задача и которые не приняли ее в работу в течении 1 часа. Соответственно оповещать необходимо через почту, т.е. отправлять на почту уведомления.
Это один из случаев при котором необходимо добавить в систему 1С: Документооборот новое бизнес-событие и обработать его, результатом обработки станет отправка уведомления на почту пользователя.
Итак приступим!
В системе 1С: Документооборот для фиксирования произошедшего какого либо события (по задачи, с процессом или с документом) предусмотрен справочник "Виды бизнес-событий". В этом справочнике уже предопределены порядка 20-ти бизнес событий и если необходимы новые бизнес-события, то нужно добавлять их в него.
Например, добавим новое бизнес-событие "На вас назначена задача", которое будет создаваться, если пользователь не берет в работу задачу больше часа.
Теперь нужно добавить "Детектор бизнес-события". Детектор бизнес-события - это как раз тот инструмент, который отслеживает события в программе. Например, он может зарегистрировать новое бизнес-событие, если число активных пользователей превышает 50 или в определенном каталоге на диске появились новые файлы или если пользователь не берет в работу задачу более часа и т.п.
Добавим новый детектор бизнес-события.
В нем можно написать выражение на встроенном языке и если в выражении указать Результат = Истина, то система после выполнения автоматически создаст новое бизнес событие. Если же вы не хотите чтобы программа сама создала бизнес-событие, то можно указать Результат = Ложь и в коде (в выражении или в конфигурации) вызвать процедуру
Для того, чтобы система отслеживала новые события предусмотрено регламентное задание "Обработка детекторов бизнес-событий". Это задание исполняется один раз в минуту и выполняет все детекторы событий с флагом Включен.
Для обработки бизнес-события в программе предусмотрены "Дополнительные обработчики-бизнес событий". Далее просто приведу текст из справки 1С:
Обработчики бизнес-событий обрабатывают события, которые были созданы детекторами. Например, детектор зафиксировал, что число активных пользователей превышает 50 и создал событие, затем обработчик стартовал процесс Ознакомление для администратора.
Т.е. обработчик бизнес-события это своего рода исполнитель действий, которые надо выполнить после того как было зафиксировано бизнес-событие. В нашем примере с не принятыми во время в работу задачами обработчик бизнес-события будет отправлять уведомления на почту исполнителям.
Обработчик бизнес-события и бизнес-событие должны быть связанны между собой.
Вот таким образом в системе 1С: Документооборот добавляются новые бизнес-события!
Лицензия на сервер + 100 рабочих мест. Электронная поставка.
Оперативные консультации по 1С. Не тратьте время - мы поможем решить проблему любой сложности.
Настройка и доработка 1С:Документооборот для борьбы с ошибками. Гарантия на все результаты работ.
Идеально подходит для средних, крупных компаний и холдингов со сложным документооборотом
Типовой функционал, встроенный в прикладные решения 1С
1С:Документооборот помимо настроек различных параметров имеет очень полезный механизм бизнес-событий. Его можно использовать, если стандартных возможностей системы уже не хватает, но уходить с поддержки не хочется. Например, нужно автоматически регистрировать служебные записки после их утверждения, чтобы не усложнять работу пользователей лишней ненужной работой.
Бизнес-события – это отображение факта, что произошло некое важное для организации событие, которое подтверждено изменением данных в информационной базе. К ним можно привязать специальные обработчики, которые помогут реализовывать те или иные механизмы.
В типовой версии уже предустановлены готовые бизнес-события, они формируются автоматом и применяются для разнообразных механизмов (ук примеру, по видам событий «Создание задачи» и «Выполнение задачи» могут быть заданы автоматические уведомления).
Для готовых видов бизнес-событий можно писать свои обработчики для расширения функционала системы. Также в системе можно задать собственные бизнес-события и привязывать к ним обработчики событий. Все это практически безгранично расширяет возможности системы.
Бизнес-события состоят из нескольких частей:
- детекторы событий (типовые и пользовательские);
- реестр произошедших событий;
- обработчики событий (типовые и пользовательские).
Рис.1 Бизнес события
Для использования механизма бизнес-событий в настройках программы должна быть установлена соответствующая галочка. Зайдем в «Настройки программы», в раздел «Настройка и администрирование».
Рис.2 Настройки программы
Перейдем по гиперссылке «Общие настройки».
Рис.3 Общие настройки
В настройках должна быть установлена галочка «Бизнес-события».
Рис.4 Бизнес-события в общих настройках
Программой «1С:Документооборот» в разделе «Настройка и администрирование-Бизнес-события» предусмотрен справочник «Виды бизнес-событий».
Рис.5 Виды бизнес-событий
В справочнике уже заложены предопределенные бизнес-события, которые фиксируются системой автоматически.
Рис.6 Предопределенные бизнес-события
Перечень типовых бизнес-событий в системе:
Как только какое-либо событие произошло, происходит запись этого события в регистр сведений «Произошедшие бизнес-события» (доступен в меню «Все функции»).
Рис.7 Произошедшие бизнес-события
В этом регистре отображается вид события, источник записи, автор и отметка об обработке записи.
Рис.8 Параметры бизнес-событий
Так, например, при создании нового внутреннего документа «Договор аренды» в регистре появляется запись «Создание внутреннего документа», при формировании файла договора в регистре появляется запись «Создание файла» и т.д.
Пользователь может создавать свои бизнес-события и привязать к ним обработчики событий – типовые или пользовательские. Справочник «Дополнительные обработчики» доступен в разделе «Настройка и администрирование-Бизнес-события».
Рис.9 Дополнительные обработчики
С помощью кнопки «Создать» пользователь может задать дополнительный обработчик бизнес-событий.
Рис.10 Создание дополнительного обработчика бизнес-событий
В карточке указывается наименование обработчика, код обработки события и устанавливается галочка «Обработчик включен».
Рис.11 Обработчик включен
Рис.12 Код отмены обработки событий
В меню «Подписки» пользователь указывает подписку для данного обработчика (кнопка «Создать»).
Рис.13 Меню Подписки
Рис.14 Создание Подписки
Связь обработчика и вида события производится путем выбора его из справочника.
Рис.15 Виды бизнес событий
Бизнес-событие может запускаться при создании документа (внутреннего, входящего, исходящего, его регистрации, получении входящего и т.п.).
Рис.16 Связь вида бизнес-события с обработчиком
Связь вида бизнес-события с обработчиком указывается в данной форме.
Кроме типовых бизнес-событий в системе можно добавлять свои события. Для этого необходимо сделать следующее:
- В справочнике «Виды бизнес-событий» добавить новое бизнес-событие;
- Перейти к созданию детектора бизнес-событий*. У детектора установить флаг «Детектор включен».
- Создать дополнительный обработчик. Установить у обработчика флаг «Обработчик включен». Настроить у обработчика подписку на событие.
*Детектор бизнес события – это механизм, который отслеживает выполнение заданного условия и создает определенное событие в информационной базе.
Мы познакомились с мощным и очень полезным механизмом бизнес-событий в 1С:Документооборот, который позволяет существенно расширять типовые возможности системы, не внося изменений в конфигурацию и не снимая ее с поддержки. Таким образом, можно достаточно серьезно расширить функционал системы, не лишая ее стандартных обновлений.
Чтобы правильно настроить и использовать все богатые возможности 1С:Документооборот, обращайтесь к профессионалам, мы сделаем вашу работу с документами легкой и эффективной.
Читайте также: