Ste*_*der 5 netsuite suitescript
早上大师,
我在Netsuite中使用多个“公式”列进行了保存的搜索。
例如,formulapercent' named columns, although the每个唯一的标签有多个。
但是,当nlobjSearchResult.getValue('formulapercent')自然使用时,我只会得到第一个公式百分比列值。
如何指定要在getValue 哪个公式列中返回值?
我真的不想使用列号,以防以后需要在Netsuite中为保存的搜索插入新列。
希望有类似的东西 nlobjSearchResult.getValue('formulapercent','<label>')
我尝试了多参数选项,但是它不起作用。
简单修复?
干杯
史蒂夫
我通常要做的是在保存的搜索公式列中添加标签。然后:
var f1Val, f2Val, etc;
results.forEach(function(res){
var cols = res.getAllColumns();
cols.forEach(function(col){
switch(col.getLabel()){
case 'formula1' : f1Val = res.getValue(col); break;
case 'formula2' : f2Val = res.getValue(col); break;
...
}
});
});
Run Code Online (Sandbox Code Playgroud)
我想我应该添加一个我后来学到的答案。
而不是一般地对列进行编号。例如:
var column = []
column[0] = new nlobjSearchColumn('formulanumeric').setFormula('myformula1');
column[1] = new nlobjSearchColumn('formulanumeric').setFormula('myformula2');
searchresults = nlapiSearchRecord(.......);
Run Code Online (Sandbox Code Playgroud)
相反,我发现检索公式列值的最简单方法是唯一定义列:
var colformula1 = new nlobjSearchColumn('formulanumeric').setFormula('myformula1');
var colformula2 = new nlobjSearchColumn('formulanumeric').setFormula('myformula2');
var searchresults = nlapiSearchRecord('item',null,filters,[colformula1,colformula2]);
Run Code Online (Sandbox Code Playgroud)
然后获取公式结果:
var formulares1 = searchresults[i].getValue(colformula1');
var formulares2 = searchresults[i].getValue(colformula2');
Run Code Online (Sandbox Code Playgroud)
解决了列顺序更改时的问题。
认为这可能对某人有帮助。
| 归档时间: |
|
| 查看次数: |
2516 次 |
| 最近记录: |