如何使用其中一个SysInfoAction类从infolog打开筛选的列表页面

时间:2014-09-19 12:08:58

标签: axapta x++ dynamics-ax-2012

如何使用其中一个SysInfoAction类从infolog打开已过滤的列表页面?

我试试这个:

static void infoSO(Args _args)
{  
    Query         q = new Query();

    #define.SalesPool('Test')

    q.addDataSource(tableNum(SalesTable)).addRange(
        fieldNum(SalesTable, SalesPoolId)).value(SysQuery::value(#salesPool));

    info('bla', '', SysInfoAction_FormrunQuery::newFormnameQuery(formStr(SalesTableListPage), q));
}

我收到以下错误:

在与FormDataSource'%1'关联的查询中找不到所需的QueryBuildDataSource。 QueryBuildDataSource应具有与FormDataSource相同的名称和表ID。

1 个答案:

答案 0 :(得分:2)

要消除错误,您可以按如下方式更改代码:

static void infoSO(Args _args)
{
   Query         q = new Query(queryStr(SalesTableListPage));

    #define.SalesPool('Test')

    q.dataSourceTable(tableNum(SalesTable)).addRange(
        fieldNum(SalesTable, SalesPoolId)).value(SysQuery::value(#salesPool));

    info('bla', '', SysInfoAction_FormrunQuery::newFormnameQuery(formStr(SalesTableListPage), q));
}

P.S。我建议打开销售订单明细表,而不是打开列表页面。