通过保存的搜索在NetSuite中获取客户主要货币的ISO代码

通过保存的搜索在NetSuite中获取客户主要货币的ISO代码,netsuite,Netsuite,我不熟悉保存的搜索中使用的NetSuite公式表达式,我正在尝试返回客户记录的主要货币的ISO代码 已尝试{currency.symbol}。但是它抛出了无效字段错误请先查看是否可以在不使用公式的情况下获得字段a。有些字段在报告中不可用,但在内部api中可用。您有点像软管。货币未正确连接到客户,因此您只能获得货币的名称 据我所知,没有干净的方法将符号放入保存的搜索结果中。最好的方法是使用case语句从一种货币转换为另一种货币符号的非存储公式字段 如果这是您对该值的唯一需求,您可以在搜索中使用以下

我不熟悉保存的搜索中使用的NetSuite公式表达式,我正在尝试返回客户记录的主要货币的ISO代码


已尝试{currency.symbol}。但是它抛出了无效字段错误

请先查看是否可以在不使用公式的情况下获得字段a。有些字段在报告中不可用,但在内部api中可用。

您有点像软管。货币未正确连接到客户,因此您只能获得货币的名称

据我所知,没有干净的方法将符号放入保存的搜索结果中。最好的方法是使用case语句从一种货币转换为另一种货币符号的非存储公式字段

如果这是您对该值的唯一需求,您可以在搜索中使用以下公式:

decode({currency},'USA','USD', 'Euro','EUR','RMB', 'CNY', {currency})
这利用了一个事实,即对于NS中的许多货币,名称是符号(例如澳元、加元)

要获取帐户中货币及其映射的列表,请在控制台窗口中运行以下操作:

var currSymbs = nlapiSearchRecord('currency', null, null,
                           [new nlobjSearchColumn('name'),
                            new nlobjSearchColumn('symbol')
                            ]);
currSymbs.forEach(function(c){
   console.log(c.getId() +': '+c.getValue('name') +' is '+  c.getValue('symbol'));
});

// or even create the decode statement with the script and keep it as a bookmarklet:

console.log("decode({currency},"+currSymbs.map(function(c){
    return "'"+c.getValue('name') +"','"+ c.getValue('symbol')+"'";}).
  join(',') +","+"'not mapped')");

我可以在没有公式的情况下获取货币字段,但它返回的是货币名称。我需要货币ISO代码