从 Exact Online GoodsDeliveryLines 获取序列号以上传到 Freshdesk 工单时出现错误 itgensql005

Error itgensql005 when fetching serial number from Exact Online GoodsDeliveryLines for upload to Freshdesk ticket

我想根据交付在 ExactOnline 和 Freshdesk 之间交换信息(Exact 在线帐户 -> Freshdesk 联系人,Exact 在线交付 -> Freshdesk 票)。

ExactOnlineREST..GoodsDeliveryLines table 和 ExactOnlineXML..DeliveryLines.

都没有发货序列号

以下查询列出了也在 Exact Online REST API GoodsDeliveryLines 上记录的所有列:

select * from goodsdeliverylines

关于 REST API 的文档的所有其他字段都包含在 GoodsDeliveryLines 中,只有序列号和批号不包含。

我试过 - 就像在 ExactOnlineXML tables 上一样,其中的列只有在实际指定时才会存在 - 使用:

select stockserialnumbers from goodsdeliverylines

但这会引发一个错误:

itgensql005: Unknown identifier 'stockserialnumbers'.

如何找回序列号?

由于 stockserialnumbers 实际上是一个列表而不是单个字段,您必须使用实体 GoodsDeliveryLineSerialNumbers 来查询它,您可以在最新版本中找到它。

select * from GoodsDeliveryLineSerialNumbers

如果你执行上面的查询,你会得到GoodsDeliveryLine的字段和底层序列号的字段。后面的字段以 Ssr 为前缀以消除两个实体的歧义。这意味着您不需要在 GoodsDeliveryLine 上进行额外的联接,这可能会提高性能。

StockSerialNumbers 是一个数组,在 Exact Online 文档中它说:

Collection of batch numbers

至此每条发货行,可以包含0个、1个或多个序列号。

这些序列号前段时间才可用;请确保您至少升级到 Exact Online SQL 提供商的构建版本 16282。它应该可以工作,然后在单独的 table:

上使用查询
select ssrdivision
,      ssritemcode
,      ssrserialnumber
from   GoodsDeliveryLineSerialNumbers  

输出:

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

使用序列号可能需要来自相应供应商 Exact Online 的更多模块,例如 "Trade",但是当您可以在 Web 用户界面中看到它们时,您就已经拥有了它们。如果您收到未经授权的 HTTP 401,则说明您没有序列号模块。