![]() |
#8 |
Участник
|
X++: public void executeQuery() { QueryBuildDataSource qbds; QueryBuildRange qbdsrange3; QueryBuildDataSource qbds1; str _rangeClose; QueryBuildDataSource qbdsStd; QueryBuildRange qbrStatus; ; //запрос по таблице РБП qbds1 = this.query().dataSourceTable(tableNum(RDeferralsTable)); qbds1.clearRanges(); qbds1.clearLinks(); if (!this.query().dataSourceTable(tableNum(RDeferralsBook))) { if (Cat_OpenDef.value() == NoYes::No) { qbdsStd = qbds1.addDataSource(tablenum(RDeferralsBook)); qbdsStd.joinMode(JoinMode::ExistsJoin); qbdsStd.relations(true); qbrStatus =qbdsStd.addRange(fieldnum(RDeferralsBook,Status)); qbrStatus.value(enum2str(RDeferralsStatus::Open)); } } else { qbdsStd = qbds1.addDataSource(tablenum(RDeferralsBook)); qbdsStd.joinMode(JoinMode::ExistsJoin); qbdsStd.relations(true); qbrStatus =qbdsStd.addRange(fieldnum(RDeferralsBook,Status)); qbrStatus.value(''); } super(); } qbdsStd = qbds1.addDataSource(tablenum(RDeferralsBook)); расценивает как один запрос и не соединяет его с первичным запросом qbds1 = this.query().dataSourceTable(tableNum(RDeferralsTable)); Т.е. на выходе у него появляется 2 отдельных запроса qbds1 и qbdsStd , а они должны были соединиться. А может причина в том, что RDeferralsTable является DS формы, а RDeferralsBook - нет? Последний раз редактировалось Arahnid; 18.04.2007 в 17:40. |
|