Создаю Lookup метод, для выбора из InventTrans токого TransRefId, который соответсвует таблицам: SalesTable или PurchTable. Т.е. необходимо показать записи, только по этим двум таблицам, остальные не нужны.
В форме один датасорс ссылающийся на таблицу InventTrans.
У него я перекрыл метод Init.
PHP код:
public void init()
{
Query query;
QueryBuildDataSource qbds_InventTrans;
QueryBuildDataSource qbds_SalesTable;
QueryBuildDataSource qbds_PurchTable;
QueryBuildDataSource qbds_InventJournalTable;
;
super();
Query = new Query();
qbds_InventTrans = Query.addDataSource(tablenum(InventTrans));
qbds_SalesTable = qbds_InventTrans.addDataSource(tablenum(SalesTable));
qbds_SalesTable.joinMode(JoinMode::ExistsJoin);
qbds_SalesTable.fetchMode(0);
qbds_PurchTable = qbds_InventTrans.addDataSource(tablenum(PurchTable));
qbds_PurchTable.joinMode(JoinMode::ExistsJoin);
qbds_PurchTable.fetchMode(0);
qbds_PurchTable.addLink(FieldNum(InventTrans,TransRefId),fieldNum(PurchTable,PurchId));
qbds_SalesTable.addLink(FieldNum(InventTrans,TransRefId),fieldNum(SalesTable,SalesId));
this.query(Query);
}
В результате пустой грид, если оставить один присоединенный датасорс, то видно только относящиеся к нему записи.
Что я делаю не правильно?