You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Acumatica中重写DailyFieldReport的RowPersisting方法移除日期校验

在Acumatica中重写DailyFieldReport的RowPersisting方法(移除日期校验逻辑)

要移除DailyFieldReport原有RowPersisting方法里的日报日期与项目开始日期比较及异常抛出逻辑,推荐用Acumatica标准的**图扩展(Graph Extension)**方式实现,无需修改系统原有代码,具体步骤如下:

实现方式

创建DailyFieldReportEntry的扩展类,通过PXOverride属性覆盖原有的RowPersisting事件处理方法,在重写的方法中跳过日期校验逻辑:

public class DailyFieldReportEntryExtension : PXGraphExtension<DailyFieldReportEntry>
{
    [PXOverride]
    public void _(Events.RowPersisting<DailyFieldReport> args, PXRowPersisting baseHandler)
    {
        // 不执行原有的日期比较和异常抛出逻辑
        // 若原方法存在其他需要保留的基础逻辑,可调用 baseHandler(args);
        // 本场景需求为移除指定逻辑,此处留空即可
    }
}

说明

  • 图扩展是Acumatica自定义开发的最佳实践,避免直接修改系统核心代码,防止版本升级时自定义代码被覆盖。
  • PXOverride属性用于标记要替换的原有方法,参数baseHandler对应原方法的执行委托,按需选择是否调用原方法逻辑。

如果因特殊需求必须直接修改原DailyFieldReportEntry类,只需删除原方法中的日期判断及异常抛出代码即可:

public class DailyFieldReportEntry : PXGraph<DailyFieldReportEntry, DailyFieldReport>
{
    public virtual void _(Events.RowPersisting<DailyFieldReport> args)
    {
        // 移除原有的日期比较和异常抛出代码,方法留空或保留其他必要逻辑
    }
}

内容的提问来源于stack exchange,提问作者user3783932

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:45:36