Филиал Acumatica API не может быть пустым - PullRequest
0 голосов
/ 23 мая 2018

Поле Branch присутствует в JSON, но Acumatica игнорирует его и говорит, что «Branch не может быть пустым».

Конечной точкой API является /acumaticadb/entity/Default/17.200.001, и яЯ помещаю JSON в / 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"}
}

Снимок ветки:

Hq Branch

Ответы [ 2 ]

0 голосов
/ 06 апреля 2019

В случае, если кто-то еще столкнется с той же ошибкой, и решение @ micwallace не сработало для вас.

Если вы указали необязательный параметр branch при входе в систему, возможно, стоит удвоитьпроверяя, что вы использовали Branch ID, а не Branch Name в качестве значения, которое можно найти на экране Branches .

например, если бы мы быличтобы посмотреть прикрепленный скриншот демонстрации продаж 2019R1 и использовать ветку Products Retail от компании Revision Two Products , правильное значение для использования при входе в систему будет PRODRETAIL .

{
    "name" : "{{api_username}}",
    "password" : "{{api_password}}",
    "company" : "{{tenant_login_name}}",
    "branch" : "PRODRETAIL",
    "locale" : "{{locale_code}}"
}
0 голосов
/ 23 июня 2018

Я часами пытался это исправить и, наконец, пришел к решению.Проблема для меня заключалась в том, что у пользователя, которого я использовал для API, не было роли пользователя, необходимой для доступа к указанному филиалу / компании.Это был случай очень вводящего в заблуждение сообщения об ошибке.Я думаю, что я использую те же тестовые данные, что и вы.Я немного опоздал на вечеринку, но надеюсь, что это поможет другим.

Чтобы исправить:

  1. Перейдите на экран компаний и найдите роль доступа для компании.
  2. Добавьте эту роль к своим ролям пользователей API на экране пользователей.
...