Skip to main content
 首页 » 编程设计

c#之在 NetSuite SuiteTalk Web 服务中将 SalesOrderItem 添加到 SalesOrder

2024年01月01日44youxin

我正在尝试使用 NetSuite Web 服务放置一个简单的 SalesOrder,但我认为这是一个非常简单的过程,运气为零:

首先我实例化我的对象以用于网络服务:

SalesOrder order = new SalesOrder(); 
SalesOrderItemList items = new SalesOrderItemList(); 
SalesOrderItem item = new SalesOrderItem(); 

现在你会认为我会寻找一些方法,例如:

items.Add(item); 

要创建我的 SalesOrderItems 列表,但现在存在这样的方法,或任何我似乎可以全神贯注的类似方法。我有 SuiteTalkWebServices 平台指南并通读了它,但我被难住了。

这个 API 有什么好的引用资料吗?我认为缺少 NetSuites。顺便说一句,我正在使用 C#。

更新:

我通过谷歌搜索找到了这个 PDF,帮助很大:
http://www.netsuite.com/portal/partners/integration/download/SuiteTalkWebServicesPlatformGuide_2011.2.pdf

让我震惊的是我需要创建一个数组,然后将该数组分配给定义的对象,而不是像我假设的那样一个一个地添加东西。整个 API 都是这样工作的,所以一旦你掌握了它就很好了(基本测试向订单添加 2 件商品):

// create sales order 
            SalesOrder so = new SalesOrder(); 
            SalesOrderItem[] orderItemsArray = new SalesOrderItem[2]; 
 
            for (int i = 0; i < orderItemsArray.Length; i++) 
            { 
                SalesOrderItem item = new SalesOrderItem(); 
                item.quantity = i; 
                item.description = "test item" + i; 
                item.amount = (double)75.00; 
                orderItemsArray[i] = item; 
            } 
 
            SalesOrderItemList orderItems = new SalesOrderItemList(); 
            orderItems.item = orderItemsArray; 
            so.itemList = orderItems; 
 
            so.orderStatus = SalesOrderOrderStatus._pendingApproval; 
            service.add(so); 

这方面还有更多工作要做,但至少这应该让任何人都去。

请您参考如下方法:

在回答您的引用问题时,有几个资源可能会有所帮助。

  • Netsuite User Form - 该论坛回复速度非常快,Netsuite 员工通常会回复问题(需要注册,但免费)
  • 我写了一个blog带有许多 Netsuite API 调用的 PHP 代码示例。它不是 C#,但您可能仍然会发现它很有用。 (更重要的是,这里有一个 sales order request 的例子)

我强烈建议浏览 Netsuite 用户组论坛,它有很多代码示例。