繁体   English   中英

如何使用Dynamics NAV Web服务在Java中插入Line table?

[英]How to insert Line table in Java using Dynamics NAV web services?

现在,我使用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");

如何将所有这些东西结合在一起? 预先感谢您的关注。

谢谢团队。

我们终于找到了。

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM