Type parameters

Hierarchy

Properties

Readonly code

code: string

Код приложения цели ссылки (код приложения).

Readonly data

data: Based<Partial<UserData>>

Значения полей объекта.

Readonly fields

fields: Readonly<object>

Описание полей объекта.

Readonly id

id: string

Идентификатор цели ссылки.

Readonly namespace

namespace: string

Пространство имен цели ссылки (код раздела приложения).

Readonly timezone

timezone: TTimezone

Часовой пояс со смещением времени в часах.

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

Пример использования:

const currentUser = await System.users.getCurrentUser();
const userTimezone = currentUser.timezone;

Methods

assignToPosition

  • Метод позволяет назначить пользователя на должность.

    После использования этого метода необходимо сохранить объект пользователя.

    Parameters

    Returns void

block

  • block(): Promise<void>
  • Метод блокирует учетную запись пользователя.

    await Context.data.user.block();
    

    Returns Promise<void>

fetch

  • Запрос полных данных объекта-ссылки.

    Returns Promise<UserItem>

getChiefs

  • Метод получает всех руководителей пользователя.

    Метод рассчитывает руководителей всех элементов оргструктуры, на которые назначен пользователь. Руководителем считается первая должность, по пути к корню дерева оргструктуры, на которую назначен пользователь. Если пользователь не назначен на должность, то вернётся пустой список. Если пользователь сопоставлен корню дерева оргуструтуры, то вернётся он сам.

    const chiefs = await Context.data.__createdBy.getChiefs();
    Context.data.approver = chiefs[0];
    

    Returns Promise<UserItemRef[]>

getLocale

  • getLocale(): Promise<string>
  • Метод позволяет получить локаль пользователя.

    Локаль состоит из двух частей, разделенных при помощи дефиса:

    • двух- или трёхсимвольный IETF-код языка;
    • код региона (ISO 3166-1), как правило, это двухсимвольный код страны.

    Примеры:

    • ru-RU — локаль для русского языка в России;
    • en-US — локаль для английского языка в США;
    const currentUser = await System.users.getCurrentUser();
    const userLocale = await currentUser.getLocale();
    if (userLocale.startsWith('ru-')) {
      Context.data.message = "Привет мир!";
    } else if (userLocale.startsWith('es-')) {
      Context.data.message = "Hola mundo!";
    } else {
      Context.data.message = "Hello world!";
    }
    

    Returns Promise<string>

    Строковое значение локали.

normalize

  • normalize(): void
  • Удаление дублирующихся данных в массивах.

    Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).

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

    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

positions

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

    const currentUser = await System.users.getCurrentUser();
    const positions = await currentUser.positions();
    

    Returns Promise<OrganisationStructureItem[]>

removeFromPosition

  • Метод позволяет снять пользователя с должности.

    После использования этого метода необходимо сохранить объект пользователя.

    Parameters

    Returns void

save

  • save(): Promise<void>
  • Метод сохраняет объект пользователя.

    Метод позволяет обновлять текущего пользователя и приглашать новых пользователей. Поля, доступные для редактирования: fullname, mobilePhone, workPhone, birthDate, hireDate, avatar, timezone, accounts, displayedPosition и additionalData. Для приглашения нового пользователя обязательным полем является email.

    Обновление:

        const user = await Context.data.user.fetch();
        const timezones = System.timezones.all().filter( timezone => timezone.name === "Africa/Bujumbura" )
        user.data.timezone = timezones[0].name;
        user.data.mobilePhone!.tel = "9655555555";
        user.data.fullname!.firstname = "Игорь";
    
        await user.save();
    

    Для отправки приглашения новому пользователю необходимо его инициализировать:

        const user = System.users.create();
        user.data.email = "example@example.com";
        user.data.fullname = {
            lastname: "Иванов",
            firstname: "Иван",
            middlename: "Иванович"
        }
    
        await user.save();
    

    Returns Promise<void>

setLocale

  • setLocale(locale: string): Promise<void>
  • Метод позволяет изменить локаль (язык) пользователя.

    В качестве аргумента locale передаётся код локали, состоящий из двух частей, разделённых при помощи дефиса:

    • двух- или трёхсимвольный IETF-код языка;
    • код региона (ISO 3166-1), как правило, это двухсимвольный код страны.

    Примеры:

    • ru-RU — локаль для русского языка в России;
    • en-US — локаль для английского языка в США;

    Если среди доступных в компании нет локали, переданной в метод, работа метода будет завершена с ошибкой.

    // получаем новую локаль пользователя из контекста
    const locale = Context.data.new_locale;
    if (!locale) {
        throw new Error('Не указана новая локаль пользователя');
    }
    // получаем текущего пользователя
    const user = await System.users.getCurrentUser();
    // меняем локаль пользователея
    await user.setLocale(locale);
    

    Parameters

    • locale: string

    Returns Promise<void>

setPositions

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

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

    Parameters

    Returns void

unblock

  • unblock(): Promise<void>
  • Метод позволяет разблокировать учетную запись пользователя.

    await Context.data.user.unblock();
    

    Returns Promise<void>