Модуль для замены данных в полях только для чтения в SuiteScript 2.0? - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь создать сценарий Netsuite для выполнения следующих действий:

  1. Загрузка сохраненного поиска с записями транзакций
  2. Обновление значения в (только для чтения) Поле «URL» с новой гиперссылкой из списка CSV

Я не могу найти модуль SuiteScript 2.0, который может взаимодействовать с этим полем только для чтения. Вот код, который я тестировал в консоли до сих пор. Он успешно загружает сохраненный поиск и набор результатов в консоль браузера, используя формат results.columns (включая внутренний идентификатор файла и существующий URL), но я не уверен, какой модуль позволит мне фактически заменить это значение новым value.

 /**
 *  @NApiVersion 2.0
 *  @NScriptType ClientScript
 *
 *  1. Load saved search for files to update
 *  2. For each record in saved search, set URL field to new URL value  
 */

require(['N/search', 'N/file'], function(search, file) {
    var searchobj = search.load({
        id: 'customsearch_url'
    })
    var results=searchobj.run();
        console.log(results);
    results.each(function(result) {
        console.log(result);
        var URL = result.getValue(results.columns[4])
        console.log(URL);
        var fileId = result.getValue(results.columns[3])
        var fileObj = file.load({
            id: fileId
        })
        console.log(fileObj)
        return true;
    });
});

Как лучше написать этот скрипт, чтобы заменить значение в поле URL новой гиперссылкой?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

То, что вы пытаетесь сделать, невозможно, NS-URL создаются системой и не могут быть обновлены / отредактированы. По этой причине (только для чтения) это означает, что вы можете ТОЛЬКО прочитать данные.

0 голосов
/ 01 апреля 2020

Для создания / обновления / удаления любой записи в NetSuite необходимо использовать модуль N / record . Сначала вы должны загрузить / создать запись, которая будет возвращать объект записи, а затем вы можете использовать функцию record.setValue для установки / обновления значений.

Или, если вы хотите обновить только поля тела, вместо этого вы можете использовать record.submitFields .

...