24.02.2009, 18:55 | #1 |
Участник
|
Изменение fieldId
Microsoft Dynamics 4.0
kernel version 4.0.2501.116 application version 4.0.2501.347 Как можно поменять fieldId без потери информации? Поиск по форуму и модификация SqlDictionary и UtilIdElements ни к чему не привели. |
|
24.02.2009, 20:30 | #2 |
Модератор
|
__________________
-ТСЯ или -ТЬСЯ ? |
|
25.02.2009, 10:01 | #3 |
Moderator
|
А то же самое для 3.0 никто не подскажет?
__________________
Андрей. |
|
25.02.2009, 10:09 | #4 |
Administrator
|
Дык это.... не делая синхронизацию - трем записи в SQLDictionary про эту таблицу. Потом делаем \Администрирование\Периодические операции\Администрирование SQL\Проверка/синхронизация для нашей таблицы. Соответственно - в SQLDictionary запишется инфа о fieldID из АОТа. В конце концов в SQLDictionary напрямую можно сменить fieldId, если дело касается одного поля.
Я не очень понимаю - почему модификация SQLDictionary у автора топика не решила его проблему. Может потому, что он менял UtilIdElements, либо делал синхронизацию до всех изменений. Синхронизация - она ж тупо сравнивает АОТ и SQLDictionary. И если есть расхождения по ID - то старый стирает в таблице (с удалением поля), и новый создает (с созданием поля). Поэтому - если поле просто переименовано - то Аксапта "догадается" - что его надо не грохать, а просто переименовать.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 25.02.2009 в 10:17. |
|
25.02.2009, 10:10 | #5 |
Moderator
|
Мне бы наоборот, в АОТ поменять...
__________________
Андрей. |
|
25.02.2009, 10:31 | #6 |
Administrator
|
ааа.. ну это другое дело. Только для сохранения данных важно - чтобы в АОТ и SQLDictionary ID-шники совпадали.
Первый способ - простой - экспорт с сохранением ID, изменение ID в XPO, удаление объекта из текущего слоя и импорт с сохранением ID Второй - это попробовать поиграться с UtilElements*. Но там 2 таблички - UtilElements и UtilIdElements. Тут не скажу точно - надо пробовать. У автора смотрю не получилось. Тут могут быть только рекомендации делать это в 2-шке. Может еще что-то потребуется - надо исследовать
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 25.02.2009 в 10:35. |
|
25.02.2009, 10:32 | #7 |
Member
|
В АОТ можно экспортом-импортом с сохранением идентификаторов. Но аккуратно.
__________________
С уважением, glibs® |
|
25.02.2009, 10:41 | #8 |
Administrator
|
кстати. Мысль пришла. Очевидно - что изменение в UtilIdElements может погоды не сделать... до тех пор пока "жив" axapd.aoi. Но это - только мысль - ее надо проверять.
__________________
Возможно сделать все. Вопрос времени |
|
25.02.2009, 12:07 | #9 |
MCITP
|
Цитата:
Это же не таблица на самом деле, в том смысле, что это не таблица в БД.. Это что-то типа "проекции структуры приложения в таблицу". Типа представления объектов приложения (которые на самом деле хранятся в бинарном виде в файле АОТ) в удобном виде. Поменять в ней ID из БД не получится, так как там её нет, а из Аксапты тоже не получается, пробовал: Цитата:
Невозможно отредактировать запись в "UtilIdElements" ("UtilIdElements").
Номер записи не соответствует первоначальному номеру. Так что я вижу наиболее реальным только вариант экспорт-импорт...
__________________
Zhirenkov Vitaly |
|
25.02.2009, 12:25 | #10 |
Участник
|
Dron AKA andy
Была тема с твоим участием по этому поводу Изменение идентификаторов(id) полей
__________________
Axapta v.3.0 sp5 kr2 |
|
25.02.2009, 13:14 | #11 |
Administrator
|
Есть у меня бааальшое подозрение, что aod-файлы - представляют собой набор таблиц (а-ля mdb-файл) или одну большую таблицу (а-ля dbf-файл), только в "своем", конкордовском формате. Было бы интересно поставить какой-нибудь XAL и попытаться прочесть эти файлы как БД.
Я могу ошибаться. Это всего лишь гипотеза.
__________________
Возможно сделать все. Вопрос времени |
|
25.02.2009, 15:13 | #12 |
Moderator
|
Цитата:
Сообщение от AndyD
Dron AKA andy
Была тема с твоим участием по этому поводу Изменение идентификаторов(id) полей
__________________
Андрей. |
|
25.02.2009, 18:03 | #13 |
Участник
|
Цитата:
ключ -native при запуске переводит Аксапту 3.0 в режим работы с базой данных собственного формата. Файл базы данных собственного формата (был) похож на aod изнутри. Давно проверял. Про последние версии и сервис-паки уже не знаю. |
|
|
За это сообщение автора поблагодарили: belugin (17), Logger (1). |