表更新事件处理程序

2024-04-20

我正在研究 AX 2012 中新委托和事件订阅模式的功能。

目前我希望检测特定字段何时被修改,例如何时SalesTable.SalesStatus更改为SalesStatus::Invoiced.

我创建了以下事件后处理程序并附加到 SalesTable.Update 方法;

public static void SalesTable_UpdatePosteventHandler(XppPrePostArgs _args)
{
    Info("Sales Update Event Handler");
}

现在我知道我可以获得SalesTable来自_args, but 如何检测字段已更改?我真的可以使用之前和之后的版本,这让我觉得我在这里订阅了错误的事件。


If the update方法不会更新字段,您可以使用pre 事件处理程序 http://msdn.microsoft.com/en-us/library/gg839762.aspx关于更新方法。如果您想监控PriceGroup场上的CustTable表然后创建一个名为的类CustTableEventHandler包含这个方法:

public static void preUpdateHandler(XppPrePostArgs _args)
{
    CustTable custTable = _args.getThis();
    if (custTable.PriceGroup != custTable.orig().PriceGroup)
        info(strFmt("Change price group from '%1' to '%2'", custTable.orig().PriceGroup, custTable.PriceGroup));
}

A post事件处理程序将不起作用,因为orig()将返回更改的记录。 另外,如果使用更新记录doUpdate你的处理程序没有被调用。

您还可以覆盖aosValidateUpdate on CustTable,即使这样也被称为doUpdate用来。此方法始终在 AOS 服务器上运行。

public boolean aosValidateUpdate()
{
    boolean ret = super();
    if (this.PriceGroup != this.orig().PriceGroup)
        info(strFmt("Change price group from '%1' to '%2'", this.orig().PriceGroup, this.PriceGroup));
    return ret;
}

另一种选择是对Application.eventUpdate方法。 从方法的标题中:

用作回调,当记录在 表已更新,前提是内核已设置为监视 该表中的记录。

开发人员可以设置内核来回调给定的更新 通过将一条记录插入 DatabaseLog 内核表来插入所有表 字段设置为相关值,其中包括字段 logType 设置为 事件更新。可以设置内核应该回调 每当更新记录或更新特定字段时。这 与 logUpdate 的调用和设置方式非常相似。电话 该方法的执行将在记录为的事务中 更新。

该方法由警报规则 http://technet.microsoft.com/en-us/library/aa498338.aspx通知系统。我建议不要这样做,除非它是全局更改(如警报规则)。

警报规则可以扩展如此处所述 http://msdn.microsoft.com/en-us/library/aa673670.aspx.

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

