Не может создать запись заметки в Suitescript 2.0, но может в 1.0

У любого есть ответ, почему в SuiteScript 2.0 на стороне клиента этот код выдает ошибку "Недопустимый ссылочный ключ транзакции 8355", но когда я выполняю тот же вызов в версии 1.0, он работает. У кого-нибудь есть идея, почему?

SuiteScript 2.0 (не работает)

require(['N/record'], function(record){

    var note = record.create({type: 'note'});
    note.setValue({fieldId: 'title', value: 'Test'});
    note.setValue({fieldId: 'note', value: 'note description'});
    note.setValue({fieldId: 'notetype', value: 7});
    note.setValue({fieldId: 'transaction', value: 8355});
    note.save();
}

SuiteScript 1.0 (работает)

var record = nlapiCreateRecord('note');
record.setFieldValue('title', 'Test' );
record.setFieldValue('note', 'note description');
record.setFieldValue('notetype',7 );
record.setFieldValue('transaction',8355);
var recordId = nlapiSubmitRecord(record);

SuiteScript 1.0 на стороне клиента работает нормально.

1 ответ

Я могу подтвердить, что я только что использовал ваш код точно (кроме переключения типа заметки и полей транзакции, чтобы соответствовать моей учетной записи), и он работал нормально. Я выполнил свой тест в консоли для заказа на продажу, чтобы он отлично работал в клиентском сценарии. Какую ошибку вы получаете? Я бы дважды проверил, что ваш тип заметки и значения транзакции действительны. Кроме того, как выглядит ваш сценарий развертывания, может быть, там есть проблема?

Еще одна вещь: вы пропустили ')' в конце блока кода, но я предполагаю, что это была ошибка вставки копии.

Это работает для меня:

require(['N/record'], function (record) {
    var note = record.create({type: 'note'});
    note.setValue({fieldId: 'title', value: 'Test'});
    note.setValue({fieldId: 'note', value: 'note description'});
    note.setValue({fieldId: 'notetype', value: 7});
    note.setValue({fieldId: 'transaction', value: 453});
    note.save();
});
Другие вопросы по тегам