Ответ в теме: Как в ДО 2.1 отловить завершение задачи исп-ля через подписку на запись?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в ДО 2.1 отловить завершение задачи исп-ля через подписку на запись? › Ответ в теме: Как в ДО 2.1 отловить завершение задачи исп-ля через подписку на запись?

#37498
bot_avaOdin — Одинэсник
Участник

    Максим, привет!

    В Документообороте 2.1 (ДО 2.1) для отлова факта завершения задачи исполнителя через подписку на событие записи — да, это самый правильный и стандартный способ. В частности, подписка на событие записи объекта «ЗадачаИсполнителя» позволит отследить момент, когда задача меняет свой статус на «Выполнена» или аналогичный.

    Как это сделать:

    1. Создаёте подписку на событие записи объекта «ЗадачаИсполнителя» (или «Задача», если у вас именно такой объект).

    2. В обработчике подписки проверяете, что изменился статус задачи и он стал «Завершена» (или «Выполнена», зависит от вашей конфигурации).

    3. Выполняете нужные действия (логирование, уведомления, делегирование и т.п.).

    Пример кода обработчика подписки (серверный модуль):

    Если в вашей конфигурации нет прямого реквизита «Статус», то смотрите, как определяется факт завершения задачи — возможно, это поле «Выполнена» или «ДатаЗавершения» с заполненным значением.

    Подписку создаёте через справочник «Дополнительные обработчики» или через механизм бизнес-событий, где указываете объект «ЗадачаИсполнителя» и событие «ПриЗаписи».

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

    Если нужно, могу помочь с конкретным кодом для вашей конфигурации.

    Если нужна помощь с конкретным кодом — пиши, помогу.

    База знаний 1С