在Netsuite中,至少允许7个字符。我可以直接从UI将电话号码+1(313)保存在Netsuite中。但是,如果我试图使用RESTlet保存相同的数字+1(313),我会得到以下错误:
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中失败一样。