![]() |
#4 |
Участник
|
Ну как бы решил....
надо получается на каждом датасорсе что на одном уровне ставить fetchMode(QueryFetchMode::One2One); только потом сделать Map и проверять уже выведен ли vendInvoiceJour или нет - а то так получается что печатается столько раз сколько VendTrans (vendInvoiceTrans) X++: //TE-rko static void testDatasource(Args _args) { Query query = new query(); QueryBuildDataSource qbds, qbds1, qbds2; querybuildrange qbr; QueryRun qr; VendInvoiceJour VendInvoiceJour; ; qbds = query.addDataSource(tablenum(VendInvoiceJour)); qbds1 = qbds.addDataSource(tablenum(VendTrans)); qbds1.relations(true); qbds1.fetchMode(QueryFetchMode::One2One); qbr = qbds1.addRange(fieldnum(VendTrans,Recid)); // qbr.value(strfmt("%1",1));//-2082064522)); qbds2 = qbds.addDataSource(tablenum(VendInvoiceTrans)); qbds2.relations(true); qbds2.fetchMode(QueryFetchMode::One2One); qbr = qbds2.addRange(fieldnum(VendInvoiceTrans,InvoiceId)); // qbr.value("TI00005951"); qbr.value("RV300654228"); qr = new QueryRun(query); while (qr.next()) { if (qr.changed(tablenum(VendInvoiceJour))) { VendInvoiceJour = qr.get(tablenum(VendInvoiceJour)); info(VendInvoiceJour.InvoiceId); } } } Цитата:
Поэтому я не совсем понимаю, где у вас на данный момент OR и откуда вы хотите его убрать?
|
|
Теги |
datasource, query, несвязанные датасорсы, датасорс (datasource) |
|
|