我通过UI使用内部id customsearch_savedsearch
为savedSearch本身创建了一个savedSearch。
当我使用suiteScript加载搜索时。它显示我发生了意外错误。
var search = nlapiLoadSearch(null, 'customsearch_savedsearch');
上述语句适用于所有其他记录类型,但对于savedSearch
记录类型则失败。
什么可能是savedSearch
记录类型的内部id?
你不能使用null
作为第一个参数。加载或创建搜索时,您还必须指定搜索的记录类型。无论customsearch_savedsearch
搜索的记录类型是什么,这都是您传入的第一个参数。
因此,例如,如果您保存的搜索是客户搜索,那么您将通过以下方式加载:
var search = nlapiLoadSearch('customer', 'customsearch_savedsearch');
尝试
var search = nlapiSearchRecord(null, 'customsearch_savedsearch');
文档:
nlapiSearchRecord(类型,id,过滤器,列)
使用一组条件(搜索过滤器)和列(结果)执行搜索。或者,您可以使用此API执行现有的已保存搜索。结果限制为1000行。另请注意,在搜索/查找操作中,长文本字段将截断为4,000个字符。 nlapiSearchRecord允许的使用计量为10个单位。
客户端,用户事件,计划,portlet和Suitelet脚本支持此API。
如果`
var search = nlapiSearchRecord(null, 'customsearch_savedsearch');
不起作用
var search = nlapiSearchRecord('', 'customsearch_savedsearch');
你的陈述中的一切看起来都是正确的我认为问题是SuiteScript不支持SavedSearch记录类型。这是supported types的列表。
你应该能够使用上面提到的那个来运行它
var search = nlapiSearchRecord(null, 'customsearch_savedsearch',null,null);
我在我的代码中使用了这个,并没有任何问题。确保您在已保存的搜索上设置了正确的权限。首先,将其设置为Public。在观众中,“选择所有”角色。
你的语法是正确的。但是,即使您可以创建已保存的搜索,保存的搜索类型(也类似于预算记录)也不可编写脚本。这就是您遇到该错误的原因。最有可能的是,支持SuiteScript记录浏览器中列出的那些记录类型。您可以在此处查看列表: ***注意:您应该先登录帐户.. 制作:https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_1/script/record/account.html 沙箱:https://system.sandbox.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_1/script/record/account.html
我知道这是一个古老的问题,我在尝试做同样的事情时遇到过它,但我只是尝试了以下成功:
var search = nlapiLoadSearch('savedsearch', 'customsearch_savedsearch');
看起来有点鼻子,但它确实做到了。