在 GP Web 服务调用 CreateSalesInvoice 后,如何捕获新创建的发票 ID(密钥)

How can I capture the newly created invoice Id (key) after GP web service call to CreateSalesInvoice

Dynamics GP 的 Web 服务产品调用了 CreateSalesInvoice。我 运行 遇到的问题是调用 returns void 所以我在完成调用后实际上没有得到销售发票对象。我可以看到发票已在数据库中创建并分配了一个 Id(密钥)。

在我的应用程序中,我传递值以创建销售发票,然后我想捕获 ID,以便我可以通过我们的支付网关处理付款。我希望这一切都在代码中处理。在用户刚刚创建发票后按 customerId 生成发票列表,然后让它们 select 新创建的发票,然后处理付款似乎不合理。

有没有办法在创建方法调用后获取id?

据我所知,该值不是通过 GP 中的 Web 服务返回的(这确实不是一个很好的 Web 服务)。由于 SOPNUMBE 列是键,所以最好的办法是在源代码中生成它,然后在将它传递给 GP 时知道值。您需要与您的 GP 团队交谈或查看 GP 中的设置,因为 SOPNUMBE 有 15 个字符的限制。他们可能希望您以 "INV000001" 等特定方式配置号码。

在大多数 GP 表中有一个 "ID" 字段称为 "DEX_ROW_ID",它对 99% 的应用程序完全没有用,因为它与任何东西无关。请记住,价值在这里对您根本没有用。您想要使用 SOPNUMBE 和 SOPTYPE。

Victoria Yudin 的站点对于浏览古老的 GP 架构非常有帮助。

https://victoriayudin.com/gp-tables/sop-tables/