Как установить значение подсписка с помощью клиентского скрипта в 2.0 Netsuite SuiteScript - PullRequest
0 голосов
/ 18 мая 2018

Как установить значение подсписка при использовании в клиентском скрипте.Я перепробовал весь метод, но он не работает и возвращает ту же ошибку.

fieldChanged: function(context){

     var record = currentRecord.get();

     //var record = context.currentRecord; // not working


     if(context.fieldId =='custpage_cancel'){

         var objSublist = record.getSublist({  //returns sublist obj but can not set 
         sublistId: 'custpage_sublist'
         });


        objSublist.setSublistValue({  // Not working ERROR: objSublist.setSublistValue is not a function
            fieldId : 'custpage_id',
            line : 0,
            value : true
        });

        // record.setSublistValue({        // Not working ERROR: objSublist.setSublistValue is not a function
         // sublistId: 'custpage_sublist',
         // fieldId: 'custpage_id',
         // line: 0,
         // value: true
        // });

     }
 }

ОШИБКА: снимок экрана

Error ScreenShot

Ответы [ 3 ]

0 голосов
/ 20 мая 2018

Вам может понадобиться использовать команду вставки новой строки перед тем, как выбрать строку, когда вы находитесь в клиентском скрипте.

0 голосов
/ 23 февраля 2019

попробуйте сделать то же самое с пользовательским списком подсписка "list" и выведите мне ошибку

введите описание изображения здесь


Пользовательский сценарий события

function beforeLoad(){

  var form = scriptContext.form;

  var sublistaAplicar=form.addSublist({
    id: 'custpage_invoice', 
    type: 'list',
    label: 'Facturas',
    tab: 'custpage_aplicar'
    });

sublistaAplicar.addField({
        id : 'custpage_type',
        type : serverWidget.FieldType.TEXT,
        label : 'Type'
             });

}


client script.js

function validateField(scriptContext) {

  var currentRecord = scriptContext.currentRecord;

  var lineNum = currentRecord.selectLine({
            sublistId: 'custpage_invoice',
            line: 0
        });

        currentRecord.setCurrentSublistValue({
                                sublistId: 'custpage_invoice',
                                fieldId: 'custpage_type',
                                value: 'test',
                                ignoreFieldChange: true
                            });

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

}

0 голосов
/ 18 мая 2018

Попробуйте выбрать строку и установить значение. В netsuite для текущей записи они предпочитают использовать строку выбора и установить значения

var records = context.currentRecord
 var lineNum = records .selectLine({
    sublistId: 'custpage_sublist',
    line: 0
});

    records.setCurrentSublistValue({
                        sublistId: 'custpage_sublist',
                        fieldId: 'custpage_id',
                        value: true,
                        ignoreFieldChange: true
                    });
   records.commitLine({
                        sublistId: 'sublistidentire'
                    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...