我正在尝试创建采购发票:
PurchseInvoice_Service pis = new PurchseInvoice_Service();
PurchseInvoice pi = new PurchseInvoice();
pis.Create(ref pi);
pi.Buy_from_Vendor_No = "40000";
pi.Currency_Code = "EUR";
pi.Location_Code = "GREEN";
pis.Update(ref pi);
pi.PurchLines = new Purch_Invoice_Line[1];
pi.PurchLines[0] = new Purch_Invoice_Line();
pi.PurchLines[0].Type = PurchaseInvoice.Type.Item;
pi.PurchLines[0].No = "LS-150";
pi.PurchLines[0].Quantity = 1;
pi.PurchLines[0].Unit_of_Measure_Code = "PCS";
pi.PurchLines[0].Line_Amount = 1;
pis.Update(ref pi);
我得到SoapException
了最后一行的消息:
标准文本代码“LS-150”不存在。
我很困惑,这个项目代码用于采购订单,我可以在项目列表中看到它。那么为什么我不能在这里使用它呢?我认为这应该有效。PostOrder
我什至可以从“ ”对象访问此文本 ID :
Console.WriteLine( po.PurchLines[1].No );
Output is : LS-150
我Dynamics NAV 2009 R2
与DEMO
“”公司的申请一起使用CRONUS International Ltd.
-也许这是我的问题?
顺便提一句。这个恒定的 SQL Server 超时是怎么回事?为什么我可以创建PurchaseInvoice
由于不存在而无法删除并且由于格式错误而无法更新的内容,但我可以很好地阅读它们?Web 服务不应该是“访问应用程序的安全方式”吗?
解决方案:
解决方案是添加一个更新行:
....
pi.PurchLines[0] = new Purch_Invoice_Line();
pis.Update(ref pi);
pi.PurchLines[0].Type = PurchaseInvoice.Type.Item;
....
感谢@uncommonsense。