Привет Эдуард!
PHP код:
public void init()
{
Query query;
QueryBuildDataSource qbds_InventTrans;
QueryBuildDataSource qbds_SalesTable;
QueryBuildDataSource qbds_PurchTable;
QueryBuildDataSource qbds_InventJournalTrans;
;
super();
Query = new Query();
qbds_InventTrans = Query.addDataSource(tablenum(InventTrans),"it");
qbds_InventTrans.relations(false);
qbds_PurchTable = qbds_InventTrans.addDataSource(tablenum(PurchTable),"_PT");
qbds_PurchTable.joinMode(JoinMode::ExistsJoin);
qbds_PurchTable.fetchMode(0);
qbds_PurchTable.relations(false);
qbds_SalesTable = qbds_InventTrans.addDataSource(tablenum(SalesTable),"_ST");
qbds_SalesTable.joinMode(JoinMode::ExistsJoin);
qbds_SalesTable.fetchMode(0);
qbds_SalesTable.relations(false);
qbds_InventJournalTrans = qbds_InventTrans.addDataSource(tablenum(InventJournalTrans),"ijt");
qbds_InventJournalTrans.joinMode(JoinMode::ExistsJoin);
qbds_InventJournalTrans.fetchMode(0);
qbds_InventJournalTrans.relations(false);
qbds_InventJournalTrans.addRange(fieldnum(InventJournalTrans,journalID)).value("( (iT.transRefID == _sT.salesID) || (iT.transRefID == _pT.purchID) || (it.InventTransID == ijt.InventTransID) )");
this.query(Query);
Info(this.query().dataSourceNo(1).tostring());
}
2 DN
Ты абсолютно прав насчет разных длин у EDT. Поэтому селект будет такой:
PHP код:
static void Job4(Args _args)
{
InventJournalTable InventJournalTable;
InventTrans InventTrans;
while select InventTrans
join InventJournalTable
where InventTrans.TransRefId like /*!!! Равенство не работает!!!*/ InventJournalTable.JournalId
print InventTrans.TransRefId;
pause;
}
Но как этот LIKE затолкать в QBDS - хто бы знал