使用Netsuite SuiteScript使用项目创建销售订单

时间:2017-09-06 18:44:50

标签: javascript netsuite suitescript

我正在尝试使用SuiteScript 2.0为我的公司编写一个Restlet来创建一个新的销售订单。我发现如何创建一个record.Type.Sales_Order并暂时放入最小值,但我不知道如何为销售订单创建一个项目并将其包含在SO中,以便我可以创建销售订单。

这是我到目前为止(在GET中):

   var salesOrder = record.create({
                type: record.Type.SALES_ORDER, 
                isDynamic: true,
                defaultValues: {
                    entity: param.customer_id
                } 
            });

salesOrder.setValue('trandate', new Date()),
salesOrder.setText('orderstatus','Pending Fulfillment'); 
salesOrder.setValue('memo','Sales Order Generated from ' + param.customer_name);
salesOrder.save();

我是否创建了项目类型的新记录,然后在保存之前将其添加到销售订单中?我查看了netsuite.com中的帮助部分,但无法为销售订单创建项目。

感谢您的任何答案或地点:)

2 个答案:

答案 0 :(得分:2)

在将项目记录添加到销售订单之前,该项目记录必须存在。因此,如果您需要添加尚未创建的项目,则需要先创建项目记录。但是,如果您要询问如何将现有项目添加到销售订单的项目子列表中,则可以执行以下操作:

var salesOrder = record.create({
            type: record.Type.SALES_ORDER, 
            isDynamic: true,
            defaultValues: {
                entity: param.customer_id
            } 
        });

salesOrder.selectNewLine({ //add a line to a sublist
    sublistId: 'item'      //specify which sublist
});

salesOrder.setCurrentSublistValue({   //set item field
    sublistId: 'item',
    fieldId: 'item',
    value: {{itemid}}  //replace with item internal id 
});
salesOrder.setCurrentSublistValue({
    sublistId: 'item',
    fieldId: 'quantity',
    value: {{quantity}} //replace with quantity
});

//repeat above pattern to set the rest of the line fields

salesOrder.commitLine({  //writes the line entry into the loaded record
    sublistId: 'item'
});

salesOrder.save({                  //writes record back to database
    ignoreMandatoryFields: true    //set for testing in case you want to create a record without validating which can give errors
});

HTH

答案 1 :(得分:0)

这取决于您获取商品详情的方式,如果您在系统中有现有商品的商品ID,则可以使用API​​

进行设置
  • 'selectNewLineItem','setCurrentLineItemValue','commitLineItem'。

如果您只获得项目名称及其字段详细信息(系统中不存在),则必须使用

创建新项目

1)var xyz = createRecord('item') 2)使用xyz将具有已创建项的ID,使用它在销售订单中设置它。

注意:API不是确切的名称,它们只是代表它们的用法。

由于