Axapta 如何在条件为真的情况下使用数据源?

Axapta 如何在条件为真的情况下使用数据源?,axapta,dynamics-ax-2012,Axapta,Dynamics Ax 2012,我目前正在尝试构建一个查询,该查询使用基于特定条件为true的数据源。说“如果值==1,使用数据源1。如果值==2,使用数据源2 这些表在我的数据源中已经有好几层了 在任何地方都找不到有关此的信息!您没有指定表和关系,但以这些数据源为例: 可保管 CustTrans(JoinMode:ExistsJoin) CustInvoiceJour(JoinMode:ExistsJoin) 假设您希望在custrans或custinovicejour上存在联接 这可以通过启用和禁用相应的数据源来实

我目前正在尝试构建一个查询,该查询使用基于特定条件为true的数据源。说“如果值==1,使用数据源1。如果值==2,使用数据源2

这些表在我的数据源中已经有好几层了


在任何地方都找不到有关此的信息!

您没有指定表和关系,但以这些数据源为例:

  • 可保管
    • CustTrans(JoinMode:ExistsJoin)
    • CustInvoiceJour(JoinMode:ExistsJoin)
假设您希望在
custrans
custinovicejour
上存在联接

这可以通过启用和禁用相应的数据源来实现:

custTable_ds.query().datasourceTable(tableNum(CustTrans)).enabled(!useInvoice);
custTable_ds.query().datasourceTable(tableNum(CustInvoiceJour )).enabled(useInvoice);

这应该在
CustTable
datasource的
executeQuery
方法中的
super()
之前完成。

如果您发现答案有用,请接受它。