Удаление или блокировка пользователя в 1С:Предприятие — ситуация, с которой рано или поздно сталкивается каждый администратор. Причины бывают разные: случайное удаление, увольнение сотрудника с последующим возвращением, сбои при миграции данных или ошибки синхронизации. В отличие от восстановления пароля, возвращение самого пользователя требует более глубоких знаний структуры базы и прав доступа.
В этой статье разберём все рабочие способы восстановления — от простых (через конфигуратор) до сложных (прямые SQL-запросы и работа с резервными копиями). Особое внимание уделим нуансам для файловых и клиент-серверных баз, а также типичным ошибкам, которые допускают даже опытные специалисты. Если вы админ, бухгалтер с правами доступа или разработчик 1С — сохраните эту инструкцию в закладки.
1. Проверка текущего статуса пользователя
Прежде чем восстанавливать, убедитесь, что пользователь действительно удалён, а не просто заблокирован или скрыт. В 1С:Предприятие 8.3 есть три возможных состояния:
- 🟢 Активный — пользователь виден в списке и может входить в систему.
- 🟡 Заблокированный — учётная запись существует, но вход запрещён (часто из-за неверных попыток ввода пароля).
- 🔴 Удалённый — запись отсутствует в списке пользователей, но может сохраняться в метаданных или логах.
Чтобы проверить статус:
- Откройте 1С:Предприятие в режиме
Конфигуратор(запуск с удержаниемShift). - Перейдите в меню
Администрирование → Пользователи. - Просмотрите список. Если пользователя нет — он удалён. Если есть, но с пометкой "Заблокирован" — достаточно снять блокировку.
Если пользователь просто заблокирован, кликните по нему правой кнопкой и выберите Снять блокировку. Для удалённых учётных записей читайте дальше.
2. Восстановление через конфигуратор (для файловых баз)
Самый простой способ — вернуть пользователя из резервной копии конфигурации. Это работает, если:
- 📁 У вас есть бэкап файла
1Cv8.1CD(для файловых баз). - 🕒 Удаление произошло недавно (в идеале — менее суток назад).
- 🔄 В базе не было критичных изменений после удаления.
Пошаговая инструкция:
- Закройте все сеансы работы с базой.
- Скопируйте текущий файл базы (например,
base.1CD) в резервную папку. - Замените его на бэкап, в котором пользователь ещё существовал.
- Откройте базу в режиме
Конфигуратори экспортируйте список пользователей черезАдминистрирование → Пользователи → Выгрузить список(формат.xmlили.txt). - Верните на место актуальный файл базы.
- Импортируйте сохранённый список пользователей через
Администрирование → Пользователи → Загрузить список.
Сделать резервную копию текущей базы|Закрыть все сеансы пользователей|Найти бэкап с нужным пользователем|Проверить целостность бэкапа (открывается ли)|Подготовить место для временных файлов-->
⚠️ Внимание: При таком методе могут потеряться изменения в других объектах конфигурации (справочниках, документах), сделанные после создания бэкапа. Используйте его только если уверены, что критичных данных не было.
3. Ручное добавление пользователя (если нет бэкапа)
Если резервной копии нет, можно создать пользователя заново с теми же правами. Этот метод подходит для 1С:Предприятие 8.2/8.3 и требует знания ролей и прав доступа удалённого сотрудника.
Алгоритм действий:
- Откройте конфигуратор и перейдите в
Администрирование → Пользователи. - Нажмите
Добавитьи введите: - 🆔 Имя — точное название учётной записи (например,
ИвановИван). - 🔐 Полное имя — ФИО сотрудника.
- 📌 Аутентификация — выберите
1С:Предприятие(если пароль хранится в базе) илиОперационная система(если используется доменная авторизация).
Права назначьте роли, которые были у пользователя. Чтобы узнать их, проверьте права других сотрудников с аналогичными обязанностями или обратитесь к документации вашей конфигурации.🔹 Как узнать роли удалённого пользователя?
Если в базе ведётся журнал регистрации, можно посмотреть последние действия пользователя и выявить используемые им объекты. Для этого:
- Откройте
Администрирование → Журнал регистрации. - Отфильтруйте записи по имени пользователя.
- Анализируйте, с какими документами, справочниками и отчётами он работал — это подскажет необходимые роли.
- 📌 Сделайте полный бэкап базы данных.
- 🧪 Проверьте запрос на тестовой копии.
- 🔍 Убедитесь, что хэш пароля соответствует алгоритму шифрования вашей версии 1С (в современных релизах используется
SHA-256).
Если не помните точные роли, назначьте пользователю роль "Полные права" временно, а после первого входа скорректируйте права на основе его реальных задач.
4. Восстановление через SQL-запросы (для клиент-серверных баз)
Для баз на MS SQL Server или PostgreSQL можно вернуть пользователя прямым запросом к таблицам v8users и v8roles. Этот метод требует навыков работы с СУБД и рекомендуется только опытным администраторам.
Пример запроса для MS SQL (восстановление пользователя с именем Petrov):
-- Проверка существования пользователя
SELECT * FROM v8users WHERE name = 'Petrov';
-- Восстановление (если запись есть, но помечена как удалённая)
UPDATE v8users
SET marked = 0, date_delete = NULL
WHERE name = 'Petrov';
-- Если записи нет — создание нового пользователя с минимальными правами
INSERT INTO v8users (name, fullname, auth_type, password_hash)
VALUES ('Petrov', 'Петров Петр Петрович', 1, 'хэш_пароля');
⚠️ Внимание: Неправильные SQL-запросы могут нарушить целостность базы. Перед выполнением:
Для PostgreSQL структура таблиц аналогична, но синтаксис запросов отличается. Например, для проверки пользователя:
SELECT * FROM v8users WHERE name = 'Petrov' AND marked = false;
Как получить хэш пароля для SQL-запроса?
В 1С 8.3 хэш пароля можно сгенерировать через встроенную функцию:
1. Откройте конфигуратор.
2. Перейдите в отладчик (Отладка → Вычислить выражение).
3. Введите:
ХэшированиеДанных.ХэшДанных("ваш_пароль", ТипХэшированияДанных.SHA256)
4. Скопируйте полученное значение в запрос.
5. Использование резервных копий (для клиент-серверных баз)
Если база работает на сервере MS SQL или PostgreSQL, восстановить пользователя можно из бэкапа базы данных. Этот метод надёжнее SQL-запросов, так как гарантирует целостность всех связанных данных (прав, журналов, настроек).
Инструкция для MS SQL Server:
- Откройте SQL Server Management Studio.
- Подключитесь к серверу, где расположена база 1С.
- Кликните правой кнопкой по базе →
Tasks → Restore → Database. - Выберите устройство (файл бэкапа) и укажите параметры восстановления:
- 📁 Source — путь к файлу
.bak. - 🔄 Destination — имя восстанавливаемой базы (можно указать временное, например,
Temp_Restore). - 📅 Point in time — если нужно восстановить состояние на определённую дату.
Для PostgreSQL используйте утилиту pg_restore:
pg_restore -U пользователь_бд -d имя_базы путь_к_бэкапу.dump
⚠️ Внимание: Восстановление из бэкапа перезапишет все изменения, сделанные после его создания. Если база активно используется, этот метод применим только в нерабочее время или на тестовом сервере.
6. Особенности для облачной 1С:Fresh
В 1С:Fresh (облачный сервис) восстановление пользователей имеет ограничения:
- 🔒 Нет доступа к SQL — прямые запросы к базе невозможны.
- 📂 Ограниченные бэкапы — резервные копии создаются автоматически, но их восстановление доступно только через поддержку.
- ⏳ Задержка — обращение в службу поддержки может занять до 24 часов.
Что можно сделать самостоятельно:
- Проверьте
Журнал событийв личном кабинете 1С:Fresh — возможно, пользователь был деактивирован, а не удалён. - Если пользователь удалён, создайте нового с аналогичными правами (как в разделе 3).
- Для восстановления данных обратитесь в поддержку через
Личный кабинет → Техническая поддержка. В запросе укажите: - 🆔 Имя пользователя.
- 📅 Дату удаления (если известна).
- 🔑 Причину восстановления (например, "сотрудник вернулся из отпуска").
📌 Важно: В 1С:Fresh удалённые пользователи хранятся в архиве 30 дней. После этого восстановление невозможно.
7. Типичные ошибки и как их избежать
Даже опытные администраторы допускают ошибки при восстановлении пользователей. Вот самые распространённые:
| Ошибка | Последствия | Как избежать |
|---|---|---|
| Восстановление из старого бэкапа без проверки изменений | Потеря актуальных данных (документов, справочников) | Сравните даты бэкапа и удаления пользователя. Используйте Журнал регистрации для анализа критичных изменений. |
| Неправильное назначение ролей | Пользователь не видит нужные разделы или имеет избыточные права | Проверяйте роли по аналогии с другими сотрудниками или через Журнал регистрации. |
| Использование SQL без бэкапа | Повреждение базы данных, потеря доступа | Всегда делайте резервную копию перед прямыми запросами. Тестируйте их на копии базы. |
| Игнорирование блокировки вместо восстановления | Пользователь не может войти, хотя его учётная запись существует | Проверьте статус пользователя в Администрирование → Пользователи. Снимите блокировку, если она есть. |
🔹 Совет для бухгалтеров: Если восстанавливаете пользователя с правами на финансовые документы, после восстановления проверьте:
- 📊 Периоды блокировки — не появились ли новые ограничения.
- 🔑 Подписи документов — не сбились ли электронные подписи в уже проведённых документах.
- 📈 Отчёты — не изменились ли данные в регулируемых отчётах (например, по НДС).
Частые вопросы (FAQ)
Можно ли восстановить пользователя, если его удалили больше месяца назад?
В файловых базах и клиент-серверных с доступом к SQL — да, если есть резервная копия за этот период. В 1С:Fresh — нет, так как пользователи хранятся в архиве только 30 дней.
Если бэкапов нет, единственный способ — создать пользователя заново и вручную восстановить его права по журналам или документации.
После восстановления пользователь видит не все документы. Что делать?
Это связано с правами доступа к объектам. Проверьте:
- Назначенные пользователю роли в конфигураторе.
- Настройки прав на уровне записей (RLS) — возможно, есть ограничения по подразделениям или периодам.
- Журнал регистрации — какие документы пользователь пытается открыть, и какие ошибки возникают.
Если проблема в RLS, обратитесь к администратору или разработчику конфигурации.
Как восстановить пароль пользователя, если он забыт?
Это другая процедура. В конфигураторе:
- Откройте
Администрирование → Пользователи. - Выберите пользователя и нажмите
Изменить пароль. - Введите новый пароль (минимум 6 символов, с учётом политики безопасности вашей конфигурации).
Если пароль хранится в Active Directory, его нужно сбросить через инструменты Windows Server.
Можно ли восстановить пользователя из другой базы 1С?
Технически да, но это требует ручного переноса данных. Способы:
- 📋 Экспорт/импорт списка пользователей через
.xml(если конфигурации идентичны). - 🔧 Перенос через SQL — если обе базы на одном сервере, можно скопировать записи из таблиц
v8usersиv8roles. - 🛠 Ручное создание — если структуры баз различаются, проще создать пользователя заново.
⚠️ Учтите, что идентификаторы ролей могут отличаться в разных базах, даже если их названия совпадают.
После восстановления пользователя перестали работать отчёты. В чём дело?
Вероятные причины:
- 📊 Права на отчёты — проверьте, есть ли у пользователя роль, дающая доступ к нужным отчётам.
- 🔄 Кэш метаданных — очистите кэш 1С (
Конфигуратор → Администрирование → Очистить кэш). - 🔧 Настройки отчётов — некоторые отчёты привязаны к конкретным пользователям (например, сохранённые варианты). Их нужно перенастроить.
Если проблема остаётся, сравните настройки отчётов у этого пользователя и у других сотрудников с аналогичными правами.
Перед восстановлением пользователя всегда проверяйте, не связаны ли с его учётной записью критичные процессы (например, регламентные задания или интеграции). Их может потребоваться перенастроить.