Я пытаюсь создать запись о депозите клиента в Netsuite, используя suitescript 1.0.
Исходный код, который у меня был, отлично работал до тех пор, пока релиз 2016.2 не сломал его.
Обновление нарушило его, поскольку оно переопределило бы значение, указанное в поле платежа, и мгновенно сделало бы его полной суммой заказа на продажу из идентификатора заказа на продажу. Это не то, что нам нужно.
Исходный код
function createDeposit(request,response)
{
var record = nlapiCreateRecord('customerdeposit');
record.setFieldValue('salesorder','1260');
record.setFieldValue('customer','1170');
record.setFieldValue('payment','100');
record.setFieldValue('account','2');
record.setFieldValue('memo','this is a test');
deposit = nlapiSubmitRecord(record,true,false);
response.write(deposit);
}
После того, как группа пользователей Netsuite в ответе предложила мне использовать атрибуты {recordmode:'dynamic'}
, я получаю странную ошибку ..
Тестовая функция замены, которая не работает
function createDeposit(request,response)
{
var record = nlapiCreateRecord('customerdeposit',{recordmode:'dynamic'});
record.setFieldValue('salesorder','1260');
record.setFieldValue('customer','1170');
record.setFieldValue('payment','100');
record.setFieldValue('account','2');
record.setFieldValue('memo','this is a test');
deposit = nlapiSubmitRecord(record,true,false);
response.write(deposit);
}
Сообщение об ошибке, которое я получаю сейчас:
Недопустимый ссылочный код торгового представителя 1260 для клиента.
Я не понимаю, как теперь он считается NULL, когда значение жестко закодировано в этом тестовом сценарии после того, как я применил значение {recordmode: 'dynamic'}.
Я пробовал множество разных вещей, но, поскольку у меня нет поддержки Netsuite, я просто не могу понять, что это такое.
Любые намеки, предложения будут приняты с благодарностью, так как я был на этом несколько дней