Acumatica REST API创建销售订单报Inter-Branch Transactions禁用错误
Acumatica REST API创建销售订单跨分支报错排查方案
核心概念区分
- Tenant(租户):Acumatica最高层级的数据隔离单元,不同租户的配置、业务数据完全独立,本次单租户操作场景下的报错和租户配置无关。
- Branch(分支):同一租户下的独立业务经营单元,例如同主体下的不同区域分公司、不同业务线实体,是和租户完全独立的配置层级。
报错原因说明
Allocated是销售订单行的系统内置自动计算字段,不需要在API请求中显式传入,系统保存订单时会自动给该字段赋值。
报错仅在部分客户上触发的核心原因是:这部分客户主数据绑定的默认分支、或客户默认收货仓库所属分支,和API调用账号的当前登录分支不一致,系统判定该操作属于跨分支交易,但当前租户未启用跨分支交易功能,因此在字段自动赋值环节抛出异常。
单分支配置的租户默认会隐藏跨分支交易功能的启用入口,因此在功能列表找不到对应选项是正常现象,不需要特意排查入口问题。
解决方法
场景1:无跨分支交易需求(优先排查)
如果业务上所有订单都在同一个分支下处理,按以下步骤修正配置即可:
- 进入用户管理页面,找到调用API使用的账号,确认该账号绑定的默认操作分支。
- 打开触发报错的客户主数据(如示例中的C006089),检查客户财务设置、交付设置页签中绑定的默认分支、默认收货仓库,确保所属分支和API账号的操作分支完全一致。
- 检查订单明细中涉及的物料,其默认库存所属分支也要和当前操作分支匹配,避免系统自动匹配到其他分支的库存。
场景2:存在跨分支交易需求
如果业务上确实需要为不同分支的客户创建订单,按以下步骤开启功能:
- 使用系统管理员账号进入「启用/禁用功能」页面
- 在财务模块分组下找到*Inter-Branch Transactions(跨分支交易)*选项,勾选后按系统提示完成初始化配置
- 配置完成后重新调用API即可正常创建订单。
附:触发报错的示例请求
{ "CustomerID": {"value": "C006089"}, "Description": {"value": "Hinnershitz"}, "Details": [ { "InventoryID": {"value": "DESIGNER"}, "LineDescription": {"value": "Kitchen - perimeter - Hampton (Pure White), Frameless, Birch Plywood, Dovetailed Wood\n"}, "OrderQty": {"value": 1}, "UnitPrice": {"value": 7105.059800000001} }, { "InventoryID": {"value": "FUEL SURCHARGE"}, "OrderQty": {"value": 1}, "UnitPrice": {"value": 355.25299000000007} } ] }
附:完整异常信息
Exception: An error occurred during processing of the field Allocated value False Inter-Branch Transactions feature is disabled.
PX.Data.PXOuterException: An error occurred during processing of the field Allocated value False Inter-Branch Transactions feature is disabled
内容的提问来源于stack exchange,提问作者Erkan Y.
相关产品推荐
相关产品推荐

