SuiteScript 2.0 search.create 返回空结果
SuiteScript 2.0 search.create returning empty results
我正在尝试获取所有在创建新销售订单时待执行的销售订单。这是为了提醒用户销售订单已经在进行中。我使用的代码是这样的;
function saleOrderInPendingFulfillmentAlreadyExists(scriptContext)
{
//Check if the customer already has an order which is pending fulfillment
debugger;
var idCustomer = scriptContext.currentRecord.getValue('entity');
var recCustomer;
if(idCustomer)
{
var filters = [
["mainline", "is", "T"], "and",
["type", "anyOf", search.Type.SALES_ORDER], "and",
["entity", "anyOf", idCustomer],
];
var columns = [ "tranid" ];
var searchQuery = search.create({
"type": search.Type.TRANSACTION,
"filters": filters,
"columns": columns
});
var salesorders = searchQuery.run().getRange({"start": 0, "end": 1000}) || [];
}
}
调试代码时,变量 salesorders 是一个空数组,但我知道客户文件中至少有 8 个销售订单。我做错了什么?
您的问题是 type
搜索过滤器要求记录采用与 search.Type
枚举不同的格式('SalesOrd'
而不是 'salesorder'
)。欢迎使用 NetSuite!
您可以将过滤器更改为
var filters = [
["mainline", "is", "T"], "and",
["type", "anyOf", 'SalesOrd'], "and",
["entity", "anyOf", idCustomer],
];
或者,甚至更好
var searchQuery = search.create({
"type": search.Type.SALES_ORDER,
"filters": filters,
"columns": columns
});
顺便说一句,您绝对应该查看 NetSuite Search Export Chrome Extension,它可以让您在 UI 中构建搜索并自动将其转换为 SuiteScript。
我正在尝试获取所有在创建新销售订单时待执行的销售订单。这是为了提醒用户销售订单已经在进行中。我使用的代码是这样的;
function saleOrderInPendingFulfillmentAlreadyExists(scriptContext)
{
//Check if the customer already has an order which is pending fulfillment
debugger;
var idCustomer = scriptContext.currentRecord.getValue('entity');
var recCustomer;
if(idCustomer)
{
var filters = [
["mainline", "is", "T"], "and",
["type", "anyOf", search.Type.SALES_ORDER], "and",
["entity", "anyOf", idCustomer],
];
var columns = [ "tranid" ];
var searchQuery = search.create({
"type": search.Type.TRANSACTION,
"filters": filters,
"columns": columns
});
var salesorders = searchQuery.run().getRange({"start": 0, "end": 1000}) || [];
}
}
调试代码时,变量 salesorders 是一个空数组,但我知道客户文件中至少有 8 个销售订单。我做错了什么?
您的问题是 type
搜索过滤器要求记录采用与 search.Type
枚举不同的格式('SalesOrd'
而不是 'salesorder'
)。欢迎使用 NetSuite!
您可以将过滤器更改为
var filters = [
["mainline", "is", "T"], "and",
["type", "anyOf", 'SalesOrd'], "and",
["entity", "anyOf", idCustomer],
];
或者,甚至更好
var searchQuery = search.create({
"type": search.Type.SALES_ORDER,
"filters": filters,
"columns": columns
});
顺便说一句,您绝对应该查看 NetSuite Search Export Chrome Extension,它可以让您在 UI 中构建搜索并自动将其转换为 SuiteScript。