Показать сообщение отдельно
Старый 13.02.2007, 23:39   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Можно так получить копию Query
X++:
{
    Query query;
    QueryRun qr;
    MyTable tbl;
    Query GetCopy (Query orig)
    {
        Query   q = new Query(orig.pack(false));
        QueryBuildDatasource qbd;
        int i;
        ;
        qbd = orig.dataSourceNo(1);
        for (i=1;i<=qbd.dynalinkCount();i++)
            q.dataSourceNo(1).addDynalink(qbd.dynalink(i).field(),
                qbd.dynalink(i).cursor(), qbd.dynalink(i).dynamicField());
    }
    ;
    query =  GetCopy (MyTable_QR.query());
    qr = new QueryRun(query);
    while (qr.next())
    {
        tbl = qr.getNo(1);
    }
}
Обратите внимание, что для учета пользовательских фильтров надо брать запрос из QueryRun
__________________
Axapta v.3.0 sp5 kr2