В процессе администрирования платформы 1С:Предприятие одной из самых частых задач является аудит учетных записей. Администратору необходимо четко понимать, кто имеет доступ к системе, какими правами обладают сотрудники и какие учетные записи давно не использовались. Получить репрезентативный список пользователей можно разными способами: от визуального просмотра в режиме конфигуратора до формирования сложных отчетов программными средствами.
Выбор конкретного метода зависит от ваших целей и уровня доступа. Если вам нужно просто посмотреть, кто зарегистрирован в базе, подойдет стандартный интерфейс. Однако для глубокой аналитики, например, поиска дублей или проверки соответствия прав должностным инструкциям, потребуется использование консоли команд или запросов к базе данных.
В данной статье мы рассмотрим все доступные способы получения реестра пользователей, начиная от стандартных средств и заканчивая продвинутыми методами администрирования через консоль команд и MS SQL Server. Мы разберем нюансы работы с файловыми и клиент-серверными базами, а также обсудим вопросы безопасности при экспорте данных.
Просмотр списка через режим Конфигуратора
Самый простой и очевидный способ увидеть всех зарегистрированных в базе пользователей — это вход в режим Конфигуратор. Этот метод не требует написания кода или выполнения SQL-запросов, поэтому он идеально подходит для оперативной проверки текущего состояния системы. Вам необходимо запустить ярлык базы данных с ключом /C или выбрать соответствующий пункт в окне запуска.
После авторизации под пользователем с полными правами (обычно это администратор) следует перейти в меню конфигурации. Путь выглядит следующим образом: Администрирование → Пользователи. Откроется стандартное окно списка, где отображаются имена учетных записей, полные имена сотрудников и назначенные роли. Здесь вы можете сразу отключить неактуальные учетки или изменить состав прав доступа.
Однако у этого метода есть существенный недостаток: он показывает только тех пользователей, которые созданы непосредственно в данной информационной базе. Если в вашей организации используется централизованная аутентификация через домен Windows или веб-сервисы, эти пользователи могут не отображаться в локальном списке до момента их первого входа. Кроме того, из этого окна нельзя быстро выгрузить данные в Excel для последующего анализа.
Для быстрого перехода к списку пользователей используйте горячие клавиши Ctrl+U, находясь в режиме Конфигуратора (работает в большинстве версий платформы).
Стоит отметить, что визуальный просмотр удобен для малых баз, но становится громоздким при наличии сотен учетных записей. В таких случаях навигация по списку занимает много времени, а поиск нужного сотрудника может затрудняться из-за отсутствия расширенной фильтрации по дате последнего входа.
Использование консоли администрирования серверов 1С
Для клиент-серверных вариантов работы (на базе PostgreSQL, MS SQL или Oracle) более мощным инструментом является консоль администрирования. Она позволяет управлять кластером серверов в целом и получать сводную информацию по всем информационным базам, размещенным на сервере. Запуск осуществляется через меню «Пуск» в разделе программ 1С или путем выполнения команды rmngr.
В дереве объектов консоли нужно раскрыть узел «Кластеры серверов», затем выбрать конкретный кластер и перейти к списку информационных баз. Выбрав нужную базу, вы увидите вкладку или контекстное меню, позволяющее просмотреть зарегистрированных пользователей. Здесь отображаются не только имена, но и сеансы, если пользователи в данный момент работают в системе.
- 🖥️ Отображение активных сеансов в реальном времени с указанием компьютера подключения.
- 🔒 Возможность принудительного завершения сеансов и блокировки пользователей.
- 📊 Просмотр детальной информации о лицензиях, занимаемых конкретными юзерами.
Консоль администрирования также позволяет выгружать отчеты о пользователях, что критически важно для аудита безопасности. Вы можете увидеть, какие учетные записи имеют право на монопольный режим или изменение конфигурации. Это незаменимый инструмент для системных администраторов, поддерживающих крупные внедрения.
⚠️ Внимание: Изменения, внесенные через консоль администрирования серверов (например, удаление пользователя), применяются мгновенно и не требуют перезапуска службы 1С. Будьте предельно осторожны, чтобы не заблокировать критически важных сотрудников в рабочее время.
Получение сведений через запросы к базе данных (SQL)
Если вам требуется получить «сырые» данные для интеграции с другими системами или для глубокой аналитики, самым эффективным методом будет прямой запрос к таблице системных регистров. В платформах 1С информация о пользователях хранится в системной таблице _Users (или _InfoRgUsers в зависимости от версии и типа СУБД).
Для выполнения такого запроса вам потребуются права администратора базы данных (например, роль sysadmin в MS SQL). Подключившись к базе данных через SQL Server Management Studio или аналогичный клиент, вы можете выполнить селекцию данных. Структура таблицы может меняться от версии к версии, но основные поля обычно включают уникальный идентификатор, имя пользователя и ссылку на профиль.
SELECT _Fld1234, _Fld5678 FROM _Users WHERE _Deleted = 0
Здесь _Fld1234 и _Fld5678 — это физические имена полей, которые соответствуют логическим полям «Имя» и «Полное имя». Узнать точные соответствия можно через таблицу системных метаданных _Metadata или используя специализированные обработки, которые расшифровывают имена полей.
| Поле в SQL | Логическое имя 1С | Тип данных | Описание |
|---|---|---|---|
| _IDRRef | Ссылка | UUID | Уникальный идентификатор записи |
| _Fld1025 | Имя | Строка | Логин для входа в систему |
| _Fld1026 | Полное имя | Строка | ФИО сотрудника |
| _Fld1028 | Основной профиль | Ссылка | Настройки интерфейса и прав |
Использование SQL-запросов дает максимальную гибкость. Вы можете соединять таблицу пользователей с таблицами журналов регистрации, чтобы выяснить, кто не заходил в систему более полугода. Это особенно полезно при чистке базы от «мертвых душ» перед обновлением типовых конфигураций.
Как узнать имена физических полей?
Физические имена полей (_FldXXXX) генерируются платформой автоматически и могут отличаться в разных базах. Для их расшифровки можно использовать запрос к таблице _Metadata, где хранится описание структуры всех объектов конфигурации.
Анализ прав доступа и ролей пользователей
Простого списка имен недостаточно для полноценного аудита безопасности. Критически важно понимать, какими именно возможностями обладает каждый пользователь. В 1С права доступа реализуются через механизм ролей. Один пользователь может иметь несколько ролей, а одна роль может быть назначена множеству пользователей.
Для анализа прав лучше всего использовать встроенные отчеты конфигурации, если они предусмотрены разработчиком (например, в «1С:Бухгалтерия» или «1С:ЗУП»). Если же таких отчетов нет, администратору придется анализировать дерево ролей вручную в режиме Конфигуратора через меню Администрирование → Роли.
- 🛡️ Проверка наличия роли
Полные правау рядовых сотрудников. - 📂 Анализ доступа к конкретным документам и справочникам.
- 🚫 Выявление пользователей с правом на запуск внешних обработок.
Особое внимание следует уделить пользователям, у которых установлена галочка «Автогенерация прав» или которые входят в системную роль Администратор. Такие учетные записи представляют наибольший риск в случае компрометации пароля. Регулярный пересмотр назначенных ролей является обязательной процедурой в рамках политики информационной безопасности предприятия.
⚠️ Внимание: Никогда не назначайте роль «Полные права» пользователям, которые работают с персональными данными, если это не обосновано их должностными обязанностями. Это нарушает принцип минимально необходимых привилегий.
Программный вывод списка через внешние обработки
Для автоматизации процесса сбора информации о пользователях целесообразно использовать внешние обработки, написанные на встроенном языке 1С. Такой подход позволяет сформировать выгрузку в любой удобный формат (MXL, CSV, TXT) и запланировать ее выполнение через регламентные задания.
Алгоритм работы такой обработки достаточно прост: она подключается к базе данных, открывает менеджер пользователей в режиме монопольного доступа (если требуется) или просто считывает регистр сведений. Затем данные помещаются в табличный документ и сохраняются на диск. Это позволяет обойти ограничения интерфейса и получить данные даже о скрытых системных пользователях.
Пример кода для получения коллекции пользователей:
Пользователи = ПользователиИнформационнойБазы.ПолучитьСписокПользователей;
Для Каждого Пользователь Из Пользователи Цикл
Сообщить(Пользователь.Имя +" -" + Пользователь.ПолноеИмя);
КонецЦикла;
Использование внешних обработок особенно оправдано в распределенных информационных базах, где нужно собрать данные с нескольких узлов. Вы можете написать скрипт, который последовательно подключается к каждому узлу и агрегирует общий список, помечая источник данных.
Автоматизация сбора данных через внешние обработки позволяет создавать историю изменений списков пользователей, что необходимо для прохождения аудита и сертификации по стандартам безопасности.
Частые проблемы и ошибки при выводе списка
При попытке вывести список пользователей администраторы часто сталкиваются с техническими сложностями. Самая распространенная проблема — отсутствие монопольного режима. Некоторые операции с пользователями (особенно удаление или глобальное изменение прав) требуют, чтобы в базе не было других активных сеансов.
Еще одна сложность возникает при работе с файловыми вариантами баз данных на сетевых дисках. Если права доступа к файлу 1Cv8.1CD ограничены на уровне операционной системы, платформа 1С может не увидеть часть пользователей или выдать ошибку при попытке чтения списка. В таких случаях необходимо проверить права NTFS на папку с базой данных.
Также стоит упомянуть проблему рассинхронизации. Если пользователь был удален в Active Directory, но не удален в базе 1С, он отображаться в списке до момента ручной чистки. И наоборот, новые сотрудники могут не иметь доступа, пока администратор явно не создаст для них учетную запись или не настроит синхронизацию с доменом.
☑️ Диагностика проблем со списком пользователей
⚠️ Внимание: Интерфейсы и точные названия меню могут незначительно отличаться в зависимости от версии платформы 1С (8.2, 8.3, 8.4) и конкретной конфигурации (Бухгалтерия, УТ, ERP). Всегда сверяйтесь с документацией к вашей версии релиза.
Часто задаваемые вопросы (FAQ)
Как узнать дату последнего входа пользователя в 1С?
Стандартными средствами интерфейса 1С эта информация не отображается в списке пользователей. Для получения этих данных необходимо анализировать Журнал регистрации событий. Можно написать отчет по журналу, группируя события по типу «Начало работы сеанса» и пользователю, чтобы определить максимальную дату входа для каждого.
Можно ли выгрузить список пользователей в Excel напрямую из 1С?
Да, это возможно. В режиме Конфигуратора список пользователей можно скопировать в буфер обмена (через контекстное меню или Ctrl+C) и вставить в Excel. Также существуют готовые внешние обработки, которые формируют выгрузку в формате XLSX с дополнительными колонками, такими как состав ролей и дата создания.
Почему некоторые пользователи отображаются серым цветом в списке?
Серый цвет имени пользователя в списке обычно означает, что данная учетная запись заблокирована или неактивна. Такие пользователи не могут войти в систему, пока администратор не снимет блокировку. Это часто используется для временного отключения сотрудников, находящихся в отпуске или уволенных, но чьи данные нужно хранить в истории.
Как найти пользователей, у которых пустой пароль?
Платформа 1С не позволяет явно увидеть, у кого пароль пустой, из соображений безопасности. Однако при попытке входа такого пользователя система не запросит пароль. Для аудита рекомендуется использовать политику безопасности, обязывающую устанавливать сложные пароли, или проверить настройки аутентификации в свойствах информационной базы.
Влияет ли удаление пользователя из списка на его данные в документах?
Нет, удаление пользователя из списка учетных записей не удаляет документы, которые он создал или провел. В документах сохраняется ссылка на пользователя (или его имя), которая остается в базе данных. Однако после удаления вы не сможете авторизоваться под этим именем, а в отчетах по ответственному лицу может отображаться пометка «Удаленный пользователь».