Объект приложения доступен в бизнес-процессах и виджетах, которые находятся на уровне приложения. Application предоставляет методы и данные для работы с текущим приложением.

Type parameters

Hierarchy

  • Application

Properties

Readonly cache

cache: ICache

Кеш для временного хранения данных на сервере, изолированный в приложении.

Readonly fields

fields: Readonly<object>

Описание полей приложения.

Readonly name

name: string

Название приложения.

Readonly processes

processes: S

Процессы приложения.

Подробнее о возможностях в Processes.

Readonly serial

serial: Serial

Нумератор в приложении.

Readonly storage

storage: IStorage

Хранилище для долговременного хранения произвольных строковых данных на сервере, изолированное в приложении.

Methods

create

  • Метод создаёт новый элемент приложения.

    После создания и заполнения полей элемент необходимо сохранить с помощью метода [[ApplicationItem.save]].

    const item = Application.create();
    item.data.__name = Context.data.request_subject;
    await item.save();
    

    Returns ApplicationItem<T, P>

createFolder

  • createFolder(name: string): Promise<TFolder>
  • Метод создаёт новую папку на уровне приложения (1-й уровень вложенности).

    В примере с помощью метода мы создаём новую папку в приложении.

    const folder = await Application.createFolder('name');
    

    Parameters

    • name: string

      Имя создаваемой папки.

    Returns Promise<TFolder>

getFolders

  • Метод получает массив папок на уровне приложения (первого уровня вложенности).

    В примере метод позволяет получить все папки приложения.

    const folders = await Application.getFolders();
    

    Returns Promise<TFolder[]>

    Папки на уровне приложения.

getPermissions

  • Метод возвращает права доступа, установленные для данного приложения.

    Подробнее о работе метода в [[ApplicationItem.getPermissions]].

    Returns Promise<TPermissionsSettings>

getSettings

  • Возвращает настройки, установленные для данного приложения.

    const settings = await Application.getSettings();
    
    // Включена ли регистрация
    const on_registry = settings.registrationSettings.enabled
    
    // Список ID дел, в которых доступна регистрация для данного приложения
    const nomIDs = settings.registrationSettings.nomenclatureIds
    
    // Возвращает список дел, доступных для данного приложения
    const nomenclatures = settings.registrationSettings.getNomenclatures();
    

    Returns Promise<TSettings>

hasPermission

  • hasPermission(orgunit: TPermissionOrgunit, type: PermissionType): Promise<boolean>
  • Метод проверяет наличие права доступа для пользователя, группы, элемента оргструктуры, роли.

    Parameters

    • orgunit: TPermissionOrgunit

      Пользователь, группа, элемент оргструктуры или роль, которым выданы права.

    • type: PermissionType

      Уровень прав.

      Подробнее о работе метода в [[ApplicationItem.hasPermission]].

    Returns Promise<boolean>

search

  • search(): ApplicationSearch<T, P>
  • Метод позволяет выполнить поиск по элементам приложения.

    Подробнее о поиске по элементам приложения можно прочитать в статье «Работа с приложениями».

    Returns ApplicationSearch<T, P>

setPermissions

  • Метод устанавливает новые права на элемент приложения.

    Подробнее о работе метода в [[ApplicationItem.setPermissions]].

    Parameters

    Returns Promise<void>

statusHistory

  • Метод позволяет выполнить поиск по истории изменений статусов элементов приложения.

    Метод возвращает объект StatusHistorySearch, который поддерживает фильтрацию и сортировку результатов поиска.

    // Получим историю переходов в статус Сделано (`done`) за последний день
    const today = new Datetime();
    const yesterday = today.addDate(0, 0, -1);
    const changes = Application.statusHistory()
        .where((f, g) => g.and(
            f.__createdAt.gte(yesterday),
            f.target.eq(Application.fields.__status.variants.done.id),
        ))
        .all();
    
    // Получим полные данные всех элементов,
    // статус которых изменился на Сделано (`done`)
    const items = await Promise.all(changes.map(change => change.data.item!.fetch()));
    

    Returns StatusHistorySearch<T, P>