You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅获取NetSuite指定文件夹内的文件(不含子文件夹文件)?

如何在NetSuite中仅检索指定文件夹下的文件(不包含子文件夹)

我明白你的困扰——默认情况下,用FileSearchBasic的folder字段搜索文件时,NetSuite会递归返回指定文件夹及其所有子文件夹里的内容,这和你想要的只获取目标文件夹下直接文件的需求不符。

这里的关键是NetSuite两个文件夹相关搜索字段的逻辑差异:

  • folder字段:会匹配目标文件夹以及所有子层级的文件夹,返回所有层级里的文件
  • folderHierarchy字段:精确匹配指定的单个文件夹,仅返回该文件夹下的直接文件,不会递归子文件夹

所以你只需要把搜索字段从folder替换成folderHierarchy即可解决问题,修改后的代码如下:

var search = new FileSearchBasic { 
    folderHierarchy = new SearchMultiSelectField { 
        @operator = SearchMultiSelectFieldOperator.anyOf, 
        @operatorSpecified = true, 
        searchValue = new[] { new RecordRef { internalId = "1234" }} 
    } 
};
var result = ns.search(search);
if (result.status.isSuccess) {
    foreach (var record in result.recordList) {
        if (record is File file) {
            Console.WriteLine($"{file.folder.internalId} - {file.name}");
        }
    }
}

另外,因为你只需要匹配单个文件夹ID,也可以把操作符换成is,语义上更贴合单个值的匹配场景,效果完全一致:

@operator = SearchMultiSelectFieldOperator.is, 
@operatorSpecified = true, 

执行修改后的代码后,你应该只会得到1234文件夹下的直接文件,不会再出现子文件夹1236里的processRawLocationData.js了。

内容的提问来源于stack exchange,提问作者Mike Robbins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:12:32