Dynamics AX 2012 X++ 运行 启动视图的方法(Init?)

Dynamics AX 2012 X++ Run Method on Launch of a View (Init?)

有人知道在 AX 2012 x++ 中启动视图时可用于 运行 方法的覆盖吗?

目的是使用 class 方法在视图 运行 查询之前更新 table 中的某些值。

我在可用的覆盖中没有看到 init 方法或任何类似的东西。

谢谢!

没有完全符合您要求的解决方案。

不会启动覆盖,因为视图 ​​"code" 不是 x++,它是 SQL 代码。该视图是预编译的 SQL 查询,充当 table 并存储在 SQL 数据库中。现在您可能注意到视图在 x++ 中实现为继承自 Common 对象。因此它们具有与 tables 相似的行为。如您所说,表在 "launched" 之前没有 运行 的方法,但使用 select 更新删除等进行查询。不幸的是,视图在 MorphX 设计器中没有与 table是的。

也许为了解决您的要求,而不是在视图本身上寻找覆盖,而是在视图正在使用的特定位置寻找覆盖。一个简单的例子可能是这样的:如果视图被用作表单上的数据源,您将覆盖表单数据源(这将是您的视图)上的 executeQuery() 方法,并在查询之前修改某些内容视图被执行。这显然很难管理,因为视图可以在任何地方使用,因此您必须密切注意视图的使用位置。