Список пользователей информационной базы 1С: в каких таблицах и файлах он лежит

· 10 мин

Содержание

Пользователи 1С 8.3 хранятся внутри самой информационной базы, в служебной таблице v8users. В файловом варианте эта таблица спрятана в файле 1Cv8.1CD, в клиент-серверном лежит в базе данных SQL Server или PostgreSQL. Права доступа задаются ролями конфигурации, а в типовых решениях к ним добавляется справочник «Пользователи» с группами доступа.

Обычно вопрос «где хранятся пользователи» возникает в неприятный момент: админ ушёл и пароль не оставил, после копирования базы пропали логины или аудитор просит выгрузить список, кто и с какими правами работает. Для каждого случая ответ свой, потому что пользователи в 1С живут сразу на трёх уровнях.

Три уровня, на которых 1С хранит пользователей

Новички часто путают три разных списка. В Конфигураторе пользователь есть, а в программе его нет, или наоборот. Причина в том, что это разные сущности.

УровеньЧто хранитГде лежитГде редактируют
👤 Пользователь информационной базыИмя, пароль (хеш), роли, способ входа, основной интерфейсТаблица v8users внутри базыКонфигуратор: Администрирование → Пользователи
🗂 Элемент справочника «Пользователи»ФИО, физлицо, подразделение, контакты, группы доступаОбычная таблица справочника в базеВ программе: Администрирование → Настройки пользователей и прав → Пользователи
🖥 Администратор кластера или центрального сервераЛогин и пароль для консоли кластераСлужебные файлы в каталоге srvinfo на сервере 1СКонсоль администрирования серверов 1С

Пользователь информационной базы — это сущность платформы. Именно по нему 1С решает, пускать ли человека в программу.

Справочник «Пользователи» — часть типовой конфигурации (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие решения на Библиотеке стандартных подсистем). Каждый элемент связан с пользователем ИБ через уникальный идентификатор. Если связи нет, человек в справочнике есть, а войти он не может.

Администраторы кластера к конкретной базе отношения не имеют. Они управляют сервером: создают базы, смотрят сеансы, меняют настройки рабочих процессов.

Файловая база: пользователи внутри 1Cv8.1CD

В файловом варианте вся база — это один файл 1Cv8.1CD в каталоге информационной базы. Внутри него лежат и данные, и конфигурация, и таблица v8users со списком пользователей.

Отдельного файла со списком логинов нет. Из этого следует несколько практических вещей:

  • 📁 Скопировали каталог базы — скопировали и всех пользователей с их паролями.
  • 🔒 Кто имеет доступ к папке с базой на чтение, тот может унести файл целиком. Пароли там хранятся не открытым текстом, а в виде хеша, но сама база и данные будут у него.
  • 🧩 Утилиты для чтения формата .1CD существуют, однако правка таблицы v8users вне платформы легко ломает базу.

Права на папку с файловой базой — первая линия защиты. Пароли пользователей 1С не спасают, если файл можно просто скопировать на флешку.

Каталог файловой базы виден в окне запуска: выделите базу в списке, путь отображается внизу окна.

Рядом с 1Cv8.1CD лежит каталог 1Cv8Log с журналом регистрации. Там хранится история действий пользователей: кто входил, что записывал. Сам список пользователей в журнале не хранится, только ссылки на них.

Клиент-серверная база: таблица v8users в SQL

В клиент-серверном варианте информационная база — это обычная база данных в СУБД. Пользователи 1С лежат в служебной таблице v8users. Её имя одинаково в Microsoft SQL Server и в PostgreSQL.

Основные поля таблицы:

ПолеЧто содержит
IDИдентификатор пользователя ИБ
NameИмя для входа
DescrПолное имя
OSNameУчётная запись Windows для доменного входа
AdmRoleПризнак роли с административными правами
DataЗакодированный блок: хеш пароля, роли, настройки входа

Посмотреть список пользователей напрямую в SQL Server можно простым запросом в Management Studio:

SELECT Name, Descr, OSName
FROM dbo.v8users
ORDER BY Name;

В PostgreSQL то же самое выполняется в psql или pgAdmin, имя таблицы пишется строчными буквами:

SELECT name, descr, osname
FROM v8users
ORDER BY name;

