Показать сообщение отдельно
Старый 04.09.2003, 12:03   #11  
Andrew Besedin is offline
Andrew Besedin
Участник
 
119 / 15 (1) ++
Регистрация: 25.01.2002
Привет Эдуард!

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 - хто бы знал
__________________
Успехов!
Андрей Беседин