Поиск файлов с помощью search.create в suitescript 2.0

Я ищу файлы с помощью search.create, но мой поиск возвращает каждый файл в папке, включая файлы в подпапках. Мне нужны только файлы в определенной папке, а не все файлы (файлы в подпапках).

Обычно содержимое подпапки не должно отображаться в родительской папке.

search.create({
     type: 'file',
     filters:
     [
        ['folder',"anyof", folderid]
     ],
   
     columns:
     [
        search.createColumn({
           name: "name",
           label: "Name",
           sort: search.Sort.ASC
          
        }),
        search.createColumn({
          name: "internalid",
          label: "ID",
          sort: search.Sort.ASC
         
       }),
     
   
       
     ]
  }).run();

person Daruma    schedule 12.02.2021    source источник


Ответы (1)


Похоже, вы не можете добавить к поиску дополнительный фильтр, который ограничивает файлы, принадлежащие только этой папке, без подпапок. Однако вы можете изменить поиск, чтобы искать не в записи файла, а в записи папки с объединенными файлами:

search.create({
     type: 'folder',
     filters:
     [
        ['internalid','is', folderId], 'AND',
        ['file.folder','is', folderId]
     ],
   
     columns:
     [
        search.createColumn({
           name: 'name',
           join: 'file'
        })
     ]
  }).run();

Не уверен в недостатках производительности этого подхода, но он может решить вашу проблему. Пожалуйста, дайте мне знать, если это поможет.

person serhii.tymoshenko    schedule 14.02.2021