13.03.2009, 16:00 | #1 |
NavAx
|
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()))); }
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... |
|
14.03.2009, 13:01 | #2 |
Участник
|
Модераторам: Перенести плз в тему "Отправьте баги в Майкрософт", проверю на последней версии.
Спасибо |
|
14.03.2009, 20:21 | #3 |
Участник
|
Цитата:
правильно чел сделал, что создал отдельную тему. добавил тег "ошибка" к теме. |
|
15.03.2009, 00:53 | #4 |
Участник
|
Просто ту тему я периодически проверяю (я на нее подписан).
А эту тему я могу пропустить, и баг может (если сами не найдем) так и остаться неисправленным... |
|
|
За это сообщение автора поблагодарили: glibs (25). |
15.03.2009, 01:24 | #5 |
Участник
|
А остальным участникам как находить ошибки?
Цитата:
Но через некоторое время ты будешь заниматься другой работой. А свалка в одной неперевариваемой и нечитаемой куче останется. Это нетехнологично. Давай лучше просить людей ставить теги. отбирай по тегу "Баг", например, http://axforum.info/forums/tags.php?...B1%D0%B0%D0%B3 См. также Замечания в Майкрософт в отдельный раздел |
|
Теги |
баг, ошибка |
|
|