Что самое интересное - клиента можно и нужно ... с разных сторон
Простой пример Центр-это мы, филиал - это учебное заведение...
Мы нашли клиента приняли от него заказ - записали данные контакты и т.д. (создали проект) и бросили его в учебный филиал (репликация) - там с ним начали работать по своему... в то же самое время, тот же самый клиент выставляет какие то заказы центру... и дополнительно по прошествии обучения в филиале клиент возвращается (репликация) обратно в центр для проведения маркетинговых мероприятий по накопленной информации
Что получаем в итоге
1. Есть общая контактная информация (пара объектов клиент/контакт с атрибутами)
2. Есть действия совершаемые в филиалах, оформленные в виде своих непересекающихся объектов (в центре заказы-свои объекты, в филиале учеба-свои объекты)
В чем проблема на сегодня
1. Риск изменения общей контактной информации - мы записали один адрес, а филиал исправил его на другой и вернул нам
2. Риск перезаписи общего информационного атрибута
Мы на текущий момент фиксируем в специальном атрибуте все ключевые телодвижения клиента т.е. он говорит - хочу купить-мы создаем отдельный объект ХОЧУ и дополняем специальный информационный атрибут клиента тем что - такого то числа такой то чел сказал хочу купить (строка). В результате этот атрибут в центре заполняется своей информацией+ свои объекты, а в филиале тот-же атрибут -своей+плюс уже свои, филиальские объекты - поэтому я и предполагал их (атрибуты активности по филиалам) разнести чтобы случайно не перезаписать (данная задача - информация о ключевых событиях клиента-может быть собрана и отчетом по объектам- но руководство сказало что она должна быть видна сразу в виде отдельного текста)
Кстати сбербанк/страховщики и т.д. действуют по аналогичной схеме (к сожалению не на Лоции)
один клиент-миллион филиалов-все работают с клиентом на местах-вечером (или сразу) сливают информацию в общую базу...
Причем при изменении некоей общей информации - оператор, если ему разрешено редактирование, должен описать причину изменения, и в случае внесения недостоверных данных-ответить по полной программе
выход наверно только один
1.на каждый атрибут(или группу атрибутов) с общей информацией - добавить атрибут - изменений - кто когда и почему (если бы можно было использовать атрибуты истории Лоции в расширенном варианте- с сохранением предыдущего значения атрибута-это бы подошло))
2.в каждом филиале все действия оформлять в виде самостоятельных объектов (которые инициируются и 'закрываются' только в своём филиале)
3.информацию о 'активности' накапливать не в общем информационном атрибуте а получать отчётом
тогда пересечений нет, все просто, но добавляются атрибуты изменений общей информации
Идея Алексея о версионности объекта по филиалам с последующим наследованием варианта - мне честно говоря- совершенно не нравится - много 'двойников'
Идея Артема о создании служебного объекта с атрибутами изменений по филиалам - усугубляется только тем - что это оформлено в виде отдельного объекта который будет доступен (виден) в дереве проекта, и будет отвлекать.
Извиняюсь конечно за критику

но вариант Крупского с отдельными объектами и вариант сбербанка с атрибутом о причине изменения атрибута(ов) мне кажется наиболее перспективным - один проект+куча объектов из филиалов+ общая для всех информация с историей кто зачем и с какого перепуга изменил обшие данные какие мы считали достоверными
но... и здесь проблема - атрибут хранящий историю о факте изменения атрибута - тоже является общим
Давайте сузим задачу
как использовать общий атрибут о факте изменения общей информации и не перетереть его во время репликации
