Получение подпапок заданной папки в сценарии
Пусть известен Id некоторой папки, для которой необходимо получить список ее подпапок. Id папки всегда можно посмотреть, находясь на странице данной папки: это будет последнее число в адресной строке браузера. Для поиска подпапок необходимо создать фильтр с критерием поиска (в данном случае в качестве критерия будет выступать Id родительской папки) и применить его к объектам типа Folder.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Пространство имен:
using EleWise.ELMA.API; using EleWise.ELMA.Documents.Models;
Текст сценария:
var childrens = PublicAPI.Docflow.Folder.GetAllChildren(PublicAPI.Docflow.Folder.LoadOrNull(36)).OfType<IFolder>().ToList();
Пример сценария без использования PublicAPI
Пространства имен:using EleWise.ELMA.Documents.Managers; using EleWise.ELMA.Documents.Models; using EleWise.ELMA.Model.Managers; using EleWise.ELMA.Services;
Пример сценария:
//создание фильтра var filter = new InstanceOf<IDmsObjectFilter> { New = { //критерий для фильтра - родительская папка, загрузим ее по id Folder = (Folder)FolderManager.Instance.LoadOrNull(10), } }.New; //применим фильтр к объектам Foler, получив тем самым список подпапок родительской папки var folderz = EntityManager<Folder>.Instance.Find(filter, null).ToList();
В результате выполнения сценария в локальной переменной folderz окажется искомый список подпапок. Вы можете переписать его в контекстную переменную или обработать далее в сценарии, используя указанную локальную переменную.