我正在尝试获取我正在开发的应用程序来显示给定客户记录的所有关联用户注释(因为它显示在 Netsuite 中的 UI 客户记录页面上)。
为此,我设置了一个 Netsuite RESTlet 以返回给定客户内部 ID 的关联 Note 记录的内部 ID 列表。
我在 RESTlet 脚本中设置了一个简单的搜索:
function get_notes(params) {
log("GET params", JSON.stringify(params));
var filters = [
new nlobjSearchFilter('internalid', 'customer', 'is', params.id)
];
var columns = [
new nlobjSearchColumn('internalid'),
new nlobjSearchColumn('note'),
];
var search = nlapiCreateSearch('note', filters, columns);
var notes = search.runSearch().getResults(0, 3);
return notes;
}
function log(msg, details) {
nlapiLogExecution('DEBUG', msg, details);
}
该脚本按预期工作,但问题是此搜索仅返回author
字段(即用户内部 id)与执行搜索的用户的内部 id 匹配的 Notes。含义 - 您只能搜索您是作者的笔记。
我被告知这是 Netsuite 的一个“功能”,出于某种深不可测的安全原因。
我需要能够获得所有相关 Note id 的列表,而不仅仅是那些提出请求的用户是作者的。
关于获得所有相关注释的解决方法的任何想法?构建搜索的不同方式?某种秘密方式来定义您自己的自定义搜索连接?
我什至找不到关于这种行为的文档(阻止非作者的笔记搜索)。也许有人知道如何在管理员级别覆盖它?
我还没有准备好承认这是不可能的。
注意:用户注释是与客户记录关联的注释类型记录,而不是客户记录上的字段,因此我无法直接从客户访问它。注释或用户注释也没有搜索过滤器或搜索连接。