Rest Acumatica api分支不能为空

Rest Acumatica api分支不能为空,rest,api,acumatica,Rest,Api,Acumatica,JSON中存在Branch字段,但Acumatica忽略了它,并表示“Branch不能为空” api端点是/acumaticadb/entity/Default/17.200.001,我将JSON放在/SalesOrder中,试图创建一个新订单 分支字段存在于json的细节级别。我在订单头和订单详细信息级别上都尝试了“Branch”和“BranchID”,但仍然得到相同的错误 我试图在登录请求期间指定分支。在订单创建过程中仍然存在相同的错误 错误的确切文本:“PX.Data.PXExceptio

JSON中存在Branch字段,但Acumatica忽略了它,并表示“Branch不能为空”

api端点是/acumaticadb/entity/Default/17.200.001,我将JSON放在/SalesOrder中,试图创建一个新订单

分支字段存在于json的细节级别。我在订单头和订单详细信息级别上都尝试了“Branch”和“BranchID”,但仍然得到相同的错误

我试图在登录请求期间指定分支。在订单创建过程中仍然存在相同的错误

错误的确切文本:“PX.Data.PXException:错误:'Branch'不能为空。” 堆栈跟踪的信息不是很丰富,它说错误是在尝试保持顺序时抛出的

通过web UI,同一用户可以很好地创建带项目的订单

这个问题几乎与/49039152相同,但没有解决方案

编辑:未通知代码未通过,请求如下:

付诸表决:

分支截图:


我花了几个小时试图解决这个问题,最终找到了解决方案。我遇到的问题是,我用于API的用户没有访问指定分支机构/公司所需的用户角色。这是一个非常容易引起误解的错误消息。我想我使用的是和你一样的“销售演示”测试数据。我参加聚会有点晚了,但我希望这对其他人有帮助

要修复:

  • 转到“公司”屏幕,找到公司的访问角色
  • 从用户屏幕将该角色添加到API用户角色中
    以防其他人遇到同样的错误,@micwallace的解决方案对你不起作用

    如果在登录调用中指定可选的
    branch
    参数,可能需要再次检查您是否使用了
    branch ID
    而不是
    branch Name
    作为值,这可以在屏幕上找到

    e、 g.如果我们查看所附的2019R1销售演示屏幕截图,并希望使用修订版二产品公司的产品零售分支,则登录调用中使用的正确值应为产品零售

    {
        "name" : "{{api_username}}",
        "password" : "{{api_password}}",
        "company" : "{{tenant_login_name}}",
        "branch" : "PRODRETAIL",
        "locale" : "{{locale_code}}"
    }
    

    可能值得查看您登录用户的用户配置文件,以确保设置了默认分支。用户配置文件中的默认分支已设置,并且始终已设置。作为问题的一部分,可能值得查看您的登录方法和get/put方法。登录方法没有多少灵活性--您指定用户名,密码、公司和可选分支机构。指定分支没有帮助。获取现有订单(详细信息已展开)时,会在每个详细信息上显示一个分支字段。将新订单(分支字段位于同一级别,即详细级别)放入会导致所述错误。添加了屏幕截图。这是Acumatica ERP安装程序附带的测试数据。
    {
        "name" : "{{api_username}}",
        "password" : "{{api_password}}",
        "company" : "{{tenant_login_name}}",
        "branch" : "PRODRETAIL",
        "locale" : "{{locale_code}}"
    }