Свойства сущности типа IEntity При реализации маппинга простых типов данных не требуется каких либо ухищрений. Однако, если в сущности есть свойства типа ссылки на справочник или документ, то необходимо реализовать дополнительную логику. Пример для сущности Контакт (исходный код урезан для простоты понимания): /// public class ContactDataItem : BaseDataItem { /// public override string Path => "app/_clients/_contacts"; /// /// [JsonProperty(PropertyName = "__name", NullValueHandling = NullValueHandling.Ignore)] public string Name { get; set; } ... /// /// [JsonProperty(PropertyName = "_companies", NullValueHandling = NullValueHandling.Ignore)] public List Companies { get; set; } ... } Данная реализация позволяет подготовить пакет передачи в ELMA365 в нужном формате. Лисенер для регистрации изменений элемента сущности (исходный код урезан для простоты понимания): public static Pair SyncContact(IContact item, bool syncLink = false) { var data = new ContactDataItem(); if (item == null) return new Pair(data, item); ... E365DataItemManager.Instance.PushItem(typeof(ContactDataItem), item.Uid, data, item, SR.T("Контакт: {0}", item.Name)); if (!syncLink) return new Pair(data, item); var link = new LinkDataItem(data); link.Links.Add(new LinkImpl(ContractorListener.SyncContractor(item.Contractor), BaseDataItem.GetJsonPropertyName(x => x.Companies))); E365DataItemManager.Instance.PushItem(typeof(LinkDataItem), link.Uid, link, item, SR.T("Связи в контакте: {0}", data.Name)); return new Pair(data, item); }