AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.02.2009, 18:55   #1  
NetBus is offline
NetBus
Участник
 
200 / 85 (3) ++++
Регистрация: 08.07.2005
Адрес: Москва
Изменение 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  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
palleagermark: Dealing with changed table or field id's
__________________
-ТСЯ или -ТЬСЯ ?
Старый 25.02.2009, 10:01   #3  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
А то же самое для 3.0 никто не подскажет?
__________________
Андрей.
Старый 25.02.2009, 10:09   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Дык это.... не делая синхронизацию - трем записи в SQLDictionary про эту таблицу. Потом делаем \Администрирование\Периодические операции\Администрирование SQL\Проверка/синхронизация для нашей таблицы. Соответственно - в SQLDictionary запишется инфа о fieldID из АОТа. В конце концов в SQLDictionary напрямую можно сменить fieldId, если дело касается одного поля.

Я не очень понимаю - почему модификация SQLDictionary у автора топика не решила его проблему. Может потому, что он менял UtilIdElements, либо делал синхронизацию до всех изменений.
Синхронизация - она ж тупо сравнивает АОТ и SQLDictionary. И если есть расхождения по ID - то старый стирает в таблице (с удалением поля), и новый создает (с созданием поля). Поэтому - если поле просто переименовано - то Аксапта "догадается" - что его надо не грохать, а просто переименовать.
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 25.02.2009 в 10:17.
Старый 25.02.2009, 10:10   #5  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Мне бы наоборот, в АОТ поменять...
__________________
Андрей.
Старый 25.02.2009, 10:31   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
ааа.. ну это другое дело. Только для сохранения данных важно - чтобы в АОТ и SQLDictionary ID-шники совпадали.
Первый способ - простой - экспорт с сохранением ID, изменение ID в XPO, удаление объекта из текущего слоя и импорт с сохранением ID
Второй - это попробовать поиграться с UtilElements*. Но там 2 таблички - UtilElements и UtilIdElements. Тут не скажу точно - надо пробовать. У автора смотрю не получилось. Тут могут быть только рекомендации делать это в 2-шке. Может еще что-то потребуется - надо исследовать
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 25.02.2009 в 10:35.
Старый 25.02.2009, 10:32   #7  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
В АОТ можно экспортом-импортом с сохранением идентификаторов. Но аккуратно.
__________________
С уважением,
glibs®
Старый 25.02.2009, 10:41   #8  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
кстати. Мысль пришла. Очевидно - что изменение в UtilIdElements может погоды не сделать... до тех пор пока "жив" axapd.aoi. Но это - только мысль - ее надо проверять.
__________________
Возможно сделать все. Вопрос времени
Старый 25.02.2009, 12:07   #9  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
кстати. Мысль пришла. Очевидно - что изменение в UtilIdElements может погоды не сделать... до тех пор пока "жив" axapd.aoi. Но это - только мысль - ее надо проверять.
А поменять ID в этой "таблице" и не получится...
Это же не таблица на самом деле, в том смысле, что это не таблица в БД.. Это что-то типа "проекции структуры приложения в таблицу". Типа представления объектов приложения (которые на самом деле хранятся в бинарном виде в файле АОТ) в удобном виде. Поменять в ней ID из БД не получится, так как там её нет, а из Аксапты тоже не получается, пробовал:
Цитата:
Невозможно отредактировать запись в "UtilIdElements" ("UtilIdElements").
Номер записи не соответствует первоначальному номеру.
Ну т.е. может как-то конечно хитро и можно, но у меня не получалось...

Так что я вижу наиболее реальным только вариант экспорт-импорт...
__________________
Zhirenkov Vitaly
Старый 25.02.2009, 12:25   #10  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Dron AKA andy
Была тема с твоим участием по этому поводу Изменение идентификаторов(id) полей
__________________
Axapta v.3.0 sp5 kr2
Старый 25.02.2009, 13:14   #11  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,322 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от ZVV Посмотреть сообщение
Это же не таблица на самом деле, в том смысле, что это не таблица в БД..
Есть у меня бааальшое подозрение, что aod-файлы - представляют собой набор таблиц (а-ля mdb-файл) или одну большую таблицу (а-ля dbf-файл), только в "своем", конкордовском формате. Было бы интересно поставить какой-нибудь XAL и попытаться прочесть эти файлы как БД.

Я могу ошибаться. Это всего лишь гипотеза.
__________________
Возможно сделать все. Вопрос времени
Старый 25.02.2009, 15:13   #12  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от AndyD Посмотреть сообщение
Dron AKA andy
Была тема с твоим участием по этому поводу Изменение идентификаторов(id) полей
Точняк, было дело, благополучно забыто за давностью лет
__________________
Андрей.
Старый 25.02.2009, 18:03   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Есть у меня бааальшое подозрение, что aod-файлы - представляют собой набор таблиц (а-ля mdb-файл) или одну большую таблицу (а-ля dbf-файл), только в "своем", конкордовском формате. Было бы интересно поставить какой-нибудь XAL и попытаться прочесть эти файлы как БД.
XAL не нужен.
ключ -native при запуске переводит Аксапту 3.0 в режим работы с базой данных собственного формата.
Файл базы данных собственного формата (был) похож на aod изнутри.

Давно проверял. Про последние версии и сервис-паки уже не знаю.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: belugin (17), Logger (1).
Теги
id объекта, ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменение идентификаторов(id) полей Dron AKA andy DAX: База знаний и проекты 30 17.06.2009 10:11
msdynamicsax: Upgrading a database from Ax 4.0 SP1 to Ax 2009 Blog bot DAX Blogs 1 13.08.2008 14:02
gatesasbait: FieldId switch-case on an table's array-type field Blog bot DAX Blogs 0 20.12.2007 20:30
почему на работает common.(fieldId)[idx] maze DAX: Программирование 3 31.08.2007 06:48
sum fieldId novic DAX: Программирование 3 16.03.2006 13:44

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:37.