SuiteScript 2.0在脚本

时间:2017-11-30 16:57:31

标签: netsuite suitescript suitescript2.0

我有一个自定义记录,其中包含项目字段和位置字段。我在该记录上保存了一个已经包含我想要的列的搜索以及一些始终需要的开始标准。我在销售订单时想要使用此搜索。我想在行上存储所有项目内部ID和位置ID的数组,然后将其作为动态过滤器传递给SuiteScript 2.0中的此搜索。

根据文档,这可以做到。在search.Filter页面上,它显示“您使用search.createFilter(options)创建搜索过滤器对象,并将其添加到您使用search.create(options)创建的search.Search对象或使用search.load(options)加载“。但是,我没有在search.load上看到任何参数,也没有在加载后添加它的代码示例。使用search.Filter的所有示例都在search.create函数中使用它

感谢您提供任何帮助。

3 个答案:

答案 0 :(得分:7)

您可以将过滤器对象推送到搜索的filters属性。

searchObj.filters.push(filterObj);

答案 1 :(得分:3)

我将以简单的方式列出这些步骤,以便您更好地理解它。 掌握它之后,您可以按照自己的方式进行编辑

步骤:

1.加载已保存的搜索(例如 objSearch

2.将过滤器从 objSearch 复制到一个新数组(比如 defaultFilters

3.创建一个新阵列(比如 customFilters )来存储新过滤器,我们将其推入 defaultFilters

4.最后,我们将修改后的 defaultFilters 复制回 objSearch 并运行已保存的搜索

//Load saved search into objSearch    
var objSearch = search.load({
                id: 'savedsearchid'
            });

//Copy the filters from objSearch into defaultFilters
            var defaultFilters = objSearch.filters;

            var customFilters = [];

            //We will add the new filter in customFilters
            customFilters = ['postingperiod', 'ANYOF', '1'];

//We will push the customFilters into defaultFilters
            defaultFilters.push(customFilters);


//We will copy the modified defaultFilters back into objSearch
     objSearch.filters = defaultFilters;


//Run the saved search
            var objSearch_run = objSearch.run().getRange({
                start: 0,
                end: 10
            });

答案 2 :(得分:0)

# Do not eager load code on boot.
config.eager_load = false