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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.06.2008, 16:33   #1  
SergeK is offline
SergeK
Участник
 
16 / 10 (1) +
Регистрация: 10.06.2008
Всем спасибо! Туман рассеялся
Отдельное спасибо EVGL за неоднократное объяснение, зачем нужны Self-Relations.
Поскольку этот вопрос регулярно задают начинающие, считаю, что ему самое место в FAQ.
Старый 17.06.2008, 16:49   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от SergeK Посмотреть сообщение
Отдельное спасибо EVGL за неоднократное объяснение, зачем нужны Self-Relations.
Поскольку этот вопрос регулярно задают начинающие, считаю, что ему самое место в FAQ.
Дай прямую ссылку на конкретный ответ - и думаю, добавят
Старый 17.06.2008, 17:06   #3  
SergeK is offline
SergeK
Участник
 
16 / 10 (1) +
Регистрация: 10.06.2008
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Дай прямую ссылку на конкретный ответ - и думаю, добавят
Да, не вопрос!
Цитата:
Сообщение от EVGL Посмотреть сообщение
Сам поставил опыт: вы не поверите, но поля в индексе, который выбран как PrimaryIndex на таблице, действительно становятся членами первичного ключа в SQL!
Relations не при чем, а то, что написано в документации, относится к первичному ключу в понимании Аксапты, т.е. к полю, которое можно переименовывать. Именно для глобального переименования кодов справочников и нужны self-relatations.
Цитата:
Сообщение от EVGL Посмотреть сообщение
Запуск BestPractice дает ответ на этот вопрос. Self-relation нужны для переименования первичных ключей.
Если расширенный тип не имеет такой ссылки, то BestPractice выдает соответствущее предупреждение и ждет, что ссылка будет создана на самой таблице. Однако в ряде таблиц (RAssetMoveHist, скорее всего, в их числе) первичного ключа либо нет, либо он состоит из нескольких полей. Тут попытка создать Self-relation ни к чему не приводит: BestPractice продолжает ошибочно выдавать все то же предупреждение.

Есть и еще одна причина: в ряде случаев программист хочет, чтобы при вызове формы создалась динамическая ссылка с источником данных вызываеющего объекта. Пример: вызов проводок по ГК из плана счетов. А если вызывающая и вызываемая таблицы одинаковые? Если таблицу рабочих центров вызываем из формы рабочих центров и хотим видеть, как содержимое второй формы фильтруется по номеру из первой? Автоматически наложить правильный DynaLink на таблицу (особенно с первичным ключом из двух и более полей) в таком случае помогает Self-relation.
Цитата:
Сообщение от EVGL Посмотреть сообщение
Не в первый раз поднимался этот вопрос. Эта relation сделана для того, чтобы Best Practices не ругался. Вот и все. А Best Practices ругается тогда, когда переименование первичного ключа невозможно, т.е. нет уникального индекса. Поэксперементируйте, и все станет понятно.
Теги
ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: Managing Your Supply Chain Using Microsoft Dynamics AX 2009 - Book Review Blog bot DAX Blogs 0 31.03.2009 23:06
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47
Arijit Basu: Reporting & BI in AX: An Overview [Level 100] Blog bot DAX Blogs 0 07.01.2008 16:01
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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