现在我使用Java开发应用程序会消耗NAV2015的Web服务,但是将数据插入到SalesLine表中很多天。
在Java之前,我使用.NET并且可以像这样完全插入SalesLine ......
using WebService;
SalesOrder_Service salesOrder;
SalesOrder_Service_Service service;
salesOrder = new SalesOrder_Service();
service = new SalesOrder_Service_Service();
service.UseDefaultCredentials = true;
service.Create(ref salesOrder);
Sales_Order_Line[] salesOrderLine = new Sales_Order_Line[1];
salesOrderLine[0] = new Sales_Order_Line();
salesOrderLine[0].Type = WebService.Type.Item;
salesOrderLine[0].Document_No = salesOrder.No;
// put SalesOrderLine into Header like this
salesOrder.SalesLines = salesOrderLine;
service.Update(ref salesOrder);
但现在在Java中我不知道如何将SalesLine插入Header。 我尝试的方式与在.NET中的方式相同,但看起来没有方法可以将数据从Line放到Header中。 实际上它有一个名为setSalesLines的方法(SaleOrderLineList arg0);但问题是SalesOrderLineList只有GET方法。
SalesOrder soHeader = soPort.read(docNo);
//method for set SalesLines requires SalesOrderLineList variable
soHeader.setSalesLines(SaleOrderLineList arg);
// So, I created the SalesOrderLineList
SalesOrderLineList lineList = new SalesOrderLineList();
// But.. lineList has only get method.
lineList.getSalesOrderLine();
// More information
// This is another class for set data to SalesLine
SalesOrderLine saleOrderline = new SalesOrderLine();
saleOrderline.setNo(docNo);
saleOrderline.setDescription("zzZ");
如何将所有这些内容组合在一起? 谢谢你提前注意。
答案 0 :(得分:0)
谢谢团队。
我们终于找到了。
SalesOrder soHeader = soPort.read(docNo);
SalesOrderLineList lineList = new SalesOrderLineList();
SalesOrderLine saleOrderline = new SalesOrderLine();
saleOrderline.setNo(docNo);
saleOrderline.setDescription("zzZ");
lineList.getSalesOrderLine().add(saleOrderline);
soHeader.setSalesLines(lineList);