#scripting #netsuite #suitescript2.0 #saved-searches
Вопрос:
У меня есть сохраненный поиск (SS), который дает результаты при запуске в браузере. Однако при выполнении в коде с помощью запланированного сценария результатов нет.
Вот упрощенный пример:
SS с идентификатором customsearch1181 возвращает 10 результатов в браузере.
Однако после выполнения приведенного ниже сценария массив результатов пуст.
Мы можем предположить, что SS даст результаты менее 4k, поэтому нет необходимости выполнять поиск по страницам.
define(['N/search'],
(search) => {
const execute = (scriptContext) => {
const custSearch = search.load({id: 'customsearch1181'});
const results = [];
custSearch.run().each( function(result) {
results.push(result);
return true;
});
log.debug({title: 'search result count', details: results.length});
}
return {execute}
});
Этот скрипт регистрирует результаты для других идентификаторов SS. Одно из моих наблюдений состоит в том, что в рассматриваемой СС существует множество фильтров.
Кто-нибудь сталкивался с этой проблемой? Что отвечает за такое поведение?
Ответ №1:
Здесь SS-скрипт на стороне сервера, выполняемый как администратор, так и пользователь «система».
Здесь пользовательские фильтры/ разрешения могут влиять на фильтры.
Пожалуйста, протестируйте с помощью ручного триггера (Сохранить и выполнить) и запланированных триггеров отдельно.
Надеюсь, это предположение поможет выяснить, в чем проблема