![]() |
#7 |
Участник
|
В поддержку моей теории попробуйте выполнить следующий джоб.
Видно, что если таблица CustTrans непоследняя, и к ней приджойнить другие таблицы, то Аксапта генерирует неправильный запрос. X++: static void Job782(Args _args) { Query query = new Query(); QueryRun queryRun; QueryBuildDatasource qbdsCustTable; QueryBuildDatasource qbdsCustTrans; QueryBuildDatasource qbdsCustTransOpen; QueryBuildDatasource qbdsLedgerTrans; QueryBuildDatasource qbdsLedgerTable; ; //-->правильно работает query = new Query(); qbdsCustTable = query.addDataSource(tableNum(CustTable)); qbdsCustTransOpen = qbdsCustTable.addDataSource(tableNum(CustTransOpen)); qbdsCustTrans = qbdsCustTransOpen.addDataSource(tableNum(CustTrans)); qbdsLedgerTrans = qbdsCustTrans.addDataSource(tableNum(LedgerTrans)); qbdsLedgerTable = qbdsLedgerTrans.addDataSource(tableNum(LedgerTable)); queryRun = new QueryRun(query); info(queryRun.query().dataSourceNo(1).toString()); //<--правильно работает //-->неправильно работает query = new Query(); qbdsCustTable = query.addDataSource(tableNum(CustTable)); qbdsCustTrans = qbdsCustTable.addDataSource(tableNum(CustTrans)); qbdsCustTransOpen = qbdsCustTrans.addDataSource(tableNum(CustTransOpen)); qbdsLedgerTrans = qbdsCustTrans.addDataSource(tableNum(LedgerTrans)); qbdsLedgerTable = qbdsLedgerTrans.addDataSource(tableNum(LedgerTable)); queryRun = new QueryRun(query); info(queryRun.query().dataSourceNo(1).toString()); //<--неправильно работает } Последний раз редактировалось Ace of Database; 10.03.2016 в 15:04. |
|
|
За это сообщение автора поблагодарили: mazzy (2), Ruff (2). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|