在Acumatica中,当在AR303020屏幕上更新客户位置时,FieldUpdate事件可能不会触发。一个可能的解决方法是在事件调用中使用PXUIFieldAttribute.SetEnabled方法。以下是示例代码:
public class CustomerLocationMaint_Extension : PXGraphExtension
{
protected void _(Events.FieldUpdated args)
{
if (args.Row == null)
return;
var location = (LocationExtAddress)args.Row;
if (location == null)
return;
PXUIFieldAttribute.SetEnabled(Base.LocationExtAddress.Cache, location,
location.AUsrIsEmailEnabled == true && location.AUsrRequestEmail == true);
}
}
在上述代码中,我们通过使用PXUIFieldAttribute.SetEnabled以确保FieldUpdate事件能够被正确执行。这种方式可以避免事件不被触发的问题并确保正确的更新。