Acumatica REST API - Удалить SalesOrderDetail - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь удалить конкретную запись SalesOrderDetail (из значения id) с помощью REST API.

Я не вижу способа сделать это с помощью API по умолчанию.Я попытался настроить конечную точку веб-службы для создания сущности верхнего уровня для SalesOrderDetail, чтобы я мог использовать с ней метод DELETE, но, похоже, он не работает.

Я также пытался добавитьдействие для конечной точки SalesOrder, которое позволило бы мне удалить строку с деталями, но это действие не доступно для использования, и я не уверен, как получить к нему доступ.

Кто-нибудь знает, как этоможно сделать?

1 Ответ

0 голосов
/ 23 февраля 2019

Вы можете удалить строку подробностей элемента, установив для свойства удаления объекта подробности значение 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
        }
    ]
}
...