在 Axapta/Dynamics Axe 中的链接表上过滤

2024-02-17

我在 Axapta/Dynamics Ax (EmplTable) 中有一个表单,它有两个数据源(EmplTable 和 HRMVirtualNetworkTable),其中第二个数据源 (HRMVirtualNetworkTable) 通过“延迟”链接类型链接到第一个数据源。

有没有办法根据第二个数据源在记录上设置过滤器,而不必将链接类型更改为“InnerJoin”?


您可以使用“外部联接”而不是“延迟”,然后在 HRMVirtualNetworkTable 上搜索字段时以编程方式更改联接模式。

将此方法添加到 SysQuery 类中:

static void updateJoinMode(QueryBuildDataSource qds)
{
    Counter r;
    if (qds)
    {
        qds.joinMode(JoinMode::OuterJoin);
        for (r = 1; r <= qds.rangeCount(); r++)
        {
            if (qds.range(r).value() && qds.range(r).status() == RangeStatus::Open)
            {
                qds.joinMode(JoinMode::InnerJoin);
                break;
            }
        }
    }
}

在 EmplTable 数据源上的executeQuery() 中:

public void executeQuery()
{;
    SysQuery::updateJoinMode(this.queryRun() ? this.queryRun().query().dataSourceTable(tableNum(HRMVirtualNetworkTable)) : this.query().dataSourceTable(tableNum(HRMVirtualNetworkTable)));    
    super();
}

有时 this.queryRun() 返回 null,因此请使用 this.query() 代替。

Update:

