使用搜索中的公式从保存的搜索中填充Suitelet子列表 [英] Populate Suitelet Sublist from a Saved Search with Formulas in the Search
本文介绍了使用搜索中的公式从保存的搜索中填充Suitelet子列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
@bknights发布了一个有关在套件中填充子列表的另一个问题的好答案.
@bknights posted an good answer to another question around populating a sublist in a suitelet.
但是,在使用bk的代码时,我的问题随之而来:
However, my question follows on from that when using bk's code:
function getJoinedName(col) {
var join = col.getJoin();
return join ? col.getName() + '__' + join : col.getName();
}
searchResults[0].getAllColumns().forEach(function(col) {
sublist.addField(getJoinedName(col), 'text', col.getLabel());
nlapiLogExecution('DEBUG', 'Column Label', col.getLabel());
});
var resolvedJoins = searchResults.map(function(sr) {
var ret = {
id: sr.getId()
};
sr.getAllColumns().forEach(function(col) {
ret[getJoinedName(col)] = sr.getText(col) || sr.getValue(col);
});
return ret;
});
sublist.setLineItemValues(resolvedJoins);
以上内容适用于不带公式的标准搜索...当我有多个包含公式的搜索列时怎么办?
The above works with a standard search with no formulae... How can we do this when I have multiple search columns which are formulae?
使用API1.0
Using API1.0
推荐答案
在搜索定义中,向所有公式列添加标签.然后,您的列键可以像这样导出:
In your search definition add a label to all formula columns. Then your column keys can be derived like:
function getJoinedName(col) {
if(col.getName().indexOf('formula') === 0 && col.getLabel()){
return 'lbl_'+ col.getLabel().toLowerCase();
}
var join = col.getJoin();
return join ? col.getName() + '__' + join : col.getName();
}
这篇关于使用搜索中的公式从保存的搜索中填充Suitelet子列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文