Tuesday, August 20, 2019

dynamically create a Query inquiry in x++ code on Dynamics ax

if you try to run this job

static void JobEF_QueryInquiry(Args _args)

{

    QueryBuildDataSource queryBuildDataSource;

    QueryBuildRange queryBuildRange;

    QueryRun queryRun;

    Query    query;

    Qty total;

    InventTrans inventTrans;

    inventDim inventDim;

    query = new Query();

 

    queryBuildDataSource = query.addDataSource(tableNum(InventTrans));

    queryBuildDataSource.addSelectionField(fieldNum(InventTrans,Qty),SelectionField::Sum);

    queryBuildRange      = queryBuildDataSource.addRange(fieldNum(InventTrans,ItemId));

    queryBuildDataSource = queryBuildDataSource.addDataSource(tableNum(InventDim));

    queryBuildDataSource.addGroupByField(fieldNum(InventDim,InventBatchId));

    queryBuildDataSource.relations(true);

    queryRun = new QueryRun(query);

 

    if (queryRun.prompt())

    {

        while (queryRun.next())

        {

            inventTrans = queryRun.get(tableNum(InventTrans));

            inventDim   = queryRun.get(tableNum(inventDim));

            info(strFmt("Batch %1, qty %2",inventDim.inventBatchId, inventTrans.qty));

        }

    }

}


it will prompt you with a query inquiry form that you can fill up with the appropriate values to set the filters


image

No comments:

Post a Comment