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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.10.2015, 14:02   #8  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Их отличие только в значении определенного флага на этом самом Relation.
Ну ... я бы несколько поостерегся их не использовать. Сильно подозреваю, что на этот флаг в будущем может быть повешена логика. Уж больно она напрашивается.
Во-первых, Relation типа ForeignKey дает возможность установить на Relation-е свойство CreateNavigatePropertyMethods и впоследствии пользоваться не только теми методами, которые находятся в узле Methods, но и динамически создаваемыми методами перехода от одной таблицы к другой.
Во-вторых, в форме расширенного фильтра есть возможность выбирать из списка полей не только поля выбранной таблицы и ее родителей, а еще и связанных по ForeignKey таблиц (см таблицу VendTable и релейшн MainContactWorker на таблицу HcmWorker; в форме - это поле Ответственный). И этот выбор зависит от значения метода sysDictField.isSurrogateForeignKey().

Сейчас, если создать Relation типа Обычный и добавить одну связку - то независимо от того - взведен флаг с ForeignKey у релейшна или нет, и метод CreateNavigatePropertyMethods на релейшне доступен и метод sysDictField.isSurrogateForeignKey() возвращает значение True. Все эти прелести пропадают при добавлениии в релейшн второго поля-связки.

Соответственно, с учетом того, что система хранит информацию о том, как был создан Relation - через ForeignKey или через Nornal - никто не застрахован от того, что метод sysDictField.isSurrogateForeignKey() будет смотреть на этот флаг (а это ядро между тем), а также пропадет свойство CreateNavigatePropertyMethods у релейшна, у которого "нет полномочий его менять.

Но пока оно работает... хорошо
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: EVGL (1), Владимир Максимов (1), Cardagant (1).
Теги
ax2012r3, relation

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сделать левый join или сделать динамическую группировку в GRID kadet DAX: Программирование 10 12.03.2013 12:07
Как сделать фильтр по группе пользователей? Zabr DAX: Программирование 12 08.04.2009 11:40
Заумный отчет по ОС, как сделать? Бриллиантик DAX: Программирование 13 09.07.2008 16:36
Как лучше сделать? Smith DAX: Программирование 7 12.10.2004 13:57
дизайн отчета (как сделать его с разделителями между столбцами?) puz DAX: Программирование 7 02.09.2003 08:50

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

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

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