К статье
Практический материал

Администрирование · 10 мин

Как посмотреть текущего пользователя в 1С

Как узнать текущего пользователя в 1С: через интерфейс, список активных сеансов, консоль управления и код на встроенном языке. Инструкции для 8.3 и 7.7.

Узнать, под каким пользователем запущен сеанс 1С, нужно в разных ситуациях: при проверке прав доступа, поиске виновника блокировки данных, настройке разграничения ролей или отладке кода. В зависимости от задачи подходят разные инструменты — от простого пункта меню до запроса в консоли кластера серверов.

Понятие «текущий пользователь» имеет два смысла. Первый — пользователь информационной базы, под именем которого выполнен вход (учётная запись из справочника пользователей). Второй — пользователь операционной системы, запустивший клиентское приложение. Они могут не совпадать, и важно понимать, какой именно параметр нужен.

Ниже разобраны все рабочие способы: через интерфейс программы, через список активных пользователей, через консоль сервера 1С и программно — встроенным языком. Отдельно рассмотрены отличия для файловой и клиент-серверной баз, а также типичные ошибки.

Как посмотреть текущего пользователя через интерфейс программы

Самый простой способ — открыть сведения о программе. В типовых конфигурациях на платформе 8.3 перейдите в меню (кнопка с тремя полосами или кнопка «1С» в левом верхнем углу) и выберите пункт «О программе». В открывшемся окне отображается имя пользователя, версия платформы и конфигурации, режим работы базы.

Во многих типовых решениях (Бухгалтерия, Управление торговлей, Зарплата и управление персоналом) имя текущего пользователя видно прямо в шапке или в разделе настроек. Например, в «1С:Бухгалтерии» зайдите в «Администрирование — Настройки прав и пользователей — Пользователи» — текущая учётная запись будет отмечена в списке, а в заголовке панели навигации часто указано имя вошедшего сотрудника.

Если интерфейс сильно изменён прикладным решением и найти пункт не удаётся, используйте универсальный способ через активные сеансы, описанный в следующем разделе — он работает в любой конфигурации.

Порядок действий
  1. 1
    Откройте главное меню программы (кнопка в левом верхнем углу)
  2. 2
    Выберите пункт «О программе»
  3. 3
    Найдите строку «Пользователь» или «Имя пользователя»
  4. 4
    Сверьте имя с ожидаемой учётной записью

Просмотр через список активных пользователей

Функция «Активные пользователи» показывает всех, кто сейчас подключён к базе, включая вас самого. Откройте меню «Администрирование» и выберите «Активные пользователи». В файловом варианте работы этот пункт доступен напрямую; в клиент-серверном он открывает консоль кластера с перечнем сеансов.

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

Этот инструмент особенно полезен, когда нужно не просто узнать своё имя, а найти, кто занимает базу или блокирует объект. Учтите: для просмотра списка нужны административные права. Пользователь без роли администратора может увидеть только ограниченную информацию или получить отказ в доступе.

Как узнать пользователя программно в коде 1С

Во встроенном языке для получения текущего пользователя информационной базы служит объект «ПользователиИнформационнойБазы». Метод ТекущийПользователь() возвращает полный объект, из которого можно извлечь имя, полное имя, роли и другие свойства. Для быстрого получения строки имени достаточно функции ИмяПользователя().

В типовых конфигурациях на базе Библиотеки стандартных подсистем правильнее обращаться к общему модулю «Пользователи» — его функции возвращают ссылку на элемент справочника «Пользователи», а не объект информационной базы. Это важно, когда нужны реквизиты из справочника: подразделение, физическое лицо, контакты.

bsl
// Имя текущего пользователя ИБ
ИмяТекущего = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
// Краткий вариант
ИмяТекущего = ИмяПользователя();
// Ссылка на справочник (типовые конфигурации, БСП)
ТекущийПользователь = Пользователи.ТекущийПользователь();

Проверить результат можно так: добавьте временный вызов Сообщить(ИмяПользователя()) в обработчик кнопки или выполните выражение через «Функциональность — Выполнить произвольное выражение» (в режиме толстого клиента обычного приложения) либо через внешнюю обработку «Консоль кода». Имя выводится в сообщениях нижней панели.

Просмотр пользователя в консоли кластера серверов 1С

Для клиент-серверных баз полную картину даёт консоль администрирования серверов 1С. Откройте оснастку «Администрирование серверов 1С Предприятия», разверните нужный кластер, выберите информационную базу и перейдите на вкладку «Сеансы». Здесь видны все подключения: пользователь, приложение, компьютер, время начала, количество вызовов.

Вкладка «Соединения» показывает физические соединения с рабочими процессами, что полезно при диагностике зависших сеансов. Если пользователь утверждает, что вышел из программы, а сеанс висит — это видно именно здесь, и зависшее соединение можно удалить.

Отличия для файловой базы, веб-клиента и 1С 7.7

В файловом варианте нет консоли кластера — список подключений доступен только через «Администрирование — Активные пользователи». При работе через веб-клиент логика та же: пункт «О программе» и «Активные пользователи» присутствуют в интерфейсе браузера, а имя пользователя совпадает с учётной записью, указанной при входе.

