Ошибка itgensql005 при получении серийного номера из Exact Online GoodsDeliveryLines для загрузки в билет Freshdesk

Я хочу обмениваться информацией между ExactOnline и Freshdesk на основе доставок (Точные онлайн-счета -> Контакты Freshdesk, Точные онлайн-доставки -> Билеты Freshdesk).

Серийный номер доставленного товара недоступен ни в ExactOnlineREST..GoodsDeliveryLines стол ни в ExactOnlineXML..DeliveryLines,

В следующем запросе перечислены все столбцы, которые также задокументированы в Exact Online REST API GoodsDeliveryLines:

select * from goodsdeliverylines

Все остальные поля документации по API REST включены в GoodsDeliveryLines, только серийные номера и номера партий.

Я попытался - как и в таблицах ExactOnlineXML, где столбцы появляются только тогда, когда они действительно указаны - использовать:

select stockserialnumbers from goodsdeliverylines

Это поднимает однако ошибку:

itgensql005: Unknown identifier 'stockserialnumbers'.

Как я могу получить серийные номера?

2 ответа

Решение

StockSerialNumbers это массив, в документации Exact Online говорится:

Коллекция номеров партий

до сих пор в каждой строке поставки может быть 0, 1 или более серийных номеров.

Эти серийные номера не были доступны до некоторого времени назад; пожалуйста, убедитесь, что вы обновили хотя бы до 16282 версию Exact Online SQL провайдера. Затем он должен работать, используя запрос к отдельной таблице:

select ssrdivision
,      ssritemcode
,      ssrserialnumber
from   GoodsDeliveryLineSerialNumbers  

Выход:

ssrdivision | ssritemcode | ssrserialnumber
----------- | ----------- | ---------------
868,035     | OUT30074    | 132
868,035     | OUT30074    | 456

Для использования серийных номеров может потребоваться больше модулей от соответствующего поставщика Exact Online, например "Торговля", но когда вы можете увидеть их в веб-интерфейсе пользователя, тогда они у вас уже есть. Если вы получаете несанкционированный HTTP 401, у вас нет модуля для серийных номеров.

Поскольку stockserialnumbers на самом деле это список, а не одно поле, вы должны запросить его, используя объект GoodsDeliveryLineSerialNumbers, который вы можете найти в последней версии.

select * from GoodsDeliveryLineSerialNumbers

Если вы выполните приведенный выше запрос, вы получите поля для GoodsDeliveryLine и те из основных серийных номеров. К последним полям добавляется префикс Ssr для устранения неоднозначности обеих сущностей. Это означает, что вам не нужно дополнительное соединение на GoodsDeliveryLine, что может повысить производительность.

Другие вопросы по тегам