我正在尝试使用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。
在codeunit 422,函数FormatValue中进行此更改可以解决该问题。
//*** BEGIN
// EVALUATE(OptionNo,FORMAT(fldRef.VALUE))
IF NOT EVALUATE(OptionNo,FORMAT(fldRef.VALUE)) THEN
EXIT(FORMAT(FldRef.VALUE));
//*** END