在Netsuite中使用RESTlet传递电话号码值时出错


Getting error while passing value for a phone number using RESTlet in Netsuite

在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中失败一样。