Только чтение. Поле Data закодировано платформой. Роли и пароль из него обычным SQL не прочитать и не поменять. Ручные UPDATE и DELETE по v8users — прямой путь к базе, в которую не войдёт никто.

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

Где в SQL справочник «Пользователи»

Справочник «Пользователи» в SQL хранится в таблице с техническим именем вида _Reference123. Номер у каждой базы свой. Узнать его можно встроенной функцией ПолучитьСтруктуруХраненияБазыДанных(), например во внешней обработке:

Структура = ПолучитьСтруктуруХраненияБазыДанных();
Для Каждого Строка Из Структура Цикл
    Если Строка.Метаданные = "Справочник.Пользователи" Тогда
        Сообщить(Строка.ИмяТаблицы);
    КонецЕсли;
КонецЦикла;

В результате появятся строки с именами основной таблицы справочника и его табличных частей.

Где хранятся администраторы кластера

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

  • 🪟 Windows: C:\Program Files\1cv8\srvinfo, если при установке не указали другой путь;
  • 🐧 Linux: /home/usr1cv8/.1cv8/1C/1cv8.

Файл 1cv8wsrv.lst в корне srvinfo описывает центральный сервер и его администраторов. Файл 1CV8Clst.lst в подкаталоге reg_1541 — реестр кластера: администраторы кластера, список баз, рабочие серверы. Номер в имени каталога совпадает с портом менеджера кластера.

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

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

Регламентное задание выполняется от имени пользователя информационной базы. Его указывают в свойстве задания. Это тот же пользователь из v8users, со своими ролями.

В типовых конфигурациях список заданий открывается так: Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. В карточке задания видно расписание и пользователя, под которым оно запускается.

Из этого вырастают типичные проблемы:

  • 🔑 Задание привязали к живому сотруднику. Человек уволился, его пользователя отключили, и обмен или загрузка курсов валют молча перестали работать.
  • 🚫 Пользователю задания не хватает ролей. Задание падает с ошибкой «Нарушение прав доступа!», а в журнале регистрации появляется запись с его именем.
  • ⏱ В файловой базе регламентные задания выполняются только при открытом сеансе клиента или через веб-сервер. Ночью, когда все вышли, задания стоят.

Правильная схема — отдельный технический пользователь ИБ, например «Регламент», с нужными ролями и паролем, который знает администратор. Входить под ним в программу людям не нужно.

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

Вход через домен: связь пользователей 1С с Active Directory

1С не хранит список доменных пользователей у себя и не синхронизирует его с Active Directory автоматически. Связь задаётся вручную, для каждого пользователя ИБ отдельно.

Как это настроить:

  1. Откройте карточку пользователя в Конфигураторе или в программе.
  2. Включите флажок «Аутентификация операционной системы».
  3. Укажите учётную запись Windows в формате \\DOMAIN\ivanov.
  4. Сохраните. Учётная запись попадёт в поле OSName таблицы v8users.

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

Что нужно знать про доменный вход:

  • 🏢 Пароли из домена в 1С не копируются. Платформа доверяет проверке, которую уже выполнила Windows.
  • 🔄 Переименование учётки в AD связь не обновляет. Поле OSName придётся поправить вручную.
  • 🌐 В клиент-серверном варианте служба сервера 1С должна работать под доменной учётной записью с правильной настройкой Kerberos. Иначе вход через домен сработает в файловой базе, а на сервере — нет.

Для массовой загрузки сотрудников из домена в типовых конфигурациях готового механизма нет. Обычно пишут внешнюю обработку , которая читает каталог по LDAP и создаёт пользователей ИБ через ПользователиИнформационнойБазы.СоздатьПользователя(). Для веб-клиента платформа поддерживает ещё и вход через OpenID, его настраивают на веб-сервере публикации.

Сводная таблица: режим работы и место хранения

Что ищемФайловая базаКлиент-серверная база
Логины и пароли пользователей ИБТаблица v8users внутри 1Cv8.1CDТаблица v8users в базе СУБД
Справочник «Пользователи», группы доступаТаблицы справочников внутри 1Cv8.1CDТаблицы _Reference… в базе СУБД
Журнал регистрации входовКаталог 1Cv8Log рядом с базойКаталог 1Cv8Log в srvinfo\reg_1541\<ID базы>
Администраторы сервераНе используютсяФайлы 1cv8wsrv.lst и 1CV8Clst.lst в srvinfo
Привязка к доменуПоле OSName в v8usersПоле OSName в v8users
Попадают ли в выгрузку .dtДаДа
Попадают ли в файл конфигурации .cfНетНет

