Caros,
surgiu uma pergunta no MSDN de um usuário que consistem em como buscar por um range de datas e determinada tabela.

Bom, para isso, a solução é bem simples, basta fazer como fazemos nos filtros do AX:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
static void Job1(Args _args)
{
    Query                               query;
    QueryBuildDataSource                qbds;
    QueryBuildRange                     qbr;
    QueryRun                            qr;
    VendInvoiceJour                     vendInvoiceJour;
    ;
 
    query       = new Query();
    qbds        = query.addDataSource(tableNum(VendInvoiceJour));
    qbr         = qbds.addRange(fieldNum(VendInvoiceJour, InvoiceDate));
    qbr.value("01012009..06052010");    //01012009..06052010 representa 01/01/2000 até 06/05/2010
    qr = new QueryRun(query);
    while(qr.next())
    {
        vendInvoiceJour = qr.get(tableNum(VendInvoiceJour));
        info(vendInvoiceJour.invoiceId);
    }
}

Editado:
Também existem as funções da classe Global prontas para esse tipo de situação:

– Global::queryValue()
– Global::queryNotValue()
– Global::queryRange()
– Global::queryRangeConcat()

Por exemplo:

qbr.value(queryRange(startDate, endDate));

[]‘s
Batoni

[]s
Pichler