В Netsuite разрешено минимум 7 символов. Я могу сохранить номер телефона +1 (313) в Netsuite непосредственно из интерфейса пользователя. Но если я пытаюсь сохранить тот же номер +1 (313) с помощью RESTlet, я получаю следующую ошибку:
Array
(
[error] => Array
(
[code] => INVALID_FLD_VALUE
[message] => You have entered an Invalid Field Value +1(313) for the following field: altphone
)
)
Мои данные запроса:
Array
(
[recordtype] => lead
[id] => xxxxx
[columnname] => Array
(
[0] => altphone
)
[columnvalues] => Array
(
[0] => +1(313)
)
)
Working:
+916(313) [can save directly on netsuite and also RESTlet]
Not working:
+1(313) [can save directly on netsuite]
+91(313) [can save directly on netsuite]
Мой скрипт Restlet для обновления:
function update_record(datain) {
var record = nlapiLoadRecord(datain.recordtype, datain.id);
for ( var i in datain.columnname) {
record.setFieldValue(datain.columnname[i], datain.columnvalues[i]);
}
var results = nlapiSubmitRecord(record);
return results;
}
Ну, я попробовал приведенный ниже код в отладчике SuiteScript и консоли браузера:
x = nlapiLoadRecord('lead', RECORD_ID);
x.setFieldValue('altphone', '+1(313)');
nlapiSubmitRecord(x);
Это терпит неудачу из кода, но, это, успешно из UI. Таким образом, в RESTlet произойдет сбой, равно как и в любом SuiteScript.
Других решений пока нет …