Показать сообщение отдельно
Старый 22.09.2005, 17:09   #14  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
PHP код:
query       q = new Query();
QueryRun    qr;
InventTrans tbl;
;
Q.addDataSource(tablenum(InventTable), "InventTable");
Q.dataSourceTable(tablenum(InventTable)).
    
addDataSource(tablenum(InventTrans), "InventTrans");
Q.dataSourceTable(tablenum(InventTrans)).joinMode(JoinMode::InnerJoin);
/*
//1-й вариант
Q.dataSourceTable(tablenum(InventTrans)).addLink(fieldnum(InventTable, ItemId), fieldnum(InventTrans, ItemId));
Q.dataSourceTable(tablenum(InventTrans)).addRange(fieldnum(InventTrans, DateFinancial)).
    value("02082005..31082005");*/

//или

//2-й вариант
Q.dataSourceTable(tablenum(InventTrans)).addRange(fieldnum(InventTransitemid)).
    
value("((InventTable.itemId == InventTrans.itemId) && (InventTrans.DateFinancial > 01\\\\08\\\\2005) && (InventTrans.DateFinancial <= 31\\\\08\\\\2005))");

qr = new QueryRun(q);
while (
qr.next())
{
    
tbl qr.getNo(2);
    
info(date2str(tbl.DateFinancial,123,2,2,2,2,4));

Но в таком виде запрос очень плохой - сканируется InventTrans в поиске диапазона дат
__________________
Axapta v.3.0 sp5 kr2