请注意,上述内容与 AX 2012 及更高版本无关,您可以在外连接中使用查询过滤器。看如何将 QueryFilter 类与外连接结合使用 http://msdn.microsoft.com/en-us/library/gg881181.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Axapta/Dynamics Axe 中的链接表上过滤 的相关文章

  • 如何在 AX 2012 中设置单个维度值?

    我的问题是设置从外部源读取的一些尺寸值 鉴于 AX 2009 声明 ledgerJournalTrans Dimension ledgerTable Dimension ledgerJournalTrans Dimension 1 abc
  • 意外的查询行为

    我正在尝试执行以下代码 static void ProjTableQuery Args args Query query QueryBuildDataSource qbds1 QueryBuildDataSource qbds2 Query
  • Axapta/DynamicsAx:UTC 日期时间转换

    我们正在尝试解释存储在 Axapata 的 TIMEZONESRULESDATA 表中的数据 特别是 我们想弄清楚它如何存储 DST 开始 结束时间 到目前为止 我的猜测是 TZENUM 引用 TIMEZONESLIST 的外键 时区名称和
  • AX的源文件存放在哪里?

    我想 仅 对 Dynamics Ax 2009 的源文件 即 XPO 源文件 运行定期 每 4 小时 备份 我想知道它们的物理存储位置 AX7 所有元数据都以 XML 形式存储 方法也存储在常规文件中 并存储在版本控制中 See 本概述 A
  • 在SSRS报告中显示条形码

    我正在尝试在 SSRS 报告中显示条形码 我在 Visual Studio 中的条形码报告中创建了一个字段 并将字体类型更改为 BC C39 3 到 1 Wide 格式 我用来显示的相应文本是 hellobarcode 每当我生成报告时 它
  • 如果一个字段已填满,是否可以禁用另一个字段的输入?

    如果另一个字段包含 MS Dynamics AX 2012 中的数据 我想禁用表字段的输入 更新1 如果 Field1 有输入 Field2 和 Field3 必须为空 字段1 字段2 字段3 客户编号 身份证号 1 0000000001
  • 如何模仿AOT逐层导出功能X++?

    我正在尝试以编程方式在 X 中复制以下步骤 在 AOT 树中右键单击根节点 然后单击 导出 提供文件名 单击 应用程序对象层 复选框 指定 cus 作为应用程序对象层 将 XPO 导出到文件 我已经尽可能导出整个 AOT 树 但我无法找到一
  • 如何从类 ID 中识别 Axapta 类名称?

    请问有人可以帮我理解批量疯狂吗 我正在尝试调试具有大约 50 个批处理作业的 Axapta 3 0 实现 大多数批处理类没有实现description 方法 所以当你查看批次清单表单 基本 gt gt 查询 gt gt 批次列表 描述字段为
  • 如何检查下一个运算符是否可以使用?

    有关任何 Axapta 版本的问题 如何检查 下一个 运算符是否可以与记录一起使用 如何抑制调试器对不可接受的 下一个 运算符 Thanks 重现代码 static void Job13 Args args CustTrans ct1 Cu
  • Axapta 2009 X++ 从网站下载文本文件

    我想从网站下载一个文本文件 因为我知道它的 URL 有几个例子在Axaptapedia com 加载网络文档 http www axaptapedia com Load Web Documents 这些示例使用 Microsoft NET
  • X++ 中的“this”与“element”关键字

    在 X 中编写代码时有时需要引用this functionYouWant 有时是element FunctionYouWant 有时两者都在范围内 我经常尝试其中一种 如果没有我想要的功能 我会尝试另一种 是否有规则解释何时使用this以及
  • 如何使用来自多个数据源的字段创建查找?

    我需要在表单字段中创建动态查找 该字段应显示来自两个不同数据源的字段 我尝试将其执行为 public void lookup query new Query sysTableLookup SysTableLookup newParamete
  • 查询范围不等于0

    我在 AX 2012 R2 环境中 我想向 HcmEmployment 表添加查询范围并过滤掉 LegalEntity 值 0 的行 以下代码在运行时失败 并出现 无效范围 异常 qbrLegalEntity qbds addRange f
  • 如何在 Axe 2012 中重命名对话框按钮或创建新按钮?

    是否可以重命名对话框按钮 例如关于 okCancel 我可以重命名吗 ok 按钮为 continue 如果没有 请指导我如何创建自己的对话框 先谢谢了 按钮具有 文本 属性 您可以设置该属性或通过代码执行此操作 okButton text
  • 在 Axapta/Dynamics Axe 中的链接表上过滤

    我在 Axapta Dynamics Ax EmplTable 中有一个表单 它有两个数据源 EmplTable 和 HRMVirtualNetworkTable 其中第二个数据源 HRMVirtualNetworkTable 通过 延迟
  • 隐藏特定用户组的表单选项卡

    需要隐藏表单上某些用户组的某些选项卡 问题是 隐藏选项卡中的所有字段似乎不起作用 任何想法表示赞赏 使用 AX 2009 如果有人需要用视觉来回答这个问题 在 AX 中 您可以通过属性表为选项卡分配安全密钥 Then you can eit
  • setTimeOut 和本地函数

    我正在开发 Axe 4 0 我正在尝试在具有本地函数的作业中使用 Object setTimeOut 方法 如中所述msdn 文档 http msdn microsoft com en US library aa857865 28v ax
  • 如何在运行时隐藏组合框上的枚举值?

    假设组合框链接到枚举 ABC 其中的元素是A B C D 现在我只需要在组合框中获取 A 和 C 而不是 B 和 D 这可能吗 很简单 在表单中创建一个 run 方法并输入 public void run super YourCombo d
  • 显示方式-多表单数据源

    这似乎是一个简单的问题 但出于某种原因我很烦恼 我有一个包含 3 个数据源的表单 InventTable InventSum InventDim 例如 我的网格显示 商品 名称 地点 仓库 实物库存 我已经放置了一个显示方法InventDi
  • 如何在 Axapta 3.0 中创建 X++ 批处理作业?

    我想在 X 中为 Microsoft Axapta 3 0 Dynamics AX 创建批处理作业 我如何创建一个执行像这样的 X 函数的作业 static void ExternalDataRead Args args 以下是在 AX 中

随机推荐