Последние две строки важнее, чем кажутся. Выгрузка Администрирование → Выгрузить информационную базу переносит пользователей вместе с паролями. Значит, база, развёрнутая из чужого .dt, откроется только под логинами исходной базы.

Файл .cf содержит одну конфигурацию. Если загрузить его в новую пустую базу, пользователей там не будет вовсе, и вход откроется без пароля.

Аудит пользователей базы
Выполнено: 0 / 6

Ошибки с пользователями и восстановление доступа

В Конфигураторе пользователь есть, в программе нет

Пользователя создали в Конфигураторе, а в справочнике «Пользователи» он не появился. Типовая конфигурация при входе такого человека может отказать или выдать ему урезанные права, потому что группы доступа не назначены.

Решение: создавайте таких пользователей из программы, а не из Конфигуратора. Если работать человек ещё не начинал, удалите его в Конфигураторе. Затем в программе откройте Администрирование → Настройки пользователей и прав → Пользователи, создайте элемент справочника и на его карточке включите флажок «Вход в программу разрешён». Конфигурация сама создаст пользователя ИБ и свяжет его с карточкой.

В справочнике пользователь есть, войти нельзя

Обратная ситуация. Чаще всего это следствие загрузки базы из .cf или ручного удаления пользователя в Конфигураторе. Элемент справочника остался, а пользователя ИБ уже нет.

На карточке снова включите «Вход в программу разрешён» и задайте пароль. Будет создан новый пользователь ИБ, связанный с карточкой.

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

Если база открывается без запроса пароля, значит, в v8users нет ни одной записи. Платформа в этом случае пускает всех с полными правами. Так бывает после загрузки .cf в пустую базу или при создании базы из шаблона.

Первое действие — создать в Конфигураторе пользователя с ролью «Полные права» и паролем. Потом восстановить остальных: проще всего через справочник «Пользователи», если он сохранился.

Забыли пароль администратора базы

Это самая частая причина искать, где хранятся пользователи. Порядок действий от безопасного к рискованному:

  1. Спросите, нет ли второго пользователя с правами администратора. Он сменит пароль первому за минуту.
  2. Проверьте, не включён ли у администратора вход через домен. Тогда пароль не нужен, достаточно войти в Windows под его учётной записью.
  3. Восстановите копию базы , где пароль известен, или поднимите её рядом и сравните.
  4. Обратитесь к обслуживающей организации. У неё может быть сохранённый пароль или собственная выгрузка.

В сети описаны приёмы с переименованием таблицы v8users в SQL или правкой файла базы. Они не поддерживаются фирмой 1С и при ошибке оставляют базу неработоспособной.

Любые эксперименты со служебными таблицами допустимы только на копии собственной базы и только после полной выгрузки в .dt. На рабочей базе, где сидят пользователи, этого делать нельзя.

Забыли пароль администратора кластера

Без него не открыть консоль серверов 1С. Пароль хранится в файлах srvinfo, и подобрать или прочитать его нельзя.

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

Можно ли узнать пароль пользователя 1С из таблицы v8users?
Нет. Пароль хранится в виде хеша внутри закодированного поля Data. Восстановить исходный пароль из него нельзя, можно только задать новый через Конфигуратор или карточку пользователя.
Сколько пользователей может быть в одной базе 1С?
Технического ограничения на число пользователей ИБ нет. Ограничивают одновременную работу лицензии: каждый сеанс клиента занимает одну лицензию.
Удаляются ли пользователи, если удалить элемент справочника «Пользователи»?
В типовых конфигурациях элемент обычно не удаляют, а помечают как недействительный. При этом вход пользователю запрещается, но история его действий в документах и журнале остаётся привязанной к карточке.
Где хранятся личные настройки пользователя: формы, отчёты, рабочий стол?
В служебных таблицах той же информационной базы, отдельно от v8users. Часть данных кешируется на компьютере пользователя в профиле Windows, в каталоге %APPDATA%\1C\1cv8.
Переносятся ли пользователи при обновлении конфигурации?
Да. Обновление меняет конфигурацию, а таблица v8users и справочник «Пользователи» остаются на месте. Роли, которые удалены в новой версии, у пользователей просто пропадут.