Показать сообщение отдельно
Старый 19.03.2012, 16:28   #1  
Андрей К. is offline
Андрей К.
Постигающий
 
152 / 10 (1) +
Регистрация: 09.04.2007
Создать объект Query из QueryBuildDataSource
Добрый день. Есть необходимость из определeнного QBDS создать новый объект Query. Существуют ли способы кроме как полного перебора и копирования Ranges и Links?

вот простецкий способ (для qbds без джоинов и сортировок) набросал :

X++:
Query queryFromQbds(QueryBuildDataSource _sourceQbds)
{
    Query                   ret     = new Query();
    QueryBuildDataSource    dsDest  = ret.addDataSource(_sourceQbds.table());
    QueryBuildRange         rangeDest, rangeSrc;
    int                     i, cntRange;
    ;
    cntRange = _sourceQbds.rangeCount();
    for(i = 1; i <= cntRange; i++)
    {
        rangeSrc = _sourceQbds.range(i);

        rangeDest = dsDest.addRange(rangeSrc.field());
        rangeDest.value(rangeSrc.value());
    }
    return ret;
}