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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.03.2009, 16:00   #1  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
relatedField и field у QueryBuildLink
Вот нашел в Ax4.0 интересный глючок, и, как мне кажется, этого в 3ке не было, впрочем, меня поправят если что...

Если у какого-либо подчиненного QueryBuildDataSource в сложном запросе попросить его link (QueryBuildLink), а у того спросить relatedField(Table) и field(Table) (поле по которому связаны соотв. родительский и сам этот текущий datasource), то в качестве related (родительского поля/таблицы) будет возвращен текущий (т.е. подчиненный), а в качестве исходного - родительский.
В частности, это может служить объяснением, почему везде в SQL запросах (или их визуализации, т.е. при отладке, скажем, если посмотреть на FormBuildDatasource ) в условиях связки таблиц переставлены местами поля связок.
У меня Ax 4.0 клиент SP0 kernel 4.0.2163.0 на БД MS SQL Server версию не скажу .
См. job.
X++:
static void testQueryBuildLink(Args _args)
{
    Query                q1;
    QueryBuildDataSource qbds1, qbds2;
    QueryBuildLink       qbdl;
    container            qrPacked, RangePacked;
    ;
    q1    = new Query();
    qbds1 = q1.addDataSource(tablenum(InventTrans));
    qbds2 = qbds1.addDataSource(tablenum(InventTable));
    qbds2.relations(false);
    qbdl = qbds2.addLink(fieldnum(InventTrans, ItemId), fieldnum(InventTable, ItemId));

    info(strfmt("Связь - %1 %2", tableid2name(qbdl.table()), fieldid2name(qbdl.table(), qbdl.field())));
    info(strfmt("к related %1 %2", tableid2name(qbdl.relatedTable()), fieldid2name(qbdl.Relatedtable(), qbdl.relatedField())));
}
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Теги
баг, ошибка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: Check if the table field is mapped. Blog bot DAX Blogs 0 07.03.2009 00:05
DeniZone: Invoking a method on a field in a form's datasource Blog bot DAX Blogs 0 13.02.2009 14:05
palleagermark: Set focus on a particular field on an EP page Blog bot DAX Blogs 0 27.11.2008 14:05
axStart: table & field ID conflicts Blog bot DAX Blogs 0 29.05.2008 17:05
SysDictCoder: Table browser with field groups Blog bot DAX Blogs 6 09.08.2007 09:56

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

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

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