NAV web服务抛出“无法输入'订单'”在Integer"

本文关键字:订单 quot Integer 无法输入 输入 服务 web NAV | 更新日期: 2023-09-27 18:17:47

我正试图使用web服务在Dynamics NAV (2009 R2 Classic)中添加采购线采购订单,但我遇到了一个特殊的问题。

在没有定义No的情况下创建采购线没有问题。只有当我定义No时,像下面的例子一样,我才会得到以下异常:

不能在Integer中输入Order。

Dim purchaseLine = New PurchaseLine
purchaseLine.Document_No = myPurchaseHeader
purchaseLine.Document_Type = Document_Type.Order
purchaseLine.Document_TypeSpecified = True
purchaseLine.Line_No = 1000
purchaseLine.Line_NoSpecified = True
purchaseLine.Type = Type.Item
purchaseLine.TypeSpecified = True
purchaseLine.No = myItemNo ' Defining No seems to cause the problem.
purchaseLineService.Create(purchaseLine)

我试着先创建购买线,而不定义No。这是有效的,但是用No定义更新它,结果相同。

purchaseLine.No = myItemNo
purchaseLineService.Update(purchaseLine)

有人建议在某处尝试使用1"1"用于Document_Type,但这也不起作用。

我也遵循了这里描述的步骤,但没有成功。

当我在谷歌上搜索时,我发现一些论坛上有人有类似的问题,但他们并没有让我更接近解决方案。

知道的吗?

编辑:

在做了更多的研究和测试之后,我得出的结论是我的NAV安装不完整/有缺陷/混乱。

NAV web服务抛出“无法输入'订单'”在Integer"

这个问题在代码单元422,函数FormatValue中得到纠正。

//*** BEGIN
//  EVALUATE(OptionNo,FORMAT(fldRef.VALUE))
  IF NOT EVALUATE(OptionNo,FORMAT(fldRef.VALUE)) THEN
    EXIT(FORMAT(FldRef.VALUE));
//*** END