Как добавить дополнительный фильтр и столбцы в существующие сохраненные поиски при загрузке в Netsuite 2.0 - PullRequest
1 голос
/ 01 октября 2019

У меня есть следующий код SuiteScript 2.0 в UserEvent, где я хотел бы добавить дополнительный фильтр и столбцы к загруженному сохраненному поиску. Фильтр работает правильно, но как получить значение столбца из массива, который добавляется в качестве дополнительного столбца в сохраненный поиск.

var filters = [];
filters.push(
['memo', 'is', 'Updated']
);
var filters = [];
filters.push(
['memo', 'is', 'Updated']
);

var columnsCust = [];
columnsCust.push(search.createColumn({
name: 'trandate'
}));

var mySearch = search.load({
id: 'customsearch_so_savedsearch'
});

//Add filters
mySearch.filterExpression = filters;
var filtersResult = mySearch.filterExpression;

//Add columns
mySearch.column = columnsCust;
var columnResult = mySearch.column;

var searchResult = mySearch.run().getRange({start: 0,end: 10});
for (var i = 0; i < searchResult.length; i++) 
{
var date = searchResult[i].getValue({name: 'trandate'});
log.debug('date::' + date);      //date::null
//it gives transactionnumber value Because this column exist in Saved 
  //search.
    var transactionnumber = searchResult[i].getValue({name: 'transactionnumber'});
log.debug('transactionnumber::' + transactionnumber);   //transactionnumber::112513
}

1 Ответ

2 голосов
/ 01 октября 2019

Чтобы добавить дополнительные столбцы, фильтры или filterExpressions в поисковый объект, сначала вам нужно извлечь объект из поискового объекта и затем обновить его.

Для столбцов поиска var searchColumns = mySearch.columns;

searchColumns.push(AdditionalColumns);

mySearch.columns = searchColumns;

Для поисковых фильтров

var searchFilters = mySearch.filters;

searchFilters.push(additionalFilters);

mySearch.filters = searchFilters;

Для FilterExpressions

var searchFilterExpression = mySearch.filterExpression;

// push operator if searchObject contains filters
if (searchFilterExpression.length > 0) {
  searchFilterExpression.push('and');
}

searchFilterExpression.push(additionalFilterExpression);

mySearch.filterExpression = searchFilterExpression;

Примечание: Проверьте этот для дальнейшего чтения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...