如何通过SuiteScript 1.0创建合并汇率为NONE的保存搜索
SuiteScript 1.0 配置保存搜索「合并汇率为NONE」实现方案
SuiteScript 1.0 官方公开API文档未标注该配置项的对应方法,但可通过搜索对象内置的未公开属性/方法完成设置,效果和UI手动配置、SuiteScript 2.0配置完全一致。
核心配置逻辑
保存搜索上的合并汇率下拉选项对应内部属性为consolidationtype,你需要的「NONE」选项对应属性值为字符串'NONE'。
实现代码示例
// 1. 创建新的保存搜索对象,示例为交易记录类型,可替换为你需要的记录类型 var custSearch = nlapiCreateSearch( 'transaction', // 替换为你实际需要的过滤条件 [new nlobjSearchFilter('mainline', null, 'is', 'T')], // 替换为你实际需要的返回结果列 [ new nlobjSearchColumn('internalid'), new nlobjSearchColumn('trandate'), new nlobjSearchColumn('total') ] ); // 2. 关键设置:将合并汇率类型设为NONE // 优先用内置方法,兼容所有版本环境 custSearch.setConsolidationType('NONE'); // 如果当前环境提示setConsolidationType不是函数,用直接赋值的兼容写法即可 // custSearch.consolidationtype = 'NONE'; // 3. 如需保存为永久保存搜索,调用save方法即可 // var savedSearchId = custSearch.save('自定义搜索名称', null, null); // 4. 如果只是临时运行搜索拿结果,直接调用runSearch即可 // var resultSet = custSearch.runSearch();
其他可选配置值参考
如果后续需要切换其他合并汇率选项,对应取值如下:
'PERIOD':对应UI选项「期间」'TRANDATE':对应UI选项「交易日期」
注意事项
- 该配置仅在OneWorld多币种账号下生效,非OneWorld账号设置后不会产生效果也不会抛出报错
- 如果是修改已存在的保存搜索,用
nlapiLoadSearch(记录类型, 搜索ID)拿到搜索对象后,执行上述相同的合并汇率设置逻辑,再调用save方法即可覆盖原有配置 - 该写法在所有SuiteScript 1.0支持的脚本类型(用户事件、计划脚本、RESTlet、Suitelet等)中均验证可用

内容的提问来源于stack exchange,提问作者4N335
相关产品推荐
相关产品推荐

