Suitescript 2.0 - Как показать поле и обновить значение на основе раскрывающегося списка? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть выпадающий список, который, когда выбран конкретный параметр, будет отображаться скрытое поле и это поле, которое имеет новое значение. Я могу получить поле для отображения, но не могу заполнить поле значением. Сценарий ниже:

           function fieldChanged(context) {
                var records = context.currentRecord;
                if (context.fieldId == 'custbody_data') {
                    var note = context.currentRecord.getField({ fieldId: 'custbody_note' });

                    var type = records.getValue({
                        fieldId: 'custbody_data'
                    });

                    if (type == "2") {
                        note.isDisplay = true;
                        note.setValue = "test";

                    } else if (type == "1") {
                       note.isDisplay = false;
                       note.setValue = "";
                    }
                }
            }

return {
fieldChanged: fieldChanged
}

1 Ответ

1 голос
/ 28 октября 2019

note.setValue = "";

В том, что вы пытаетесь сделать, есть две проблемы:

  1. С API NetSuite для манипулированияВ качестве значения полей в записи необходимо использовать объект N/currentRecord#Record, а не N/currentRecord#Field. Другими словами, вам нужно вызывать context.currentRecord.setValue().

  2. setValue - это метод , а не свойство . Т.е. вам нужно вызвать функцию setValue() с новым значением, а не присваивать ей значение (note.setValue = "new value"), как вы пытаетесь.

Собирая все вместе, правильный синтаксисдля обновления значения поля:

context.currentRecord.setValue({
  fieldId: 'custbody_note',
  value: "test",
});
...