我试图通过扩展CustTable在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
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,在运行此代码时,我们得到"对象未设置为对象的实例"错误.发生错误是因为'this'对象为null.调用"next update(_updateSmmBusRelTable,_updateParty);"时也会出现同样的错误.
该文件指出:"这让扩大的公共和保护的方法逻辑,而无需使用事件处理程序当您缠绕的方法,您还可以访问其他公共和保护的方法和类的变量."
有任何想法吗?