NAV Web服务抛出“无法在Integer中输入'Order'”

问题描述 投票:0回答:1

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

在没有定义No的情况下创建购买行没有问题。只有当我定义一个No时,就像下面的例子中一样,我得到以下异常:

您不能在整数中输入'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,但这也不起作用。

我也按照here描述的步骤,没有成功。

谷歌搜索我发现some forums人们有类似的问题,但他们没有让我更接近解决方案。

有任何想法吗?

编辑:

经过一些研究和测试后,我得出结论,我的资产净值安装不完整/有缺陷/搞砸了。更多细节here

c# .net vb.net dynamics-nav
1个回答
0
投票

在codeunit 422,函数FormatValue中进行此更改可以解决该问题。

//*** BEGIN
//  EVALUATE(OptionNo,FORMAT(fldRef.VALUE))
  IF NOT EVALUATE(OptionNo,FORMAT(fldRef.VALUE)) THEN
    EXIT(FORMAT(FldRef.VALUE));
//*** END
© www.soinside.com 2019 - 2024. All rights reserved.