Netsuite SuiteScript > Search Advance feature,搜索中使用 'OR' operation
Sample in online help
//Define search filter expression
var filterExpression = [ [ 'trandate', 'onOrAfter', 'daysAgo90' ], 'or', [ 'projectedamount', 'between', 1000, 100000 ], 'or', 'not', ['customer.salesrep', 'anyOf', -5 ] ] ; //Define search columns var columns = new Array(); columns[0] = new nlobjSearchColumn('salesrep'); columns[1] = new nlobjSearchColumn('expectedclosedate'); columns[2] = new nlobjSearchColumn('entity'); //Execute the search. You must specify the internal ID of the record type. var searchresults = nlapiSearchRecord('opportunity', null, filterExpression, columns);
由于nlobjSearchFilter默认发出的都是‘AND’的指令,所以这个api,无法完成or的操作。
By default, search filter list (nlobjSearchFilter[]) makes use only of an implicit ‘AND' operator for filters. This is contrary to search filter expression that can explicitly use either ‘AND' or ‘OR' operators.
[ 'trandate', 'onOrAfter', 'daysAgo90' ], 'or', [ 'projectedamount', 'between', 1000, 100000 ],
这种操作参数,直接不适用nlobjSearchFilter,而且没有reference其他record的功能;
整个API还是低于UI的USE EXPRESSIONS功能的。
所以另外方案
1。在UI上定义这类OR或者或者包含Parens的Search,然后suitescript去直接调用结果。
2。使用多个Search,消耗更多的unit来实现复杂的单个Search。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话