客户端脚本-字段更改事件-正文字段复选框-设置子列表值仅更改一行

时间:2019-12-24 18:55:28

标签: netsuite suitescript2.0

我已经在任务记录上创建了客户端脚本(字段更改)。 子列表是自定义子记录。我希望如果bodyfield复选框设置为true->更改所有子列表行项目... 理论上,子列表的“全部标记/选择”所有复选框。

该脚本至少工作1行...如果我使用selectline“ i”,它将与子列表的LAST行一起工作->如果我以“ 0”开头,它将更改第一行的值。 ..

我该如何解决?

/**
 *@NApiVersion 2.x
 *@NScriptType ClientScript
 */

define(['N/error', 'N/currentRecord'],
    function(error) {

        function fieldChanged(context) {

            var currentRecord = context.currentRecord;

            var subList = currentRecord.getSublist({
            sublistId: 'recmachcustrecord250'});

            var numLines = currentRecord.getLineCount({
            sublistId: 'recmachcustrecord250'});

          var currIndex = currentRecord.getCurrentSublistIndex({
            sublistId: 'recmachcustrecord250'});


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

                var checkbox = currentRecord.getValue({
                fieldId: 'custevent28'});

                  currentRecord.selectLine({
                    sublistId: 'recmachcustrecord250',
                        line: 0});

        if(context.fieldId == 'custevent28'){
                if (checkbox == true) {
            currentRecord.setCurrentSublistValue({
            sublistId: 'recmachcustrecord250',
            fieldId: 'custrecord265',
            line: i,
            value: true,
            forceSyncSourcing:true
            });
        } else {
            currentRecord.setCurrentSublistValue({
            sublistId: 'recmachcustrecord250',
            fieldId: 'custrecord265',
            line: i,
            value: false,
            forceSyncSourcing:true
            });

            currentRecord.commitLine({
            sublistId: 'recmachcustrecord250'});
        }
            }
            }


        }

        return {
            fieldChanged: fieldChanged
        };
    });

1 个答案:

答案 0 :(得分:0)

找到了... 设置CurrentSublistValue不带“行”且带有ignoreFieldchange ...

return render_template('bill.html', **data)