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

Пользователи в 1С — это не просто список имен в текстовом файле, а полноценные объекты метаданных или записи в системных таблицах базы данных. Механизм хранения напрямую зависит от того, в каком режиме функционирует ваша база: файловом или клиент-серверном. Ошибка в определении типа хранилища может привести к потере прав доступа или невозможности входа в систему после миграции.

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

Архитектура хранения данных в зависимости от режима работы

Фундаментальное различие в хранении пользователей кроется в типе используемой СУБД. В файловом варианте все данные, включая метаданные и пользователей, упакованы в единый файл с расширением .1CD. Этот файл является монолитным хранилищем, и выделить из него отдельную таблицу с пользователями стандартными средствами без запуска платформы практически невозможно.

Ситуация кардинально меняется при использовании клиент-серверного варианта. Здесь данные размещаются в полноценной системе управления базами данных, такой как Microsoft SQL Server, PostgreSQL или Oracle. Пользователи 1С в этом случае представляют собой записи в конкретных системных таблицах внутри схемы базы данных. Это дает администратору возможность выполнять сложные SQL-запросы для аудита и управления доступом.

⚠️ Внимание: Прямое редактирование таблиц базы данных SQL без использования встроенных механизмов 1С может привести к необратимому повреждению конфигурации и потере данных. Любые изменения в системных таблицах должны проводиться только опытными специалистами с предварительным резервным копированием.

Кроме того, существует слой управления доступом на уровне сервера 1С (кластер серверов). Это отдельная сущность, которая хранится в собственном хранилище кластера и не всегда совпадает со списком пользователей внутри конкретной информационной базы. Разделение этих понятий часто вызывает путаницу у начинающих администраторов.

📊 В каком режиме работает ваша основная база 1С?
Файловый вариант
Клиент-серверный (MS SQL)
Клиент-серверный (PostgreSQL)
Не знаю / Смешанный

Пользователи в файловом варианте базы данных

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

Существует два основных уровня пользователей в файловой базе. Первый уровень — это пользователи, определенные в самой базе данных через интерфейс Администрирование → Пользователи. Они хранятся в специальном регистре сведений внутри файла конфигурации. Второй уровень — это пользователи операционной системы Windows, которые могут входить в базу без создания явной учетной записи в 1С, если включена соответствующая аутентификация.

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

💡

Если вы забыли пароль администратора в файловой базе, можно создать нового пользователя с полными правами через режим "Конфигуратор", предварительно удалив старый или сбросив права, но это требует осторожности.

Важно отметить, что файл базы данных может быть поврежден, что приведет к невозможности чтения списка пользователей. В таких случаях используется утилита chdbfl.exe для проверки целостности. Однако она не редактирует содержимое таблиц пользователей напрямую, а лишь восстанавливает структуру файла.

Таблицы пользователей в клиент-серверном варианте (SQL)

При работе с серверными базами данных информация о пользователях 1С хранится в системных таблицах, имена которых начинаются с префикса _Users или относятся к регистрам сведений. В MS SQL Server эти таблицы обычно находятся в схеме dbo или в схеме с именем базы данных, в зависимости от версии платформы и настроек развертывания.

Основная таблица, содержащая список зарегистрированных пользователей, часто имеет имя вида _Users или _Reference_Пользователи, если пользователи заведены как справочник. Однако системные пользователи платформы хранятся в скрытых служебных таблицах. Для их обнаружения необходимо выполнять запросы к системному каталогу базы данных.

Ниже приведена таблица с основными объектами, где можно найти информацию о пользователях в различных СУБД при использовании платформы 1С:

СУБД Имя таблицы/объекта Описание содержимого
MS SQL Server _Users Список пользователей 1С, их идентификаторы и ссылки на профили групп доступа
PostgreSQL _users Аналогичная таблица в нижнем регистре, хранящая учетные записи
Oracle _USERS Системная таблица в схеме пользователя БД
Любая SettingsStorage Хранение настроек хранения, включая параметры аутентификации

Для получения списка пользователей можно выполнить SQL-запрос. Например, для SQL Server это может выглядеть так:

SELECT * FROM _Users WHERE _Deleted = 0

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

Как найти таблицу пользователей, если имя изменено?

В некоторых конфигурациях или при использовании расширений имена таблиц могут быть изменены. Используйте запрос к системным представлениям, например sys.tables в MS SQL, фильтруя по имени, содержащему 'Users'.

