NetSuite:如何使用套件脚本关闭销售订单?

时间:2012-08-30 12:12:03

标签: netsuite

我正在尝试使用NetSuite中的套件脚本关闭销售订单。

我注意到已经关闭的记录的“状态”设置为“已关闭”。我在提交记录之前尝试设置此字段,但这不起作用,记录仍然处于“待完成”阶段。

是否涉及其他任何领域?

提前致谢!

4 个答案:

答案 0 :(得分:7)

没有实际的'关闭'交易记录的等效状态。

您必须遍历所有订单项并设置为关闭,然后重新提交记录以提交更改。

以下是示例代码:

var obj = nlapiLoadRecord('salesorder', 1);
var count = obj.getLineItemCount('item');

for(var i = 1; i <= count; i++)    {

    obj.setLineItemValue('item', 'isclosed', i, 'T');

}

nlapiSubmitRecord(obj);

答案 1 :(得分:2)

在suitescript 2.0中使用aftersubmit()尝试以下代码。它将字段“ isclosed”设置为“ true”。

  var itemcounts = salesorderRecord.getLineCount({
                    sublistId: 'item'
                });
                for (var i = 0; i < itemcounts; i++) {
                    var lineNum = salesorderRecord.selectLine({
                        sublistId: 'item',
                        line: i
                    });
                    var setclosed = salesorderRecord.setCurrentSublistValue({
                        sublistId: 'item',
                        fieldId: 'isclosed',
                        line: i,
                        value: true,
                        ignoreFieldChange: true
                    });
                    salesorderRecord.commitLine({
                        sublistId: 'item',
                        line: i
                    });

                }salesorderRecord.save();

答案 2 :(得分:1)

  var count = poRec.getLineCount({
                sublistId: 'item'
            });

            for (var i = 0; i < count; i++) {

                poRec.setSublistValue({
                    sublistId: 'item',
                    fieldId: 'isclosed',
                    line: i,
                    value: true
                });

            }

suitescript 2.0代码段

答案 3 :(得分:0)

我可以通过关闭订单包含的各个订单项来关闭销售订单。

每个订单项都有一个需要设置为true('T')的订单项字段'isclosed'。