尝试获取SCA(Suite commerce advanced)的销售订单是我的代码。
var type = searchModule.Type.SALES_ORDER;
var columns = [];
var filters = [];
columns = _.concat(columns, [
searchModule.createColumn({
name: 'internalid'
}),
searchModule.createColumn({
name: 'tranid'
})
]);
filters = _.concat(filters, [
searchModule.createFilter({
name: 'status',
operator: searchModule.Operator.IS,
values: 'SalesOrd:A'
}),
searchModule.createFilter({
name: 'mainline',
operator: searchModule.Operator.IS,
values: 'T'
}),
searchModule.createFilter({
name: 'type',
operator: searchModule.Operator.ANYOF,
values: 'SalesOrd'
}),
searchModule.createFilter({
name: 'source',
operator: searchModule.Operator.STARTSWITH,
values: 'Web'
})
]);
var mySearchObj = {type: type, filters: filters, columns: columns};
// uncomment for test use
/*
log.debug({title: 'type', details: type});
log.debug({title: 'columns', details: columns});
log.debug({title: 'filters', details: filters});
*/
var searchItems = searchModule.create(mySearchObj).run().getRange({start: 0, end: 999});
ordersList = [];
过滤器无法正常工作
searchModule.createFilter({
name: 'source',
operator: searchModule.Operator.STARTSWITH,
values: 'Web'
})
它有什么办法让这项工作,我尝试使用CONTAINS也同样的问题不起作用。发射和SC exeptions。
您应该使用ANYOF
作为运算符而不是STARTSWITH
searchModule.createFilter({
name: 'source',
operator: searchModule.Operator.ANYOF,
values: ['WebStore Name']
})
以下是使用源字段作为过滤器的工作已保存搜索的摘录。
{
"name":"source",
"join":null,
"operator":"anyof",
"values":[
"NLWebStore"
],
"formula":null,
"summarytype":null,
"isor":false,
"isnot":false,
"leftparens":0,
"rightparens":0
}
source
过滤器的字段类型为Select
,这意味着您不能在其上使用文本运算符。您可以使用的唯一运算符是ANYOF
和NONEOF
。您需要查找Source的SCA值的内部ID,并将其用于Filter值。
我不确定在哪里可以找到该ID,但您可以通过加载在其“源”字段中设置了适当值并使用getValue()
查看该值的销售订单来找到它。