表更新事件处理程序 的相关文章

  • QT日常积累1:QT_BEGIN_NAMESPACE和QT_END_NAMESPACE

    QT BEGIN NAMESPACE class QAbstractButton class QAbstractSlider class QComboBox QT END NAMESPACE 学习QT过程中遇到了上面的问题 不明白是什么意思
  • 《机器学习(西瓜书)》读书笔记:第三章_线性模型

    线性模型虽说是机器学习中最简单的模型 但是还是有很多细小的知识点值得注意的 从去年这时候就开始接触机器学习 看过Ng在Coursera上的视频和斯坦福的cs229 这次看过西瓜书之后又加深了理解 于是赶紧趁热把思路整理出来 一 线性回归 线
  • 如何在 AX 2012 中设置单个维度值?

    我的问题是设置从外部源读取的一些尺寸值 鉴于 AX 2009 声明 ledgerJournalTrans Dimension ledgerTable Dimension ledgerJournalTrans Dimension 1 abc
  • 如何查看X++ select语句的SQL表达式?

    我在 AX 的一份工作中有以下声明 select RecId from pjiTable join pID Type PrId from sjTable where pjiTable Prid sjTable PrId sjTable Ty
  • 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 每当我生成报告时 它
  • 代码在迭代 86 时崩溃

    static void Job47 Args args str path stx TreeNodeIterator iter TreeNode treeNode treeNodeToRelease Map dictMenuDisplay F
  • AX 形式的图像

    在 Dynamics AX 中 我们在自定义表单中出于各种目的使用大量图像和图标 目前 我们必须在每台客户端计算机上单独安装图像 图标包才能使一切正常工作 有没有一种方法 或最佳实践 来处理 Dynamics 中的图像和图标 这样就不需要在
  • 如何模仿AOT逐层导出功能X++?

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

    有关任何 Axapta 版本的问题 如何检查 下一个 运算符是否可以与记录一起使用 如何抑制调试器对不可接受的 下一个 运算符 Thanks 重现代码 static void Job13 Args args CustTrans ct1 Cu
  • 如何在表单中使用 RecId 作为外键

    我有一个项目表 每个项目都引用另一个表中的另一个项目 我们会说这些项目是人 而相关的项目是最喜欢的食物 表 A 鲍勃 1 莎莉 1 苏 3 表 B 1 苹果 2 香蕉 3 橙子 人 通过 People 表中引用的食物 RecId 与他们最喜
  • X++ 中的“this”与“element”关键字

    在 X 中编写代码时有时需要引用this functionYouWant 有时是element FunctionYouWant 有时两者都在范围内 我经常尝试其中一种 如果没有我想要的功能 我会尝试另一种 是否有规则解释何时使用this以及
  • 查询范围不等于0

    我在 AX 2012 R2 环境中 我想向 HcmEmployment 表添加查询范围并过滤掉 LegalEntity 值 0 的行 以下代码在运行时失败 并出现 无效范围 异常 qbrLegalEntity qbds addRange f
  • 查找物料/仓库的总可用量和可用实物

    我有一个显示字段的方法 它执行以下操作 return InventSum find salesLine ItemId InventDim salesLine InventDimId AvailPhysical 这为我提供了该线路站点 仓库
  • 隐藏特定用户组的表单选项卡

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

    我需要创建简单的查询 该查询将显示将在未来 3 个月内到期的所有合同 我知道如何使用 SQL 执行此操作 但在创建查询时如何在 Visual Studio 中执行此操作 我添加了数据源合同表 添加了范围 过期日期所在的列是 VALIDTO
  • setTimeOut 和本地函数

    我正在开发 Axe 4 0 我正在尝试在具有本地函数的作业中使用 Object setTimeOut 方法 如中所述msdn 文档 http msdn microsoft com en US library aa857865 28v ax
  • 表更新事件处理程序

    我正在研究 AX 2012 中新委托和事件订阅模式的功能 目前我希望检测特定字段何时被修改 例如何时SalesTable SalesStatus更改为SalesStatus Invoiced 我创建了以下事件后处理程序并附加到 SalesT
  • 如何在 Axapta 3.0 中创建 X++ 批处理作业?

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

