从SCA或SSP更新客户自定义字段



我试图在SCA应用程序注册期间更新自定义实体字段。

已发布的Netsuite文档表明我应该能够调用:

var webStore = session.getSiteSettings(['displayname', 'id']);
customer = session.getCustomer();
customer.updateProfile({
internalid: internalid,
customfields: {
    custentity_registered_site: webstore.id
}
});

但是这会抛出一个非常有用的异常

有没有人有这个工作的自定义字段?我在注册后这样做,所以这可能是问题,虽然我可以得到一个有效的客户内部。有其他的语法吗?

最终我获得了NS支持,给了我内部堆栈跟踪。

这个问题与NS使用的Rhino Javascript引擎的一些内部机制有关。

基本上从NS API返回的值返回一个类似字符串的值,并且NS没有遵循2014年关于其使用的建议,并且在底层Java代码中失败。因此,修复方法很简单,但令人沮丧:

var webStore = session.getSiteSettings(['displayname', 'id']);
customer = session.getCustomer();
customer.updateProfile({
    internalid: internalid,
    customfields: {
        custentity_registered_site: webstore.id.toString()
    }
});

最新更新