Можно так получить копию 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