Dynamics AX中的复杂数据源问题

时间:2010-08-17 13:58:20

标签: axapta dynamics-ax-2009 ax

我有一个显示表格线条的网格。现在,我有这两个要求:

  1. 仅显示“小时”字段中包含值的行。 “小时”字段是一种数组类型。
  2. 显示项目及其子项目中的行
  3. 我的问题是:为了满足需求#1,我需要在我的数据源中使用select语句,因为我无法使用QueryBuildDataSource访问数组值(这是Dynamics AX中已知的limitation)。

    但是为了满足要求#2,我需要有两个“存在连接”,这在Dynamics AX中是不可能的。例如,以下代码不起作用:

    select from table where
    exists join tableChild where projectId = MyProjectId OR
    exists join tableChild where parentProjectId = MyProjectId
    

    有人会如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

从您提供的select语句示例中,可能没有必要有两个存在的连接。对于其中子句可能已足够的两个可能条件的单个存在连接与“OR”,当然,您应该仍然在table和tableChild之间存在某种关系,以使连接具有逻辑意义。

select from table
exists join tableChild
where (tableChild.projectId = MyProjectId || tableChild.parentProjectId = MyProjectId)

答案 1 :(得分:0)

您可以使用fieldID2Ext函数在提供字段ID的查询范围中使用数组值。

您可以构建视图并在其上应用混淆。