В старой платформе 1С 7.7 путь другой: откройте меню «Помощь — О программе», где в поле «Имя» указан текущий пользователь. Программно в 7.7 используется функция ИмяПользователя() без обращения к объектной модели. Список активных пользователей смотрят в мониторе: «Администрирование — Монитор пользователей».

Сравнение способов

«О программе»

Подходит всем пользователям, не нужны права администратора. Показывает только свой сеанс.

Активные пользователи

Показывает всех подключённых, требует административных прав. Работает в файловой и серверной базе.

Консоль кластера

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

Код ИмяПользователя()

Для разработчиков и отладки. Требует умения выполнить код или встроенную обработку.

Типичные ошибки и ограничения

Частая ошибка — путать пользователя информационной базы и пользователя ОС. Если вход в 1С выполнен через аутентификацию операционной системы, поле «Имя» в списке пользователей может быть пустым, а реальный вход определяется доменной учётной записью (вида \\ДОМЕН\Имя). В этом случае смотрите полное описание пользователя в справочнике.

Вторая ошибка — попытка найти пункт «Активные пользователи» без административных прав. Если пункта нет в меню, проверьте свою роль: обычному пользователю список сеансов недоступен, и это нормальное ограничение безопасности, а не сбой программы.

Третья ситуация — в списке сеансов видно «фоновое задание» без имени пользователя. Такие сеансы создаются регламентными операциями и могут выполняться от имени служебной учётной записи, заданной в настройках задания. Это не признак чужого вторжения.

Типичные ошибки
01
Путать пользователя ИБ и пользователя Windows — при доменной аутентификации имена различаются
02
Искать «Активные пользователи» без прав администратора — пункт скрыт настройками ролей
03
Считать каждый сеанс отдельным пользователем — один человек может держать несколько сеансов
04
Завершать «лишние» сеансы без проверки — теряются несохранённые данные коллег

Как проверить, что вы определили пользователя правильно

Надёжный способ проверки — сопоставить три признака: имя пользователя, имя компьютера и время начала сеанса. Если все три совпадают с вашими, сеанс определён верно. При сомнениях выполните в программе любое безобидное действие (откройте и закройте документ) и посмотрите, в каком сеансе выросло число вызовов — в клиент-серверной консоли это видно в реальном времени.

Контрольные точки

Как проверить результат

Имя в «О программе»
Норма

Совпадает с вашей учётной записью в справочнике пользователей

Тревожный признак

Пустое поле или чужое имя — проверьте, под кем выполнен вход

Компьютер в списке сеансов
Норма

Указано имя вашего рабочего места

Тревожный признак

Другой компьютер — возможно, смотрите чужой сеанс

Время начала сеанса
Норма

Совпадает с моментом вашего входа в программу

Тревожный признак

Старый сеанс — вероятно, зависшее прежнее подключение

Итог

Что важно запомнить

Для просмотра своего имени достаточно пункта «О программе», для списка всех подключений — «Активные пользователи» или консоль кластера, в коде используйте ИмяПользователя(). Различайте пользователя информационной базы и пользователя ОС, а чужие сеансы не завершайте без предупреждения.

Частые вопросы

Почему в списке активных пользователей меня видно несколько раз?

Один пользователь может открыть несколько окон 1С, и каждое создаёт отдельный сеанс. Кроме того, фоновые задания (обмен данными, расчёт итогов) тоже отображаются как сеансы от вашего имени. Это нормально и не является ошибкой.

Как узнать, под каким пользователем выполняется регламентное задание?

Откройте консоль заданий («Администрирование — Регламентные и фоновые задания») и посмотрите свойства конкретного задания: там указано имя пользователя, от которого оно запускается. Если поле пустое, задание выполняется от имени пользователя, настроенного по умолчанию для базы.

Можно ли посмотреть текущего пользователя без прав администратора?

Да, своё имя видно любому пользователю через «О программе» или в шапке интерфейса типовых конфигураций. А вот список всех активных сеансов и консоль кластера требуют административных прав — это ограничение платформы в целях безопасности.

Что делать, если имя пользователя пустое?

Пустое имя обычно означает вход через аутентификацию операционной системы: платформа не запрашивала логин, а использовала доменную учётную запись. Откройте карточку пользователя в справочнике — там в поле «Пользователь ОС» будет указано значение вида \\ДОМЕН\Имя.

Как узнать, кто заблокировал документ или базу?

При попытке изменить заблокированный объект 1С выводит сообщение с именем пользователя, держащего блокировку, и временем её установки. Дополнительно откройте «Активные пользователи» или консоль кластера и найдите этого пользователя по имени и компьютеру, чтобы договориться о завершении работы.

Чем отличается ИмяПользователя() от Пользователи.ТекущийПользователь()?

Первая функция платформы возвращает строку — имя учётной записи информационной базы. Вторая (из Библиотеки стандартных подсистем в типовых конфигурациях) возвращает ссылку на элемент справочника «Пользователи», у которого есть дополнительные реквизиты: физическое лицо, подразделение, настройки. Для прикладной логики обычно нужен именно второй вариант.