В каких классах находится логика парсинга писем и как их расширить?

Добрый день!

Есть задача: привязать условие определения родительского инцидента/обращения не к цепочке в хэдере, а к значению в теме письма. Не могу разобраться в том, в какой момент срабатывает логика, заполняющая CaseId у активности типа email (или соответственно ConversationId в EmailMessageData, т.к. насколько я вижу это связанные факторы и в дальнейшем именно на ConversationId построено разграничение связанных и не связанных email).

Где она запускается и можно ли как-то написать класс-расширение который переопределил бы эти методы?

Заранее спасибо!

Нравится

1 комментарий

Добрый день,

 

Логика проверки активности на привязку к существующему обращению или создания нового обращения находится в бизнес процессе "IncidentRegistrationFromEmailProcess" (который запускается после каждой завершенной сессии синхронизации писем в системе). В элементе скрипт-таск процесса вызывается метод RegisterIncidentFromEmail, который в конце выполнения делает вызов:

 

result = helper.GetRegisterIncidentId(activityId);

 

helper - это класс IncidentRegistrationFromEmaillHelper.

GetRegisterIncidentId - публичный виртуальный метод, который вызывает другой защищенный метод InternalRegisterCase, который в свою очередь или регистрирует новое обращение или привязывает активность к существующему обращению.

 

Поэтому, если нужно изменить логику, нужно смотреть в сторону замещения метода GetRegisterIncidentId внутри IncidentRegistrationFromEmaillHelper и прописывать свою кастомную логику там.

Показать все комментарии