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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.02.2018, 17:07   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Суррогатные ключи и есть RecId в понятии АХ - т.о. их специально создавать не надо. Конечно можно и свой создать, но это уже будет совсем излишняя работа (на мой взгляд).

Нужен ли метод findRecId? Я считаю, что нужен. Я вообще еще с ранних версий всегда придерживался идеологии, что лишний метод, который представляет собой дополнительное API - лишним не будет, даже если он нигде не используется. Это слегка противоречило взглядам сотрудников из MS, но ... это не меняло моего подхода.

На практике ключевыми критериями необходимости суррогатного ключа для меня всегда являлось:
1. Удобство переноса данных (если данные необходимо переносить - например, это те или иные настройки) - то суррогатные ключи идут лесом - это сильное усложнение поддержки. Библия библией, а простота поддержки важнее библии (это лично мое мнение).

2. Необходимость иметь некий идентификатор для пользователя, например, код заказа на продажу, код ваучера и т.д. В этом случае суррогатные ключи непрезентабельны и опять лишний раз усложняют работу с данными. К примеру, InventDimId вполне мог себе быть суррогатным ключом, т.к. он не является для пользователя каким-либо идентификатором.

3. Заведомо известная ситуация, при которой ключом является другое поле (не RecId). Например, импортируются данные из другой программы вместе с идентификатором записи из другой программы. В этом случае (если заведомо точно известно, что ошибочных ситуаций быть не может) ключом можно назначить другое поле. Это удобно, если по этому полю (что скорее всего) будет выполняться поиск.

Ну а в остальных случаях ... в общем -то можно обойтись и суррогатными ключами. Хотя лично мне ближе в душе естественные ключи и суррогатный ключ я большей частью делаю только в том случае, когда использование естественного ключа неудобно / невозможно (тот же InventDimId по сути - суррогатный ключ)
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: IKA (1), Prof (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Используете ли вы @SYS метки при создании своих партнерских расширений? kashperuk DAX: Программирование 35 12.03.2011 23:23
Покупка Аксапта... Лицензионные ключи и модули edd DAX: Прочие вопросы 20 20.12.2006 14:33
Используете ли Вы OLAP в Аксапте? Hidden DAX: Функционал 21 20.07.2006 17:19
Как загрузить лицензии чтобы не слетели конф. ключи? MironovI DAX: Администрирование 2 20.01.2006 12:42
Лицензионные ключи eremite DAX: Администрирование 12 26.07.2004 14:53

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

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

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