如何通过REST API向Shipment添加销售订单行?解决ShipComplete报错
Acumatica REST API 创建发货单(关联现有销售订单)解决方案
错误原因
你遇到的ShipComplete cannot be empty报错,是因为Acumatica的Shipment实体要求ShipComplete为必填字段,这个布尔类型字段用于标识发货单是否完成发货,需要显式添加到请求参数中。
正确的PUT请求示例
以下是包含必填字段、可正确关联现有销售订单行的JSON参数示例:
{ "Type": { "value": "Shipment" }, "CustomerID": { "value": "2708" }, "ShipmentDate": { "value": "04/25/2025" }, "WarehouseID": { "value": "WAUKEGAN" }, "Description": { "value": "Import to Acumatica via API test 1" }, "ShipComplete": { "value": false }, "Orders": [ { "OrderNbr": { "value": "100072" }, "OrderType": { "value": "SO" }, "ShippedQty": { "value": 8.000000 } } ], "ShipVia": { "value": "DELIVERY" } }
关键说明
ShipComplete字段:值设为false表示未完成发货,true表示已完成,根据业务需求选择即可。Orders数组:用于关联已有销售订单行,其中OrderNbr和OrderType为必填项,ShippedQty指定对应行的发货数量。- 移除了原请求中多余的
ShipmentType字段(该字段属于Shipment主实体,不属于订单关联行)。
补充提示
若需关联多个销售订单行,只需在Orders数组中添加更多对象,每个对象对应一条销售订单行的关联信息。
内容的提问来源于stack exchange,提问作者pmfith
相关产品推荐
相关产品推荐

