3

我目前正在使用事件处理程序订阅在 AX2012 中的插入、更新和删除方法上进行数据库日志记录,但是我遇到的问题是,如果通过 doinsert、doupdate 或 dodelete 调用该方法,这些事件不会被触发,是否存在我可以拦截这些事件的方法吗?

4

2 回答 2

1

您可以改为覆盖aosValidateInsertaosValidateUpdateaosValidateDelete方法。我已经包含了对官方文档的引用,遗憾的是它目前没有解释它们的预期用途。

顾名思义,方法是在实际操作之前调用的,这可能适合也可能不适合您的需要。记得回来true

另请注意,添加方法会使 AX 使用逐记录操作,而不是使用集合操作,例如在delete_from. 此外,您不能使用skipDataMethods禁用它(但您可以使用skipAOSValidation)。

于 2012-10-22T18:55:24.810 回答
1

doXXXX方法专门用于避免运行与此XXXX操作相关的任何逻辑,因此尝试拦截它们违背了此方法的设计模式及其使用。

您是否尝试过可以通过 X++ 代码配置和查询的标准数据库日志记录?例如:

http://www.jaestevan.com/howto-consultar-el-registro-de-base-de-datos-mediante-x

于 2013-01-25T19:35:04.480 回答