Типы встроенного языка, порождаемые элементом проекта вида «Пользователи»

В любом проекте есть пользователи. Это предопределенный элемент проекта, который описывает пользователей, подключенных к приложению.

Примечание: Общую информацию о пользователях вы можете прочитать здесь.

Этот элемент проекта создает , но в структуре проекта он не отображается. Во встроенном языке существует несколько типов для работы с его данными:

  • Пользователи,
  • Пользователи.Ссылка,
  • Пользователи.Объект,
  • Пользователи.Данные.
Примечание: Вы можете обращаться к данным пользователей с помощью языка запросов. Для этого используйте таблицу пользователей.

Тип Пользователи

Тип Пользователи доступен на сервере.

Он содержит методы для работы с пользователями, подключенными к приложению, и ссылками на них. Например, Найти(), ПолучитьСсылку(), Подключить(), СделатьАдминистратором().

Он также позволяет пересчитать ключи доступа — ПересчитатьКлючиДоступа() (подробнее).

Этот тип не имеет конструктора и имеет единственный экземпляр, обращение к которому выполняется по имени типа:

// Получить менеджера пользователей
пер МенеджерПользователей = Пользователи

Тип Пользователи.Ссылка

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

Он предназначен для описания ссылки на одного подключенного пользователя.

Он имеет конструктор новый Пользователи.Ссылка(), который позволяет создать новую ссылку по Ууид, и метод ЗагрузитьОбъект(), который есть только на сервере и который позволяет получить экземпляр (Пользователи.Объект) из ссылки (Пользователи.Ссылка).

Тип Пользователи.Объект

Тип Пользователи.Объект доступен на сервере.

Экземпляр этого типа содержит данные одного подключенного пользователя и предназначен только для их чтения.

Тип Пользователи.Данные

Тип Пользователи.Данные доступен на сервере.

Он используется только в обработчике события Пользователи.Объект.ПослеИзменения.

Он не имеет конструктора. сам создает экземпляр этого типа при наступлении упомянутого события. Он передает в обработчик события экземпляр этого типа, наполненный «старыми» значениями.

Подписки на события пользователей и собственные методы

Вы можете изменять стандартное поведение типа (создавая подписки на его события) и расширять его функциональность (добавляя собственные методы). Это можно сделать в любом общем модуле, модуле типа-одиночки или в статическом методе других модулей.

Для типа Пользователи доступны подписки на события ПослеИзменения, ПослеПодключения и ПослеОтключения. Например:
@НаСервере
@Подписка(Событие{Пользователи.Объект.ПослеИзменения})
статический метод ПослеИзменения(Источник: Пользователи.Объект, До: Пользователи.Данные)
    // Обработка события
;

Вы можете расширить функциональность типа, добавив в него собственные публичные методы. Например, пусть в общем модуле ПользователиКлиентИСервер определен метод Администраторы(), который возвращает список пользователей-администраторов:

@ВПроекте
метод Администраторы(): Массив<Пользователи.Ссылка>
   пер Администраторы: Массив<Пользователи.Ссылка>

   // Получаем список пользователей-администраторов
   // ...

   возврат Администраторы
;

Этот метод будет доступен в других модулях:

пер СписокАдминистраторов = Основное::ПользователиКлиентИСервер.Администраторы()