rest - Acumatica REST API - 删除 SalesOrderDetail
问题描述
我正在尝试使用 REST API 删除特定的 SalesOrderDetail 记录(从 id 值)。
我看不到使用默认 API 的方法。我已经尝试自定义 Web 服务端点来为 SalesOrderDetail 创建一个顶级实体,以便我可以对它使用 DELETE 方法,但它似乎不起作用。
我还尝试向 SalesOrder 端点添加一个操作,该操作可以让我删除详细信息中的一行,但该操作不可供我使用,而且我不确定如何访问它。
有谁知道如何做到这一点?
解决方案
您可以通过将详细信息实体的删除属性设置为 true 来删除项目的详细信息行。这可以通过任何端点完成,方法如下:
首先检索包含您要删除的详细信息的记录:
GET : https://localhost/MyStoreInstance/entity/Default/18.200.001/SalesOrder ?$expand=Details&$select=OrderNbr,OrderType,Details/InventoryID,Details/ WarehouseID&$filter=OrderType eq 'SO' 和 CustomerOrder eq ' SO248-563-06'
你应该得到类似的结果:
[
{
"id": "c52bd7ac-c715-4ce3-8565-50463570b7d9",
"rowNumber": 1,
"note": "",
"CustomerOrder": {
"value": "SO248-563-06"
},
"Details":
[
{
"id": "988988a5-3bc0-4645-a884-8a9ba6a400b4",
"rowNumber": 1,
"note": "",
"InventoryID": {
"value": "AALEGO500"},
"WarehouseID": {"value": "MAIN"},
"custom": {},
"files": []
},
{
"id": "983f9831-b139-489c-8ad0-86d50f6e535d",
"rowNumber": 2,
"note": "",
"InventoryID": {"value": "CONTABLE1"},
"WarehouseID": {"value": "MAIN"},
"custom": {},
"files": []
},
{
"id": "19193380-63b2-445c-a50b-fd6d57f176a0",
"rowNumber": 3,
"note": "",
"InventoryID": {"value": "CONGRILL"},
"WarehouseID": {"value": "MAIN"},
"custom": {},
"files": []
}
],
"OrderNbr": {"value": "000003"},
"OrderType": {"value": "SO"},
"custom": {},
"files": []
}
]
然后,您可以使用以下正文重新发送 PUT 请求,以删除相应的详细信息行
{
"OrderType":{"value":"SO"},
"OrderNbr":{"value":"000003"},
"Hold":{"value":false},
"Details":
[
{
"id":"19193380-63b2-445c-a50b-fd6d57f176a0",
"delete":true
}
]
}
推荐阅读
- python - 如何使用非英语语言环境将参数传递给 python 脚本
- javascript - keyup 是我应该使用的吗?
- c++ - 如果返回类型是数组,则禁用模板成员函数
- python - 无法使用 Pygatt 和 BLE112 写入 BLE112 特性
- html - “对象”类型上不存在属性“过滤器”。尝试过滤响应时
- javascript - 如何使用另一个属性返回特定的 Geojson 特征属性,例如按名称返回经度属性?
- unity3d - Unity 2D:如何使用 deltaTime 在 while 循环中减少静态 int
- mysql - Mysql query problems (total amount of time)
- android - constraintlayout 用子 match_constraint 包裹它的内容宽度
- typo3 - How set up speaking links for news in TYPO3 9