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

如何获取PXProcessing<>.SetError()方法设置的错误消息

获取Acumatica中PXProcessing设置的错误消息方案

你可以通过Acumatica框架内置的PXProcessing相关API直接获取设置的错误消息,具体操作如下:

核心实现方式

PXProcessing类调用SetError()标记的错误会统一存储在当前请求上下文的处理结果集合中,你可以调用GetProcessedRecords()方法直接读取:

// 获取所有SOShipment的处理结果
List<PXProcessingResult> processedRecords = PXProcessing<PX.Objects.SO.SOShipment>.GetProcessedRecords();

// 遍历提取错误信息
foreach (var record in processedRecords)
{
    if (!record.IsSuccess)
    {
        // 错误消息
        string errorMessage = record.Error;
        // 错误对应行的索引
        int errorRowIndex = record.Index;
        // 错误对应的SOShipment记录对象
        SOShipment errorShipment = record.Item as SOShipment;
        // 此处编写自定义处理逻辑
    }
}

补充注意事项

  • 调用GetProcessedRecords()必须和执行SetError()的逻辑处于同一个请求生命周期内,跨请求时处理结果缓存会被框架自动清空,无法读取到历史错误。
  • 若第三方插件的处理方法本身返回IEnumerable<PXProcessingResult>类型,你可以直接读取返回值提取错误,无需额外调用GetProcessedRecords()。
  • 确保你获取错误的逻辑在第三方插件执行完成之后调用,避免过早读取未写入完成的错误集合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 00:36:01