c# - 获取特定 Netsuite 文件夹中的文件列表
问题描述
我正在尝试检索文件柜中特定文件夹中的文件列表。当我执行搜索时,我会得到指定文件夹中的所有文件以及该文件夹下的所有文件夹。我试过FileSearchBasic
and FileSearchAdvanced
,两者都给了我相同的结果。
有没有办法只获取指定文件夹 id 中的文件?
var search = new FileSearchBasic
{
folder = 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}");
}
}
}
此代码生成以下列表,其中文件夹 1236 是文件夹 1234 的子文件夹
1234 - lodash.js
1234 - dt.timer.js
1234 - dt.search.js
1234 - dt.customer.js
1234 - dt.safeExecute.js
1236 - processRawLocationData.js
解决方案
通过执行 aFolderSearchAdvanced()
并使用文件连接而不是FileSearchAdvanced()
. 这有点道理,因为您也必须在 SuiteScript 中这样做。
仍然对替代方法持开放态度。
var search = new FolderSearchAdvanced()
{
criteria = new FolderSearch()
{
basic = new FolderSearchBasic()
{
internalId = new SearchMultiSelectField()
{
@operator = SearchMultiSelectFieldOperator.anyOf,
searchValue = new[] { searchValue },
operatorSpecified = true
},
}
},
columns = new FolderSearchRow
{
basic = new FolderSearchRowBasic()
{
internalId = new[] { new SearchColumnSelectField() },
name = new [] { new SearchColumnStringField() }
},
fileJoin = new FileSearchRowBasic()
{
internalId = new[] { new SearchColumnSelectField() },
name = new[] { new SearchColumnStringField() },
modified = new[] { new SearchColumnDateField() },
documentSize = new[] { new SearchColumnLongField() }
}
}
};
var results = ns.search(search);
if (results.status.isSuccess)
{
foreach (var result in results.searchRowList)
{
if (result is FolderSearchRow row)
{
var fileId = row.fileJoin.internalId[0].searchValue.internalId;
var fileName = row.fileJoin.name[0].searchValue;
Console.WriteLine($"{fileId} - {fileName}");
}
}
}
推荐阅读
- laravel-5 - 如何在 Laravel 中使用 Goutte 解析 HTML 时获取最后一个孩子
- angular - Angular Service 被实例化了两次
- cakephp - 在 cakephp3 的视图中列出每个类别的文章
- html - Hyper-V 和物理交换机中继端口 SPAN/镜像
- php - 我尝试将 wordpress 博客添加到现有的 PHP Laravel 项目
- python - 来自 mglearn 的绘图
- excel - 缩进 excel 中的特定单元格、粗体文本、突出显示行并将文件扩展名移动到下一行
- c# - 在 C# 中执行 SQL Server 存储过程时获取空值
- c# - 如何查看广告商已连接
- sql-server - 需要有关基于变量的连接管理器的 SSIS 解决方案的建议