короче вопрос решился следующим образом, в связи с переходом на xml формат мы при обращении к объекту читаем текущих менеджеров (строковый атрибут) - допустим он приходит в таком виде
Код: Выделить всё
*Куратор (04.02.2008):
Компания: РПК-Москва
ФИО: Бадерсков Вячеслав Михайлович
Состояние: Текущий*
*Менеджер (03.03.2009):
Компания: РПК-Москва
ФИО: Терещенко Елена Игоревна
Состояние: Текущий*
*Менеджер (03.03.2009):
Компания: РПК-Москва
ФИО: Решетова Юлия Юрьевна
Состояние: Проданный*
запускаем действие со скриптом
в скрипте есть фиксированный массив содержащий соответствие id - ФИО на состояние до начала работ по переходу на анализ id вместо ФИО
допустим так
Код: Выделить всё
'2х мерный массив соответствия id-ФИО 09.04.2010
73 Бадерсков Вячеслав Михайлович
72 Терещенко Елена Игоревна
41 Решетова Юлия Юрьевна
...
скрипт делает из данной строки - xml фрагмент - строку вида
Код: Выделить всё
<Manager><Group Name="РПК-Москва" id="0"><Type>Филиал</Type><User Name="Бадерсков Вячеслав Михайлович" id="73"><Type>Куратор</Type><Set>Текущий</Set><Add>20080204</Add></User><User Name="Терещенко Елена Игоревна" id="72"><Type>Менеджер</Type><Set>Текущий</Set><Add>20090303</Add></User><User Name="Решетова Юлия Юрьевна" id="41"><Type>Менеджер</Type><Set>Проданный</Set><Add>20090303</Add></User></Group></Manager>
или в другом виде (select convert(xml,'<Manager>...)
Код: Выделить всё
<Manager>
<Group Name="РПК-Москва" id="0">
<Type>Филиал</Type>
<User Name="Бадерсков Вячеслав Михайлович" id="73">
<Type>Куратор</Type>
<Set>Текущий</Set>
<Add>20080204</Add>
</User>
<User Name="Терещенко Елена Игоревна" id="72">
<Type>Менеджер</Type>
<Set>Текущий</Set>
<Add>20090303</Add>
</User>
<User Name="Решетова Юлия Юрьевна" id="41">
<Type>Менеджер</Type>
<Set>Проданный</Set>
<Add>20090303</Add>
</User>
</Group>
</Manager>
этот xml фрагмент в виде строки - записывается обратно в строковый атрибут
теперь
Юзер..... вышла замуж допустим Решетова - стала Клоковой - соответственно в дереве сотрудники компании меняем Фамилию (Объект-Атрибут) (Кстати девичью фамилию можно оставить без изменений в системных таблицах Лоции, там где логины и т.д.) и дальше при первом обращении к 'именованному' объекту - если нужно перекодируем (в скрипте) старый формат подключенных менеджеров на новый - предлагаем юзеру принять решение переименовать фамилию или нет - и сохраняем новые данные с возможностью анализа уже по id
т.е. - вся работа по изменению Фамилии проходит однократно по факту первого обращения юзера к именованному объекту
Правда все отчеты пришлось переделать на выборки по id
в общем в процессе всего этого ужаса - были освоены новые форматы - формализованы общие процедуры - и вообще наша CRM настройка Лоции стала на порядок Круче!!!!!!
(
Поиск и Отображение 2in1 -
http://www.lplm.ru/phpBB2/viewtopic.php?f=18&t=624
хранение/обработка/просмотр XML=Строковый атрибут -
http://www.lplm.ru/phpBB2/viewtopic.php?f=18&t=625
)
а казалось бы - сменила фамилию... а последствия!!!!

ps
единственное ограничение длина строкового атрибута - 2000 символов
поэтому в одном атрибуте храним текущих менеджеров - в другом тех которые уволились у этого объекта (также в xml но поменьше полей) - соответственно когда будем приближаться к 2000 символам по истории - будем удалять самую старую запись....
а если повезет - и Лоция добавит тип xml - проблем не будет вообще по длине, а мы просто оптом перенесем все атрибуты БД xml-строка в xml-xml, если конечно это когда нибудь случится
