当我调用Acumatica来更新PO收据时,细节行上的PO Number字段没有更新。我只是在做一个PUT到缺省的/17.200.001端点,包括一个详细的行。PUT是成功的,但是响应返回细节行上的空PONbr和POType,并且这些字段不会被更新。这些字段是否出于某种原因而只读?如何解决这个问题或重写它,以便更新这些PO字段?
更新#1 3/22:在下面的响应中,我尝试将这些值放入insert中而不是更新,但现在我得到了一个不同的错误:“Per : Quantity必须大于0”和"PurchaseReceipt.Details.ReceiptQty: Quantity必须大于0“。但是,ReceiptQty是存在的,并且大于0。
更新2 3/22:您应该能够通过非常简单的步骤复制它:
下面是插入的示例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’附近的不正确语法”--不管这意味着什么。
发布于 2019-03-22 13:55:02
逻辑是,当您插入购买收据详细信息行时,如果您指定了有关采购订单的信息,那么该行将以PONbr和POType的形式添加对原始采购订单的引用。
插入行后,通过web服务的行为与屏幕上的行为相同,PONbr和POType是只读字段,不能修改。
在插入过程中,正确插入购买订单行所需的参数是PONbr、POType和POLineNbr。
更新
在某些情况下,由于操作的复杂性,为了覆盖特定的场景,创建了一个特殊的适配器。在这种情况下,将详细信息行添加到购买收据就是这些场景之一。因此,只需要一些特定的值,其余的将从系统中的记录中提取。
我认为在您的情况下,由于采购订单行已经/已经存在于另一份采购收据上,它们的开放数量为0,然后将其作为收据数量的值。不幸的是,这会触发一个错误,因为购买收据中的收据数量不能是0。
https://stackoverflow.com/questions/55293375
复制相似问题