分支字段存在于JSON中,但Acumatica忽略它,并说'分支不能为空。'。
api端点是/acumaticadb/entity/Default/17.200.001,我正在将JSON PUT到/ SalesOrder,尝试创建新订单。
分支字段出现在详细级别的json中。我试过' Branch'和' BranchID'在订单标题和订单详细信息级别上,仍然得到相同的错误。
我尝试在登录请求期间指定分支。订单创建过程中仍然存在相同的错误。
错误的确切文本:" PX.Data.PXException:错误:'分支'不能为空。" 堆栈跟踪信息量不大,它表示在尝试保留订单时会抛出错误。
通过网络用户界面,同一个用户可以很好地创建包含商品的订单。
这个问题几乎是/ 49039152的问题,但那里没有解决方案。
编辑:没有注意到代码没有通过,这是请求:
PUT:http://localhost/acumaticadb/entity/Default/17.200.001/SalesOrder
{
"Details": [{
"OrderQty": {"value": "10"},
"BranchID": {"value": "HQ"},
"Branch": {"value": "HQ"},
"InventoryID": {"value": "CONBABY1"}
}],
"CustomerOrder": {"value": "TOYONEILLTEST"},
"LocationID": {"value": "MAIN"},
"CustomerID": {"value": "TOYONEILL"},
"BranchID": {"value": "HQ"},
"Branch": {"value": "HQ"}
}
分支截图:
答案 0 :(得分:0)
我花了几个小时试图解决这个问题,最终找到了解决方案。我的问题是,我用于API的用户不具有访问指定分支机构/公司所需的用户角色。这是一个非常令人误解的错误消息。我想我使用的是与您相同的“销售演示”测试数据。我参加聚会有点晚了,但我希望这对其他人有帮助。
要解决:
答案 1 :(得分:0)
万一其他人遇到相同的错误,并且@micwallace的解决方案对您不起作用。
如果您在登录呼叫中指定了可选的branch
参数,可能值得仔细检查一下您是否使用Branch ID
而不是Branch Name
作为值,可以在Branches屏幕上找到。
例如如果我们要查看随附的2019R1 Sales Demo屏幕截图,并希望使用 Revision Two Products 公司的 Products Retail 分支,则登录时使用的正确值呼叫将为 PRODRETAIL 。
{
"name" : "{{api_username}}",
"password" : "{{api_password}}",
"company" : "{{tenant_login_name}}",
"branch" : "PRODRETAIL",
"locale" : "{{locale_code}}"
}