Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

В обработчиках сообщений и в ходе типовых маршрутов рекомендуется записывать бизнес-события в справочник События межсистемных процессов. Это позволяет отслеживать ход работы по процессу.

Для записи события в текущей системе используйте функцию DCIWriteProcessEvent. Чтобы передать событие в другую систему, отправьте сообщение SendBusinessEvent.

Примечание

Для корректной работы сообщение SendBusinessEvent должно быть добавлено в справочник Виды межсистемных процессов для данного вида процесса.

Структура обработчика отправки сообщения SendBusinessEvent:

 

  MessageData = DCIGetObjectDictionary()

  Params = DCIGetParams()

  ProcessMessage = DCIGetProcessMessage()

  MessageData.Add("Event"; Params.FindItem("Event"))

  MessageData.Add("EventDateTime"; Params.FindItem("EventDateTime"))

  MessageData.Add("EventDetails"; Params.FindItem("EventDetails"))

  DCIAttachDataToProcessMessage(ProcessMessage; MessageData; "MessageData")

Структура обработчика приема сообщения SendBusinessEvent:

 

  ProcessMessage = DCIGetProcessMessage()

  MessageData = DCIGetDataFromProcessMessage(ProcessMessage; "MessageData")

  Event = MessageData.ValueByName("Event")

  EventDateTime = DCIUTCStrToLocalTime(MessageData.ValueByName("EventDateTime"))

  EventDetails = MessageData.ValueByName("EventDetails")

  DCIWriteProcessEvent(ProcessMessage.ProcessGlobalId; Event;

    EventDateTime; EventDetails)

Рекомендации:

записывайте краткую информацию, понятную пользователю. Справочник События межсистемных процессов должен показывать, что именно произошло в системе в ходе бизнес-процесса;
в карточку события записывайте детальную информацию. Например, это помогает в поиске причины ошибки;
чтобы получить быстрый доступ к журналу событий, на ленту карточки задачи, задания, документа или записи справочника добавьте кнопку, открывающую справочник События межсистемных процессов:

 

  // Открыть события по процессу по кнопке из карточки задачи.

  Params = Object.WorkflowParams

  // Найти идентификатор межсистемного процесса.

  ProcessGlobalID = Params.FindItem("ProcessGlobalID").Value

  // Показать события по межсистемному процессу.

  DCIOpenEventsOnTheProcess(ProcessGlobalID)

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }