我有一个装载和搜索事务的SuiteScript 2.0,它使用发布周期过滤器保存搜索。在我的过滤器中,我使用的是'anyof‘操作符,它不适用于“后周期”字段。
下面是我的代码示例:
function getTransactionData(datain)
{
try
{
var objSearch = search.load(
{
id: datain.savedsearchid
});
objSearch.filters.push(search.createFilter({ name: "postingperiod", operator: "ANYOF", values: ["42", "43"]}));
//above filter filters only record with internalid 42
result = readAllData(objSearch);
return result;
}
catch (ex)
{
log.error("getTransactionData", ex);
throw ex;
}
}
如果我漏掉了什么就告诉我。
请注意,上面的问题只发生在保存的搜索中,如果我使用'anyof‘操作符搜索其他对象,例如“account”对象,使用内部is筛选器,工作正常。
更新:今天经过更多的测试后,发现它只发生在“后期”过滤器上。
发布于 2018-10-10 17:56:34
在Netsuite中尝试这段代码,在Netsuite中创建一个SavedSearch,不要在其中添加任何筛选器,保存它并获得保存搜索的id,并在下面的脚本中针对id值使用。还可以用您的Id替换期间Id。
require(['N/runtime','N/search'],
function (runtime,search) {
var invoiceSearchObj = search.load({
type: "invoice",
id: '<your search id>',
columns:
[
search.createColumn({
name: "trandate",
sort: search.Sort.ASC,
label: "Date"
})
]
});
invoiceSearchObj.filters.push(search.createFilter({ name: "postingperiod", operator: "ANYOF", values: ["<your period value>"]}));
invoiceSearchObj.filters.push(search.createFilter({ name: "mainline", operator: "is", values : "T"}));
var searchResultCount = invoiceSearchObj.runPaged().count;
log.debug("invoiceSearchObj result count",searchResultCount);
invoiceSearchObj.run().each(function(result){
// .run().each has a limit of 4,000 results
return true;
});
});
var a=0;
https://stackoverflow.com/questions/52260501
复制相似问题