Управление доступом через кластер серверов 1С

Отдельный пласт информации о пользователях хранится на уровне кластера серверов 1С:Предприятие. Это так называемые пользователи кластера. Они необходимы для авторизации при подключении к серверу 1С перед открытием конкретной информационной базы. Эти данные не хранятся внутри файла .1CD или в SQL-таблицах конфигурации.

Информация о пользователях кластера хранится в специальном хранилище кластера. В зависимости от настроек, это может быть файловый каталог на сервере (обычно в папке srvinfo) или отдельная база данных в СУБД, выделенная под нужды кластера. В файловом варианте кластера данные лежат в файлах с расширением .1CD внутри папок с именами UUID информационных баз.

Управление этими пользователями осуществляется через консоль администрирования серверов 1С или утилиты командной строки ras. Здесь задаются права на создание, удаление и модификацию информационных баз, а также права на выполнение регламентных заданий. Это уровень инфраструктуры, который стоит выше уровня конкретной конфигурации.

⚠️ Внимание: Удаление пользователя из кластера серверов не удаляет его из списков пользователей внутри информационных баз. И наоборот, удаление пользователя в базе 1С не лишает его прав доступа к серверу, если они заданы на уровне кластера.

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

💡

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

Профили групп доступа и права пользователей

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

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

  • 🔐 Ролевая модель: Права наследуются от ролей, назначенных профилю. Один пользователь может входить в несколько профилей.
  • 📂 Ограничение доступа: Можно настроить доступ к конкретным организациям или складам для каждого пользователя индивидуально.
  • 👁️ Визуальные настройки: В профилях также хранятся настройки интерфейса, которые персонализируют работу конкретного сотрудника.

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

☑️ Аудит прав доступа

Выполнено: 0 / 4

Восстановление и перенос пользователей при миграции

При переносе базы данных с одного сервера на другой или при переходе с файлового варианта на клиент-серверный, вопрос сохранения пользователей стоит особенно остро. В случае выгрузки и загрузки базы через стандартные средства 1С (dt файл), пользователи переносятся автоматически вместе со всеми настройками.

Однако, если происходит миграция на уровне файлов базы данных (копирование папки) или восстановление из резервной копии SQL, могут возникнуть конфликты идентификаторов. Особенно это касается пользователей кластера, чьи UUID могут не совпасть с новой инфраструктурой. В таких случаях требуется ручная перерегистрация пользователей в консоли администрирования.

Если вы переходите с файловой версии на SQL, все пользователи из файла .1CD будут перенесены в таблицы новой базы данных. Но пользователи кластера, если они использовались для входа, должны быть созданы заново на целевом сервере. Рекомендуется заранее подготовить список учетных записей и паролей перед началом миграционных работ.

⚠️ Внимание: Интерфейсы и механизмы аутентификации могут меняться с выходом новых версий платформы 1С. Перед масштабным обновлением всегда сверяйтесь с техническим описанием релиза на сайте фирмы "1С", чтобы убедиться в совместимости механизмов хранения пользователей.

Для автоматизации процесса переноса можно использовать внешние обработки или скрипты на языке 1С, которые выгружают список пользователей в XML, а затем загружают его в новую базу. Это позволяет избежать ручного ввода десятков учетных записей.

Часто задаваемые вопросы (FAQ)

Где физически лежит файл с пользователями в файловой базе 1С?

В файловом варианте отдельные файлы для пользователей не создаются. Вся информация о них хранится внутри основного файла базы данных с расширением .1CD (обычно 1Cv8.1CD), который находится в корневой папке базы. Доступ к этим данным возможен только через платформу 1С в режиме Предприятия или Конфигуратора.

Можно ли узнать пароль пользователя, посмотрев таблицы в SQL?

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

Как удалить пользователя, который уволился, чтобы он не занимал лицензию?

Для освобождения лицензии пользователя необходимо не просто удалить из базы, но и убедиться, что его сеансы завершены. Зайдите в Администрирование → Активные пользователи, завершите сеансы, а затем удалите запись о пользователе в списке пользователей. Если используется кластер, проверьте также права на уровне сервера.

Почему пользователь есть в базе 1С, но не может войти?

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

Влияет ли удаление пользователя из SQL таблицы на работу базы?

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