У меня есть следующий код SuiteScript 2.0 в Suitelet, где я хотел бы добавить дополнительный фильтр к загруженному сохраненному поиску (подсписок элементов инвентаризации и основная запись записи корректировки инвентаризации):
var rs = s.load({
id: "customsearch_inv_adj_item_search"
});
// Copy the filters from rs into defaultFilters.
var defaultFilters = rs.filters;
var customFilters = [
s.createFilter({
name: "internalid",
operator: s.Operator.IS,
values: request.parameters.custscript_report_context.toString()
}),
];
// Push the customFilters into defaultFilters.
defaultFilters.push(customFilters);
// Copy the modified defaultFilters back into rs
rs.filters = defaultFilters;
var results = rs.run().getRange(0, 1000);
Однако код продолжает сбой в строке rs.filters = defaultFilters;
с ошибкой:
{"type":"error.SuiteScriptError","name":"WRONG_PARAMETER_TYPE","message":"Wrong parameter type: filters[2] is expected as Filter. ","stack":["createError(N/error)","onRequest(/SuiteScripts/sui_custom_pdf_report.js:308)","createError(N/error)"],"cause":{"name":"WRONG_PARAMETER_TYPE","message":"Wrong parameter type: filters[2] is expected as Filter. "},"id":"","notifyOff":false,"userFacing":true}
Вместо request.parameters.custscript_report_context.toString()
Я пытался 981, "981", ["981"]
, но не повезло.
custscript_report_context
имеет тип integer и отлично работает при попытке загрузить запись через N\record
.
Я возвращаю internalid
в сохраненном поиске в виде столбца.
Кто-нибудь знает, что я делаю не так?