在Suitelet附带的客户端脚本中的现有记录上设置子列表字段

时间:2019-06-14 16:31:15

标签: promise client netsuite suitescript sublist

我在Suitelet子列表表单上附加了一个客户端脚本。子列表具有复选框。我需要获取连接到每个子列表行的销售订单记录(从保存的搜索中获取)。然后,我需要加载该销售订单记录并关闭该记录上的所有订单项。我可以在销售订单记录上设置正文字段,但不能设置子列表字段。我可以从项目子列表中获取值,但无法设置它们。

是否可以通过附加到suitelet的客户端脚本在现有销售订单记录上设置子列表字段?如果可以,怎么办?

我试图以标准方式,动态方式和使用诺言来做到这一点。我知道有两种方法可以设置子列表,具体取决于是否在加载记录时使用动态模式。

        var salesOrderRec = record.load.promise({
            type: record.Type.SALES_ORDER,
            id: salesOrderId
        });
        salesOrderRec.then(function (objRecord) {
            var itemLines = objRecord.getLineCount({
                sublistId: 'item'
            });
            console.log("itemLines: " + itemLines);
            for (var i = 0; i < itemLines; i++) {
                var isClosed = objRecord.getSublistValue({
                    sublistId: 'item',
                    fieldId: 'isclosed',
                    line: i,
                });
                console.log("isClosed: " + i + ", " + isClosed);
                objRecord.setSublistValue({
                    sublistId: 'item',
                    fieldId: 'isclosed',
                    line: i,
                    value: true
                });
            }
            var recordId = objRecord.save();
        });

1 个答案:

答案 0 :(得分:2)

    return
}

observers[.allMessages] = [observer]