Creatio development guide
PDF
Это документация Creatio версии 7.16.0. Мы рекомендуем использовать новую версию документации.

Синхронизация встреч с MS Exchange

Glossary Item Box

Общая информация

На базе механизма синхронизации Sync Engine в конфигурации реализована интеграция с различными сущностями Exchange по протоколу EWS (Exchange Web Services). В данной статье описана синхронизация встреч Creatio со встречами MS Exchange.

Синхронизация встреч Creatio происходит только для новых активностей или при изменении полей Title, Location, StartDate, DueDate, Priority, Notes. По этим полям формируется хэш, который хранится в дополнительных параметрах метаданных (в поле ExtraParameters). Если встреча была изменена в Creatio, и хэш из ExtraParameters не совпадает с новым хэшем, то эта встреча должна быть синхронизирована.

Алгоритм синхронизации встреч не отличается от описанного в статье "Синхронизация Creatio с внешними хранилищами данных", и происходит в три этапа:

  1. Получение изменений из MS Exchange, их применение;
  2. Получение изменений из Creatio, их применение;
  3. Создание новых встреч из Creatio в MS Exchange.

Классы, реализующие интеграцию

Как описано в статье "Синхронизация Creatio с внешними хранилищами данных", для того чтобы реализовать интеграцию с использованием данного механизма, необходим класс, реализующий логику работы с внешним хранилищем, — наследник RemoteProvider (рис. 1), и класс, реализующий интерфейс IRemoteItem (рис. 2), который представляет один экземпляр элемента синхронизации (в даном случае — встречу MS Exchange).

Рис. 1. — Схема иерархии RemoteProvider

 

Класс ExchangeAppointmentSyncProvider является провайдером для работы с внешним хранилищем Exchange. В нем реализована логика по выбору данных и сохранению изменений в Creatio и Exchange.

Класс ExchangeAppointment реализует интерфейс IRemoteItem, и в нем реализована логика заполнения данных в соответствующих системах.

Рис. 2. — Схема иерархии RemoteItem

Синхронизируемые данные

Соответствие объектов Creatio и полей класса ExchangeAppointment отображено в таблице 1.

Табл. 1. — Соответствие объектов Creatio и полей класса ExchangeAppointment

Объект Creatio Поле объекта Соответствующее поле MS Exchange Appointment
Activity Title Subject
Location Location
StartDate StartDate
DueDate CompleteDate или DueDate в зависимости от того, завершена встреча или нет.
Priority Importance
Status

Заполняется по алгоритму:

Если статус не указан и дата окончания больше, чем текущая, — статус в Creatio устанавливается как "Новая встреча".

Если дата окончания меньше, чем текущая дата, — статус устанавливается как закрытая встреча со статусом "Информация получена".

RemindToOwner IsReminderSet
RemindToOwnerDate ReminderDueBy
Notes Body.Text
ActivityParticipant InviteResponse Если в MS Exchange установлен признак, что встреча принята или пользователь является организатором встречи, то в Creatio устанавливается признак "Встреча подтверждена". В противном случае устанавливается признак того, что встреча отменена.

Логика выбора данных для синхронизации

Для выбора изменений в списке встреч из отобранных для синхронизации папок MS Exchange используется следующий набор фильтров: выбираются встречи MS Exchange, которые были изменены после даты последней синхронизации встреч, или встречи MS Exchange, которые не были отмечены, как ранее синхронизированные. Для встреч, которые были изменены, находятся соответствующие активности в Creatio. Самые актуальные изменения применяются в соответствующей системе.

При выборе измененных активностей Creatio выбираются активности:

  • которые имеют запись в метаданных синхронизации как встречи MS Exchange по RemoteId (определяется уникальным идентификатором встречи в календаре ICalId);
  • дата последнего изменения которых больше, чем дата последней синхронизации;
  • одна встреча в Creatio соответствует нескольким встречам в MS Exchange для каждого участника.

При выборе новых активностей Creatio устанавливается набор общих фильтров и фильтры, настраиваемые пользователем. Основными фильтрами являются:

  1. Тип активности не равен "Email".
  2. У активности установлен признак [Отображать в расписании].

Пользователь может указать группы активностей, которые будут экспортироваться из Creatio.

Логика выбора участников встречи

При синхронизации активности из MS Exchange в Creatio на деталь [Участники] добавляются те контакты, у которых на детали [Средства связи] есть email из списка учасников встречи в MS Exchange.

При синхронизации активностей из Creatio в MS Exchange участники встречи для MS Exchange заполняются основными email-адресами контактов.

 

© Terrasoft 2002-2020.

Был ли данный материал полезен?

Как можно улучшить эту статью?