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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.07.2011, 16:48   #1  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,913 / 5736 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Ну собственно они по похожей схеме и пошли. В предыдущей статье MFP, наисано что они для каждого элемента завели GUID:
Цитата:
To solve this we introduced a new guid property on all ID based elements and all root-elements: Origin. This property is set when an element is created, and remains static for the lifetime of the elements. It is the element's fingerprint. Besides enabling invariant IDs across releases for renamed elements the Origin property has proven valuable in data export scenarios, and rename scenarios of newly fine grained meta data (like forms).
То есть -они в каждой сущности AOD завели GUID. Именами не стали пользоваться чтобы дать возможность переименовывать объекты при рефакторинге (что полезно). А при инсталляции в конкретную систему, для каждого объекта, кроме GUID выдается еще и installation-specific id. Так что по хорошему, если хочешь в данных держать ссылку на идентификатор объекта, то надо заводить поле типа GUID, и туда этот Origin писать. Но для совместимости с предыдущими версиями, они приделали хитрую заплатку в импорт-экспорт, которая для полей с id объекта, пытается на ходу подменить его на GUID при эспорте и обратно на id при импорте...
Конечно я тут немножко додумал, возможно что использование GUID для ссылок на объекты не является best practice; Возможно по прежнему нужно использовать id с этой заплаткой на импорт/экспорт. Но все равно - ссылка по id, при таком подходе, постепенно станет пережитком...

Последний раз редактировалось fed; 20.07.2011 в 17:06.
Старый 20.07.2011, 18:37   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от fed Посмотреть сообщение
Именами не стали пользоваться чтобы дать возможность переименовывать объекты при рефакторинге (что полезно).
Ну не согласен. С т.з. хранения ссылок на объекты в данных - конечно да, но я об этом и не говорил. Я говорил про штатную процедуру экспорта / импорта данных. Пусть она немного напряжется и при экспорте - вместо ссылки на объект подставит название объекта, а при импорте - обратно заменит на код.
По аналогии, как сейчас при импорте RefRecId пересчитывается.
Понятное дело - это не увеличит скорость экспорта / импорта. Зато он будет надежен на 100% (за исключением тех случаев, когда система не сможет догадаться, что для этого поля нужно делать замену. Однако, существующее решение аналогичной проблемы с RefRecId показало - что при желании - можно всего добиться).

Занести в бест практис указание использование спец типов для ссылочных полей.
И все будут стремиться их использовать.
__________________
Возможно сделать все. Вопрос времени
Старый 21.07.2011, 09:47   #3  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,913 / 5736 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Ну не согласен. С т.з. хранения ссылок на объекты в данных - конечно да, но я об этом и не говорил. Я говорил про штатную процедуру экспорта / импорта данных. Пусть она немного напряжется и при экспорте - вместо ссылки на объект подставит название объекта, а при импорте - обратно заменит на код.
По аналогии, как сейчас при импорте RefRecId пересчитывается.
Рискну предположить что:
  • Имя, в среднем, длиннее GUID
  • Имя может поменяться между версиями из за рефакторинга
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mfp: The solution to the element ID problem Blog bot DAX Blogs 0 12.07.2011 19:12
mfp: Adapting to installation specific IDs Blog bot DAX Blogs 0 03.01.2011 20:12
semanticax: Dynamics AX 2009 Installation - Application Blog bot DAX Blogs 0 22.12.2010 08:11
CRM DE LA CREME! CRM Installation Tips Blog bot Dynamics CRM: Blogs 0 21.05.2010 10:05
mfp: AX6 sneak preview - elements with 32 bit IDs Blog bot DAX Blogs 10 30.05.2009 10:45
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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