随机推荐

  • matplotlib 文本标题未出现

    我无法理解为什么我的文字标题没有出现在我的绘图上 我发现文档对于图例和标题标签的放置顺序非常令人困惑 我的代码在这里 我不知道哪里出了问题 一切都按照我的预期出现 标题 轴标签 日期格式 除了标题文本根本不存在 fig plt figure
  • 避免 C 错误处理中的重复

    我经常编写最终成为长序列的代码 例如 int error error do something if error return error error do something else with some args if error re
  • 如何在最新的 VLC 版本上通过命令行设置音量?

    我一直在尝试在 Ubuntu 上通过终端设置 VLC 2 2 1 中的音量 但没有成功 参数 volume不存在了 Warning option volume no longer exists 并且我在帮助中找不到任何包含 卷 的内容 文档
  • Tensorflow 中的张量乘法

    我正在尝试在 NumPy Tensorflow 中进行张量乘法 我有 3 个张量 A M X h B h X N X s C s X T 我相信A X B X C应该产生一个张量D M X N X T 这是代码 同时使用 numpy 和 t
  • 在通过早期绑定使用库之前,我可以使用后期绑定来检查库是否存在吗?

    我喜欢在 VBA 项目中使用早期绑定 因为我喜欢在开发过程中自动完成方法名称等 我还喜欢知道如果我拼写错误了方法名称 编译器会警告我 但是 要使用早期绑定 我需要添加对相关库的引用 例如 Microsoft Scripting Runtim
  • 如何在独立的 .vbs 文件中从 VBScript 调用 DotNetFactory?

    我一直在探索扩展 QuickTest Professional 脚本编写功能的选项 并发现今天早上 所以我决定尝试一下 下面的代码在 QTP 环境中执行时工作正常 但我也可以看到它在 QTP 环境之外的用途 不幸的是 从独立的 vbs 文件
  • 从 Storyboard/xib 文件修改 UIImage 渲染模式

    是否可以修改一个UIImage s renderingMode来自故事板或 xib 编辑器 目标是申请tintColor对特定的UIImageView object 您可以在不设置图像渲染模式 xib文件 但是在一个 xcassets图书馆
  • 矢量化 scipy.integrate.quad

    我在用scipy integrate quad f a b args c 整合功能f之间a and b 添加另一个参数c 你可以考虑一下f as f lambda x y x y 据我了解 该功能需要a b c为浮点值 然而 我有很多积分需
  • iPhone - 按纬度和经度划分的 SQLite 距离

    我的应用程序中有一个嵌入式数据库 其中包含一些感兴趣点的所有纬度和经度 我需要知道我与这些点的距离 使用 GPS 获取我的位置 我的问题是 我刚刚发现 SQLite 无法使用我的查询来计算距离 因为它不计算三角函数 SIN COS 我试图避
  • Firebase/Android - 通过 UID 加载用户

    我只找到了加载当前登录用户的代码片段 FirebaseUser user FirebaseAuth getInstance getCurrentUser 但是 如果我需要加载其他用户的数据 例如图像路径和名称 怎么办 我想通过它们的 UID
  • 访问设备配置变量

    在我的 Rails 应用程序中 直接从视图访问 Devise 配置变量的方法是什么 我想展示config allow unconfirmed access for来自设计的 confirmable模块 该变量设置在devise rb初始化器
  • 当应用程序进入后台时(之前)iOS 拍摄的屏幕截图?

    希望大家都了解一下iOS在应用程序进入后台之前截取屏幕截图 我从那里得到的官方文件 http developer apple com library ios DOCUMENTATION iPhone Conceptual iPhoneOSP
  • 为什么我不能在 try 块内定义之前使用 Javascript 函数?

    正如所讨论的here https stackoverflow com questions 261599 why can i use a function before its defined in javascript 函数定义可以在定义之
  • 用于复制和重命名文件的 GitHub Action

    有没有一个聪明的方法copy and rename通过 GitHub Actions 文件 我想将一些自述文件复制到 docs文件夹 相同的存储库 而不是远程存储库 它们将根据其 frontmatter 在其中重命名title 目标是拥有某
  • Python-插入ms访问表

    我可以通过某些查询从 ms 访问中获取一些数据 但我无法将数据存储到任何表中 例如 import sys os pyodbc conn str r DRIVER Microsoft Access Driver mdb accdb r DBQ
  • 以编程方式禁用 UIButton 单击时的突出显示

    一定有办法做到这一点 但我找不到 我有一个以编程方式创建的按钮 UIButton button UIButton buttonWithType UIButtonTypeRoundedRect button frame CGRectMake
  • 使用 stargazer 添加一行注释

    我想运行一些回归并使用 stargazer 创建一个表 例如 linear 1 lt lm rating complaints privileges learning raises critical data attitude linear
  • C语言中有“设计模式”吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 升级到 MT 4.0 后不显示索引 TableView

    升级到 MT 4 0 后 以前在右侧边框上显示索引的 TableView 不再工作 表视图仍按部分显示并正常工作 但未显示索引 我在 UITableViewSource 中定义了这三种方法 并且这三种方法似乎都有效 public overr
  • 表更新事件处理程序

    我正在研究 AX 2012 中新委托和事件订阅模式的功能 目前我希望检测特定字段何时被修改 例如何时SalesTable SalesStatus更改为SalesStatus Invoiced 我创建了以下事件后处理程序并附加到 SalesT