Type parameters
Hierarchy
-
UserItem
- CurrentUserItem
Properties
Readonly code
Код приложения цели ссылки (код приложения).
Readonly data
Значения полей объекта.
Readonly fields
Описание полей объекта.
Readonly id
Идентификатор цели ссылки.
Readonly namespace
Пространство имен цели ссылки (код раздела приложения).
Readonly timezone
Часовой пояс со смещением времени в часах.
Если у пользователя не определен часовой пояс, используется часовой пояс компании.
Пример использования:
const currentUser = await System.users.getCurrentUser();
const userTimezone = currentUser.timezone;
Methods
assignToPosition
-
Метод позволяет назначить пользователя на должность.
После использования этого метода необходимо сохранить объект пользователя.
Parameters
-
position: OrganisationStructureItem
Returns void
-
block
-
Метод блокирует учетную запись пользователя.
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
-
Метод позволяет получить локаль пользователя.
Локаль состоит из двух частей, разделенных при помощи дефиса:
- двух- или трёхсимвольный 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>
Строковое значение локали.
logout
-
Выход из системы для текущего пользователя.
const user = await System.users.getCurrentUser(); await user.logout();
Returns Promise<void>
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
positions
-
Метод позволяет получить список должностей, на которые назначен пользователь.
const currentUser = await System.users.getCurrentUser(); const positions = await currentUser.positions();
Returns Promise<OrganisationStructureItem[]>
removeFromPosition
-
Метод позволяет снять пользователя с должности.
После использования этого метода необходимо сохранить объект пользователя.
Parameters
-
position: OrganisationStructureItem
Returns void
-
save
-
Метод сохраняет объект пользователя.
Метод позволяет обновлять текущего пользователя и приглашать новых пользователей. Поля, доступные для редактирования:
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
-
Метод позволяет изменить локаль (язык) пользователя.
В качестве аргумента
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
-
positions: OrganisationStructureItem[]
Returns void
-
unblock
-
Метод позволяет разблокировать учетную запись пользователя.
await Context.data.user.unblock();
Returns Promise<void>
Объект текущего пользователя