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

Acumatica 2019R1中TR订单类型发货创建异常及字段显示需求

针对你在Acumatica 2019R1中遇到的TR订单类型发货限制问题,我来梳理下背景、现有代码和可能的解决方向:

问题背景

我们在Acumatica中使用TR(Transfer)订单类型,已经通过自定义代码让Sales Order页面上的CustomerID和Customer Location字段可见(标准Acumatica默认不暴露这两个字段),同时还有一个自定义屏幕专门存储客户及位置信息。

但在2019R1版本中出现了功能退化:无法使用客户或供应商类型的客户创建发货,仅允许选择公司类型的客户,而这个功能在2017R2版本中是完全正常的。触发的错误信息如下:

An error occurred during processing of the field Customer value C000000001 AR Error: Incorrect value specified. Specify a customer (for shipments of the Shipment type) or a company business account (for shipments of the Transfer type)

已实现的字段可见性代码

以下是让TR订单类型显示客户相关字段的自定义代码,测试环境为未发布任何自定义项的全新Acumatica销售数据实例:

protected void SOOrder_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler) { 
    if(InvokeBaseHandler != null) InvokeBaseHandler(cache, e); 
    var row = (SOOrder)e.Row; 
    if (row.OrderType == "TR") { 
        PXUIFieldAttribute.SetVisible<SOOrder.customerID>(cache, (object)row, true); 
        PXUIFieldAttribute.SetVisible<SOOrder.customerLocationID>(cache, (object)row, true); 
    } 
}
问题分析与解决思路

1. 版本逻辑变更的根源

Acumatica 2019R1大概率对Transfer类型发货的客户验证逻辑做了收紧,强制要求必须使用**公司类型(Company Type)**的业务账户,而2017R2版本没有这个严格限制。这是导致功能失效的核心原因。

2. 自定义验证逻辑的扩展

要解决这个问题,需要修改或绕过原有的验证规则。可以尝试在SOOrderEntry或ShipmentEntry中扩展字段验证事件,针对TR订单类型放宽对客户类型的限制:

示例参考代码(需根据实际业务场景调整):

protected void SOOrder_CustomerID_FieldVerifying(PXCache cache, PXFieldVerifyingEventArgs e)
{
    SOOrder row = e.Row as SOOrder;
    if (row?.OrderType == "TR")
    {
        // 获取选中的业务账户记录
        BAccount bAccount = PXSelect<BAccount, Where<BAccount.bAccountID, Equal<Required<BAccount.bAccountID>>>>.Select(Base, e.NewValue);
        if (bAccount != null && (bAccount.Type == BAccountType.CustomerType || bAccount.Type == BAccountType.VendorType))
        {
            // 跳过原有的公司类型强制验证
            e.Cancel = true;
        }
    }
}

⚠️ 注意:这个示例仅提供思路,实际使用时需要同步检查发货创建流程中的其他验证节点,避免后续环节出现关联错误。

3. 业务账户类型的兼容处理

如果允许的话,也可以考虑将目标客户的业务账户类型修改为公司类型,但这可能会影响其他业务流程,需要谨慎评估。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:25:47