Не может создать запись заметки в 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();
});