我想通过扩展CustTable来使用D365FO中新的'命令链'功能。D365FO中的命令链(方法环绕)导致'对象未设置为对象的实例'
我们需要检查更新方法中的值是否已更改,然后再将其记录到新表中。
[ExtensionOf(tableStr(CustTable))]
final class CustTable_Extension
{
void update(boolean _updateSmmBusRelTable = true, boolean _updateParty =
true)
{
CustTable custTable_Orig = this.orig();
boolean hasChanged = this.CreditMax != custTable_Orig.CreditMax;
next update(_updateSmmBusRelTable, _updateParty);
if(hasChanged)
{
//do something
}
}
}
但是,当运行此代码时,我们得到“对象未设置为对象的实例”错误。发生错误是因为'this'对象为空。调用“next update(_updateSmmBusRelTable,_updateParty);”时也会出现同样的错误。
documentation指出:“这允许在不需要使用事件处理程序的情况下扩展公共方法和受保护方法的逻辑,当您包装方法时,还可以访问其他公共和受保护的方法以及类的变量。
任何想法?
我在应用PU10后做了一个完整的构建。我也刚刚做了另一个完整的构建,只是为了仔细检查,仍然得到相同的错误。 – AinsleyJ
您是否尝试使用“构建相关软件包”复选框来激活您的软件包?听起来很奇怪,但它应该以这种方式工作。 –