Показать сообщение отдельно
Старый 02.09.2003, 18:02   #1  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,496 / 1071 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Помогите разобраться с QueryBuildDataSource
Создаю 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);

В результате пустой грид, если оставить один присоединенный датасорс, то видно только относящиеся к нему записи.

Что я делаю не правильно?