- Главная [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
- Начало работы
- Как решить вашу задачу
-
API
-
Типы объектов
- DispositionType
- ProcessInstanceState
- ProcessTaskState
- ApplicationItemRegistration
- ApplicationProjectItem
- ApplicationProjectItemRef
- ApplicationProjectPlanElementItem
- ApplicationProjectPlanElementItemRef
- BaseApplicationItem
- BaseApplicationItemRef
- BaseItem
- BaseItemData
- CurrentUserItem
- DirectoryData
- DirectoryItem
- EmployeeItemData
- EmployeeItemParams
- EmployeeItemProcesses
- FileData
- FileItem
- FileItemRef
- FileVersionData
- FileVersionItem
- ImageData
- ImageItem
- ImageItemRef
- InstanceAddr
- Item
- ItemData
- ItemRef
- MailMessageData
- MailMessageItem
- MailMessageItemRef
- OrganisationStructureData
- OrganisationStructureItem
- OrganisationStructureItemRef
- ParamsItem
- ProcessInstanceData
- ProcessInstanceItem
- ProcessInstanceItemRef
- ProcessTaskData
- ProcessTaskItem
- ProcessTaskItemRef
- ProcessTemplate
- ProcessTimer
- ReminderData
- ReminderItem
- ReplacementData
- ReplacementItem
- StatusHistoryData
- StatusHistoryItem
- StatusHistoryItemRef
- TaskItemExit
- UserData
- UserGroupData
- UserGroupItem
- UserGroupItemRef
- UserItem
- UserItemRef
- ApplicationItem
- ApplicationItemRef
- Типы данных
- Глобальные константы
- Работа с приложениями
- Веб-запросы
- Права доступа
- Документооборот
- Линии
- Виджет «Код»
- Подписи
- Рабочие календари
- Интеграция с IP-телефонией
- Интеграция с сервисами рассылок
-
Типы объектов
Директория с файлами
Объект предназначен для работы с файловыми директориями. Он позволяет выполнять операции над директориями, хранимыми на диске: получить директории внутри директории, родительские и все дочерние директории, создать новую директорию, удалить существующую, а также получить файлы, находящиеся в директории.
Type parameters
I: Item<ItemData>
Hierarchy
Properties
Readonly code
Код приложения цели ссылки (код приложения).
Readonly data
Значения полей объекта.
Readonly fields
Описание полей объекта.
Readonly id
Идентификатор цели ссылки.
Readonly namespace
Пространство имен цели ссылки (код раздела приложения).
Methods
createChildren
Метод создает новую директорию в текущей директории.
//Пример создания новой директории в папке пользователя. Получаем пользователя, получаем его директорию //и в ней создаем новую директорию let name = "Имя новой директории"; const user = await System.users.getCurrentUser() const searchDir = await System.directories.search(). where(di =>di.__id.eq(user.data.__id)). first(); const newDir = await searchDir.createChildren(name);
Parameters
name: string
Returns Promise<DirectoryItem>
Объект Директория.
delete
Метод удаляет текущую директорию.
// Пример удаления всех директорий, созданных пользователем const searchDirs = await System.directories.search(). where(di => di.__createdBy.eq('<some id>')). all(); for (let i = 0; i < searchDirs.length; i += 1) { await searchDirs[i].delete(); }
Returns Promise<number>
Статус ответа.
fetch
Запрос полных данных объекта-ссылки.
Returns Promise<DirectoryItem>
getChildren
Метод получает все дочерние директории.
//Пример получения всех файлов дочерних директорий const children = await someDirectory.getChildren(); let allFilesInAllDirs :FileItem[]; parents.forEach(dir => { let files = dir.getFiles(); files.forEach(file =>{ allFilesInAllDirs.push(file); }) });
Returns Promise<DirectoryItem[]>
Массив объектов дочерних директорий.
getChildrens
Deprecated
Метод устарел. Метод получает все дочерние директории.
//Пример получения всех файлов дочерних директорий const children = await someDirectory.getChildrens(); let allFilesInAllDirs :FileItem[]; parents.forEach(dir => { let files = dir.getFiles(); files.forEach(file =>{ allFilesInAllDirs.push(file); }) });
Метод устарел. Избегайте его использования.
Returns Promise<DirectoryItem[]>
Массив объектов дочерних директорий.
getDirs
Метод получает папки в директории первого уровня вложенности.
// Пример получения всех файлов в дочерних директориях const dirsInDir = await someDirectory.getDirs(); let allFilesInAllDirs :FileItem[]; dirsInDir.forEach(dir => { let files = dir.getFiles(); files.forEach(file =>{ allFilesInAllDirs.push(file); }) });
Returns Promise<DirectoryItem[]>
Массив объектов директорий.
getFiles
Метод получает файлы из директории.
// Пример получения ссылкок на файлы в директории const filesInDir = await someDirectory.getFiles(); filesInDir.forEach(file => file.getDownloadUrl());
Returns Promise<FileItem[]>
Массив объектов файлов из директории.
getParents
Метод получает родителей директории отсортированых по порядку вложенности.
// Пример формирования пути до директории на основе полученных данных о родительских директориях const parents = await someDirectory.getParents(); let pathDir string = "/"; parents.forEach(dir => { pathDir = pathDir + dir.data.__name + "/" });
Returns Promise<DirectoryItem[]>
Массив объектов родительских директорий.
getPermissions
Метод получает права доступа к директории.
После удачного выполнения запроса прав в ответе будет получен объект TPermissions. Его можно модифицировать или анализировать для различных проверок доступа.
const searchDir = await System.directories.search(). where(di => di.__id.eq('<some id>')). first(); const perm = await searchDir.getPermissions();
Returns Promise<TPermissions>
hasPermission
Метод проверяет наличие права доступа PermissionType.
Метод позволяет проверить возможность выполнения операции PermissionType с директорией. После использования метод вернёт флаг о результате. Если значение флага
true
, то пользователь может выполнять запрошенную операцию с директорией. Также можно проверять доступ для элементов оргструктуры.const user = Context.data.__createdBy; const searchDir = await System.directories.search(). where(di => di.__id.eq('<some id>')). first(); const canUpdate = await directory.hasPermission(user, PermissionType.DELETE); if (canUpdate) { await searchDir.delete(); }
Parameters
orgunit: TPermissionOrgunit
type: PermissionType
Returns Promise<boolean>
normalize
Удаление дублирующихся данных в массивах.
Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).
Этот метод, например, можно вызвать после массового изменения данных в объекте.
const app1 = await Context.data.app1.fetch(); const app2 = await Context.data.app2.fetch(); app1.data.executors.push(app2.data.executors); app1.normalize(); // Далее перебираем элементы нового массива app1.data.executors.forEach( ... );
Returns void
setPermissions
Метод устанавливает список прав на директорию.
Метод используется, когда необходимо изменить права на доступ к директории: предоставить или ограничить доступ для пользователя, группы, элемента оргструктуры. Для добавления новых прав доступа используется объект TPermissionValue, а для выдачи прав на определённые операции — PermissionType. После создания нового объекта TPermissions для сохранения новых прав доступа необходимо использовать данный метод.
const searchDir = await System.directories.search(). where(di => di.__id.eq('<some id>')). first(); const user = searchDir.data.__createdBy; const permissions = new Permissions([ new PermissionValue(user, [PermissionType.DELETE, PermissionType.READ]), ]); await directory.setPermissions(perms);
Parameters
perms: TPermissions
Returns Promise<void>
Properties
Methods