在NetSuite SuiteTalk Web Services中将SalesOrderItem添加到SalesOrder

时间:2012-10-25 20:27:36

标签: c# web-services netsuite

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

首先,我实例化我的对象以用于Web服务:

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

现在你会想我会找一些像这样的方法:

items.Add(item);

要创建我的SalesOrderItems列表,但现在存在这样的方法,或者我似乎可以包围的任何类似方法。我有SuiteTalkWebServices平台指南,已经阅读完了,我很难过。

对此API有什么好的参考? NetSuites在我看来是缺乏的。我顺便使用C#。

UPDATE:

我通过谷歌搜索找到了这个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);

还有更多需要做的事情,但至少这应该让任何人都去。

1 个答案:

答案 0 :(得分:0)

在回答您的参考问题时,有几种资源可能会有所帮助。

  • Netsuite User Form - 此论坛得到快速回复,Netsuite员工经常回复问题(需要注册,但免费)
  • 我编写了一个blog,其中包含许多Netsuite API调用的PHP代码示例。它不是C#,但你仍然觉得它很有用。 (更重要的是,这是一个sales order request
  • 的例子

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