Когда я вызываю API REST Acumatica для обновления квитанции заказа на покупку, поле номера заказа на строке подробностей не обновляется. Я просто делаю PUT для конечной точки Default / 17.200.001, включая строку детализации. PUT успешен, но ответ возвращает пустые PONbr и POType в строке подробностей, и эти поля не обновляются. Почему эти поля доступны только для чтения? Как я могу решить это или переопределить, чтобы эти поля PO обновились?
Обновление № 1 3/22:
Согласно приведенному ниже ответу, я попытался поместить эти значения во вставку вместо обновления, но теперь я получаю другую ошибку: «Ошибка PO: количество должно быть больше 0» и «PurchaseReceipt.Details [0] .ReceiptQty: Количество должно быть больше 0 ". Тем не менее, ReceiptQty есть и больше 0.
Обновление № 2 3/22:
Вы должны быть в состоянии скопировать его с очень простыми шагами:
- Создайте заказ с поставщиком, который по умолчанию расположен в местоположении.
- Добавление строки заказа на поставку с идентификатором InventoryID, который по умолчанию задает тип линии и склад
- Введите количество заказа
- Сохранить PO
- В Почтальоне, PUT, аналогичном JSON, который я предоставил ниже для получения заказа на поставку, указав строку детали с указанным идентификатором запаса, номером заказа на поставку, типом заказа на поставку, строкой Nbr, строкой заказа на поставку Nbr, кол-во квитанций, складом
- Ответом является ошибка «Ошибка заказа: количество должно быть больше 0», «PurchaseReceipt.Details [0] .ReceiptQty: количество должно быть больше 0»
Вот пример JSON для вставки:
{
"Date": {
"value": "2019-03-22T00:00:00-04:00"
},
"Details": [
{
"InventoryID": {
"value": "0010006"
},
"LineNbr": {
"value": 1
},
"Location": {
"value": "01P"
},
"POLineNbr": {
"value": 1
},
"POOrderNbr": {
"value": "005554"
},
"POOrderType": {
"value": "RO"
},
"ReceiptQty": {
"value": 5
},
"Warehouse": {
"value": "002"
}
}
],
"PostPeriod": {
"value": "032019"
},
"VendorID": {
"value": "CVS TRADE"
}
}
Обновление № 3 3/24:
Чтобы попытаться обойти Acumatica, заставив ReceiptQty установить значение 0, я попытался добавить обработчик POReceiptLine_ReceiptQty_CacheAttached без атрибутов PXDBQuantity, PXDefault и PXFormula, чтобы предотвратить его обнуление. Это дает мне ошибку SQL: «Неверный синтаксис рядом с INTranInTransit_INTransitLineStatus» - что бы это ни значило.