我很乐意在 Suitescript 中将搜索作为变量进行编程。我正在尝试转换为具有“推送”功能的函数 - 但我的 javascript 失败了..
这里是原始代码:
var invoiceSearchObj = search.create({
type: "invoice",
filters:
[
["item.type","anyof","Kit"],
"AND",
["trandate","within","01/01/2023"],
"AND",
["type","anyof","CustInvc"],
"AND",
["item.custitemitemoriginal","is","T"],
"AND",
["status","anyof","CustInvc:B"]
],
columns:
[
search.createColumn({
name: "tranid",
summary: "MAX",
sort: search.Sort.ASC
}),
search.createColumn({
name: "formulatext",
summary: "MAX",
formula: "{item.memberitem}"
}),
search.createColumn({
name: "internalid",
join: "createdFrom",
summary: "MAX"
})
]
});
这是我的功能:
function invoiceSearchObj() {
/* {N/search.Filter} */
var filters = [];
/* {N/search.Column} */
var columns = [];
filterParams =
[
{name: 'item.type', operator: search.Operator.ANYOF, values: 'Kit/Package'},
{name: 'trandate', operator: search.Operator.WITHIN, values: '01/01/2023'},
{name: 'item.custitemitemoriginal', operator: search.Operator.IS, values: 'T'},
{name: 'status', operator: search.Operator.ANYOF, values: 'CustInvc:B'}
];
/* Add each filter to the search */
filterParams.forEach(function(params){
filters.push(search.createFilter(params));
});
columns.push(search.createColumn({name: 'tranid', summary: search.Summary.MAX, sort: search.Sort.ASC}));
columns.push(search.createColumn({name: 'formulatext', summary: search.Summary.MAX, formula: '{item.memberitem}'}));
columns.push(search.createColumn({name: 'internalid', join: 'createdFrom', summary: search.Summary.MAX}));
return search.create({type: search.Type.INVOICE, filters: filters, columns: columns});
}
我收到以 item.type 开头的错误(尝试过 Kit 和 Kit/Package)——不确定这是我的编码还是我正在使用的变量。 提前致谢!
在为过滤器连接另一个记录时,您应该使用连接属性。
filterParams =
[
{ name: 'type', join: 'item', operator: search.Operator.ANYOF, values: 'Kit/Package' },
{ name: 'trandate', operator: search.Operator.WITHIN, values: '01/01/2023' },
{ name: 'custitemitemoriginal', join: 'item', operator: search.Operator.IS, values: 'T' },
{ name: 'status', operator: search.Operator.ANYOF, values: 'CustInvc:B' }
];