1с Документообороот Детекторы событий #770643


#0 by Strelolga
Добрый день! Занимаюсь внедрением документооборота. Реализован старт БП по получению электронного письма. У БП есть до. реквизит - почта отправителя. БП состоит из одной задачи "Ознакомление", в которой пользователь заводит нового контрагента. Теперь возникает закономерное желание при выполнении задачи оповещать заказчика (отправителя электронного письма) о результате ознакомления. Стандартными средствами не получается реализовать: если сосздать вторую задачу "Ознакомление с результатами", тогда нужно будет указывать исполнителя..А У нас такого пользователя может в БД и не быть. Хочу см помощью детектора событий отследить момент, когда выполняется задача "Ознакомление" и формировать исх электронное сообщение. Возникает проблема, как написать детектор событий?
#1 by Лефмихалыч
>как написать детектор событий Раздел Нормативно-справочная информация...детекторы бизнес событий...новый и в текстовое поле пиши код. Но, думаю, на самом деле вопрос у тебя не в этом
#2 by lubitelxml
ну при завершении БП ознакомления ты можешь выполнять произвольный код, что мешает там написать формирование эл. письма? п.с.: у нас на самописке именно так.
#3 by Strelolga
Конечно не в этом. Меня интересует, как отобрать задачу "Ознакомление" у нужного мне БП, которая только что выполнилась. И как не обрабатывать одни и те же, задачи
#4 by Strelolga
расскажи подробнее, как выполнять произвольный код?
#5 by Strelolga
т.е. сделать в конфигураторе подписку на событие "БППри записи".. и если статус = завершен, тогда формировать письмо? Это я и делаю. Но хотелось бы научиться пользоваться детекторами событий.
#6 by lubitelxml
в карте маршрута есть точка завершения, у нее можно указать событие
#7 by lubitelxml
с детекторами из бсп не работал
#8 by Strelolga
подробнее можно?
#9 by lubitelxml
правой по бизнес процессу - открыть карту маршрута, там в самом низу голубенький блок, у него в свойствах есть событие, будет отрабатывать при закрытии БП. Вот мой код из этой процедуры
#10 by Лефмихалыч
только это к сабжу не имеет отношения
#11 by lubitelxml
я в написал что решение без детекторов
#12 by Strelolga
нет события. все посмотрела на 3 раза. а так идея хорошая
#13 by Strelolga
Документооборот 8 КОРП, редакция 2.0 (2.0.9.6)
#14 by Strelolga
что является объектом согласования?
#15 by Лефмихалыч
Надо создать вид события. С этим видом события связать детектор. В детекторе написать код, который будет возвращать истину, когда есть в даже необработанные завершенные ознакомления нужного вида. Далее создать польовательский обработчик бизнес-события, который связать с этим событием и в коде обработчика написать код, который будет отправлять в нужном количестве письма.
#16 by Лефмихалыч
это - если кратко.
#17 by Strelolga
Эти общие фразы я и так понимаю. Я не понимаю что написать в код детектора. Как отследить событие, задача завершена.
#18 by Strelolga
АА. нужно наверное так.. Выбирать все выполненные задачи например за предыдущий час по нужному мне БП. Если хоть одна задача найдена, результат = истина; ТОгда запустится обработка и должна сработать подписка. В которой я опять же буду выбирать все задачи, которые ввыполнены за предыдущий час и которые еще не были обработаны (вот как это отследить???) и отправлять по ним письма. я на верном пути?
#19 by Лефмихалыч
ну, задавай тогда конкретные вопросы тебе как-то надо мочь отличать именно твои процессы или задачи программно. Например это по шаблону процесса делать. Или сама придумай способ. Кроме того, тебе надо и в коде детектора, и в коде обработчика отличать процессы/задачи, по которым уже все отправлено, от таких же, по которым не отправлено. Иначе заспамишь дублями.
#20 by lubitelxml
почитайте про БП - много статей написано, там все разжевано
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С