#netsuite #suitescript #suitescript2.0 #saved-searches
#netsuite #suitescript #suitescript2.0 #сохраненные-поиск
Вопрос:
Я пытаюсь получить доступ к значениям детализации для сводного поиска с помощью SuiteScript.
Например, у меня есть поиск транзакций, для которого установлено значение group по имени клиента. В пользовательском интерфейсе, когда я нажимаю гиперссылку на столбец name в сводном поиске, я получаю отфильтрованные результаты транзакций этого конкретного клиента. Я хотел бы получить доступ к этим отфильтрованным значениям в моем скрипте.
Есть ли способ сделать это, кроме создания нового поиска для каждого клиента в цикле сводного поиска «каждый» (который имеет проблемы с управлением)?
Мое решение для резервного копирования — не использовать сводный поиск и создавать собственные сводные объекты в моем скрипте, но мне нравится использовать встроенную функциональность NetSuite везде, где это возможно.
Я предполагаю, что это невозможно, потому что я не могу найти никакой документации по нему, и поиск в пользовательском интерфейсе, похоже, создает новый поиск на лету для детализации. Но я подумал, что задам это здесь, чтобы исчерпать все мои варианты и помочь любому в будущем, кто может искать этот ответ.
Ответ №1:
Вы не можете выполнить детализацию результатов поиска с помощью скрипта.
Есть несколько способов добраться туда, где вы хотите быть, хотя
Самым простым может быть:
- Выполните работу в скрипте map / reduce.
- удалите поля сводки из поиска
- загрузите поиск в
getInput()
и верните объект поиска. Затем Netsuite запустит поиск для вас. - в
map()
группируйте результаты по клиентам - в
reduce()
используйте сгруппированные результаты, как будто они были детализированы
Комментарии:
1. Спасибо за разъяснение! По сути, я делаю то, что вы описали, но я использую сценарий по расписанию и выполняю цикл поиска, чтобы создать / сгруппировать результаты в массив. Но сценарий map / reduce действительно звучит как более чистый вариант с меньшим риском управления. Еще раз спасибо!