API创建采购订单时Inter-Branch Transactions功能报错求助
解决API创建采购订单时Inter-Branch Transactions禁用导致的仓库字段报错问题
问题背景
已关闭Inter-Branch Transactions功能,通过Default端点调用API创建采购订单时,已在表头和行项指定正确分支(RBYTEAUCK),且仓库(AUCKMAIN)属于该分支,但仍收到报错:
PurchaseOrder.Details[0].Warehouse: Inter-Branch Transactions feature is disabled.
Inserting 'PO Line' record raised at least one error. Please review the errors.
通过UI录入相同内容的采购订单无异常,怀疑API请求中指定的WarehouseID被库存项默认的其他分支仓库(MAIN)覆盖。API请求JSON如下:
{"Branch": {"value": "RBYTEAUCK"},"VendorID": {"value": "ARKTAK"},"Details": [{"BranchID": {"value": "RBYTEAUCK"},"InventoryID": {"value": "CABLFITTNG"},"OrderQty": {"value": 1},"WarehouseID": {"value": "AUCKMAIN"}}]}
临时添加"Hold": {"value": false}字段后请求可成功生成采购订单,但该字段在自定义端点不可用,且最新版本已移除,不符合正常调用逻辑。
可行解决建议
- 强制锁定仓库字段优先级:在API请求行项中,除了传递
WarehouseID,尝试添加OverrideDefaultWarehouse: {"value": true}(如果系统支持该参数),明确告知系统使用指定仓库而非默认值。 - 检查自定义端点字段配置:若使用自定义端点,确认是否在端点配置中显式启用了
WarehouseID字段的传递权限,避免因字段未暴露导致系统自动填充默认值。 - 二次验证仓库分支关联:在系统后台确认AUCKMAIN仓库的所属分支确实为RBYTEAUCK,排除配置层面的分支-仓库不匹配问题。
- 启用API请求日志排查:开启平台的API日志功能,查看系统接收到请求后实际处理的参数值,确认
WarehouseID是否被正确接收,还是被默认仓库值覆盖,定位问题根源。 - 适配新版本API逻辑:若使用最新版本,联系平台技术支持确认是否存在API参数变更,是否需要添加其他替代参数(如
SkipInterBranchValidation)来绕过不必要的默认值校验。
内容的提问来源于stack exchange,提问作者GrayFoxNZ
相关产品推荐
相关产品推荐

