Михаил Захаров
Если ваш бизнес-процесс работает с письмами, а затем их удаляет. При этом возможно возникновение ситуации, когда отправитель установил признак "Уведомлять о прочтении", а т.к. процесс письмо после обработки удалил, то Exchange отправит уведомление типа "Ваше письмо было удалено без прочтения". Пользователь сразу начинает злиться, что его письма удаляют. До недавнего времени и наши процессы в техподдержке этим страдали.
Решает проблему простенький сценарий:
' подключение системных библиотек
Imports System
Imports System.Xml
' подключение библиотек СУБП
Imports DocsVision.Workflow.Objects
Imports DocsVision.Workflow.Runtime
Imports DocsVision.Workflow.Gates
Imports DocsVision.Platform.HelperAPI
Namespace DVScriptHost
Public Class DVScript
Public Sub Execute(ByVal process As ProcessInfo, ByVal passInfo As PassState)
Try
' шлюз в почту
' Dim oEXGate As ExGate = CType(process.Gates(ExGate.GateID), ExGate)
' почтовое сообщение
Dim varMail As ProcessVariable = process.GetVariableByName("Сообщение")
Dim oMail As ExMessage = CType(varMail.Value, ExMessage)
oMail.Unread = False
Catch Err As Exception
' запись в журнал ошибки исполнения
process.LogMessage("Ошибка выполнения скрипта:" + Err.Message)
End Try
End Sub
End Class
End Namespace
В бизнес-процессе, переменная "Сообщение" имеет тип "Почтовое сообщение" и хранит в себе письмо. Пользователи довольны, увидев сообщение типа "Сообщение прочитано: 29 июня 2009 г. 17:31:13 (GMT+03:00) Волгоград, Москва, Санкт-Петербург", которое теперь отправляет Exchange.
Ссылки по теме