使用搜索中的公式从保存的搜索中填充Suitelet子列表 [英] Populate Suitelet Sublist from a Saved Search with Formulas in the Search

查看:63
本文介绍了使用搜索中的公式从保存的搜索中填充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?

使用API​​1.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