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

Особенность процедуры зависит от версии платформы (1С:Предприятие 8.3, 8.2 или более ранние), типа базы данных (файловая или клиент-серверная) и даже от конкретной конфигурации (например, Бухгалтерия 3.0, УТ 11 или ЗУП 3.1). Мы рассмотрим универсальные методы, а также нюансы для популярных решений.

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

Когда действительно нужно удалять пользователя?

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

  • 🔐 Блокировка учётной записи — пользователь не сможет войти в систему, но его данные останутся в базе. Подходит для временного отключения (например, при увольнении сотрудника с возможным возвращением).
  • 📝 Переназначение прав — снижение уровня доступа до минимального (например, только просмотр). Актуально, если пользователь перешёл на другую должность.
  • 🔄 Архивация учётной записи — в некоторых конфигурациях (например, ЗУП) есть механизмы архивирования пользователей без физического удаления.

Полное удаление оправдано в следующих случаях:

  • 🗑️ Учётная запись была создана ошибочно (например, дубль или тестовый пользователь).
  • 🚫 Пользователь больше не нужен, и его данные не требуется сохранять для отчётности.
  • 🔧 Необходимо очистить базу от устаревших записей для оптимизации производительности (актуально для крупных баз с тысячами пользователей).
⚠️ Внимание: В конфигурациях, где пользователи привязаны к физическим лицам (например, в 1С:ЗУП), удаление учётной записи может привести к потере связи с кадровыми данными. Перед удалением проверьте, не используется ли пользователь в справочниках Физические лица или Сотрудники.

Способ 1: Удаление через конфигуратор (стандартный метод)

Самый надёжный и рекомендуемый способ — использование встроенного конфигуратора. Он подходит для всех версий 1С:Предприятие 8.x и не требует знания SQL или программирования. Инструкция актуальна для файловой и клиент-серверной баз.

Чтобы удалить пользователя через конфигуратор:

  1. Закройте все сеансы работы с базой (включая фоновые задачи).
  2. Запустите 1С:Предприятие в режиме Конфигуратор (выберите базу, нажмите Конфигуратор в окне запуска).
  3. В меню конфигуратора перейдите в Администрирование → Пользователи.
  4. В списке пользователей найдите нужную учётную запись и нажмите Удалить (или клавишу Delete).
  5. Подтвердите удаление в диалоговом окне.

Если кнопка Удалить неактивна, это означает, что:

  • 🔒 У вас недостаточно прав (нужен доступ на уровне Администратор).
  • 🔄 Пользователь в данный момент активен в системе (нужно завершить его сеанс).
  • 🛑 Учётная запись защищена от удаления (например, встроенный пользователь Администратор).

Закрыть все сеансы работы с базой|Сделать резервную копию базы|Проверить права доступа (нужен статус Администратора)|Убедиться, что пользователь не используется в справочниках|Проверьте, нет ли активных сеансов пользователя-->

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

Способ 2: Удаление через интерфейс 1С (для неопытных пользователей)

Если у вас нет доступа к конфигуратору или вы боитесь ошибиться, можно удалить пользователя прямо из пользовательского режима 1С:Предприятие. Этот метод проще, но работает не во всех конфигурациях (например, в Бухгалтерии 3.0 или УТ 11 он доступен, а в ЗУП 3.1 может быть ограничен).

Порядок действий:

  1. Запустите 1С:Предприятие в режиме 1С:Предприятие (не конфигуратор!).
  2. Перейдите в раздел Администрирование (или Настройки, в зависимости от конфигурации).
  3. Выберите пункт Пользователи или Учётные записи пользователей.
  4. Найдите нужного пользователя в списке, кликните по нему правой кнопкой и выберите Удалить.
  5. Подтвердите действие.

Обратите внимание на нюансы:

  • 🔍 В некоторых конфигурациях вместо удаления доступна только блокировка (например, в 1С:ERP).
  • 📌 Если пользователь привязан к физическому лицу, система может запретить удаление и предложить Отключить доступ.
  • 🔄 После удаления может потребоваться перезапуск сеанса или даже сервера .
⚠️ Внимание: В клиент-серверном варианте работы удаление пользователя через интерфейс 1С:Предприятие может не синхронизироваться с сервером SQL или PostgreSQL. После операции рекомендуется проверить список пользователей через конфигуратор или в базе данных.

Способ 3: Удаление через SQL-запросы (для администраторов)

Этот метод подходит для опытных пользователей, которые имеют доступ к серверу базы данных (Microsoft SQL Server, PostgreSQL или IBM DB2). Он позволяет удалить пользователя полностью, включая все связанные записи, но требует осторожности: ошибка в запросе может повредить базу.

Алгоритм действий:

  1. Создайте резервную копию базы данных.
  2. Подключитесь к серверу базы данных через SQL Server Management Studio, pgAdmin или другой клиент.
  3. Выполните запрос для поиска пользователя. Например, для SQL Server:
    SELECT * FROM [dbo].[_User] WHERE [Description] LIKE'%ИмяПользователя%'
  4. Удалите пользователя запросом (пример для на SQL Server):
    DELETE FROM [dbo].[_User] WHERE [ID] ='УникальныйИдентификатор'
  5. Очистите связанные таблицы (если необходимо). Например, для удаления прав доступа:
    DELETE FROM [dbo].[_UserRoles] WHERE [UserID] ='УникальныйИдентификатор'

Важные замечания:

  • 🔑 Идентификатор пользователя (ID) — это не имя, а внутренний GUID или числовой код. Убедитесь, что удаляете правильную запись.
  • 🔗 В некоторых конфигурациях пользователи хранятся в таблице v8users (для PostgreSQL) или USERS (для IBM DB2).
  • 📊 После удаления может потребоваться переиндексация базы или обновление статистики.
Тип базы данных Таблица с пользователями Пример запроса на удаление
Microsoft SQL Server [dbo].[_User] DELETE FROM [dbo].[_User] WHERE [ID] ='ID'
PostgreSQL v8users DELETE FROM v8users WHERE id ='ID';
IBM DB2 USERS DELETE FROM USERS WHERE USERID ='ID'
Файловая база Нет прямого доступа Используйте конфигуратор или 1Cv8.1CD
⚠️ Внимание: Прямое редактирование базы данных через SQL может нарушить целостность . После таких операций рекомендуется выполнить проверку и исправление базы через конфигуратор (Администрирование → Тестирование и исправление).
📊 Какой метод удаления пользователей в 1С вы используете чаще?
Через конфигуратор
Через интерфейс 1С
SQL-запросы
Не удаляю, только блокирую

Способ 4: Удаление через внешние обработки

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

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

Процедура УдалитьПользователяПоИмени(ИмяПользователя)

Пользователи = Справочники.Пользователи;

Выборка = Пользователи.Выбрать;

Пока Выборка.Следующий Цикл

Если Выборка.Наименование = ИмяПользователя Тогда

Попытка

Выборка.Удалить;

Сообщить("Пользователь" + ИмяПользователя +" удалён");

Исключение

Сообщить("Ошибка при удалении:" + ОписаниеОшибки);

КонецПопытки;

КонецЕсли;

КонецЦикла;

КонецПроцедуры

Как использовать этот код:

  1. Создайте внешнюю обработку в конфигураторе (Файл → Новый → Внешняя обработка).
  2. Вставьте код в модуль обработки.
  3. Сохраните файл с расширением .epf.
  4. Запустите обработку в режиме 1С:Предприятие через Файл → Открыть.

Преимущества метода:

  • 🤖 Автоматизация рутинных операций (например, массовая очистка тестовых пользователей).
  • 📌 Возможность добавить дополнительные проверки (например, не удалять пользователей с активными сеансами).
  • 🔄 Можно интегрировать с другими процессами (например, удалять пользователей при увольнении сотрудника).
НачатьТранзакцию;

// код удаления

ЗафиксироватьТранзакцию;

-->

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

Иногда при попытке удаления возникают ошибки. Рассмотрим типичные причины и способы их решения:

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

Если стандартные методы не помогают, попробуйте:

  1. Удалите пользователя через режим восстановления (запуск с ключом /RestoreIB).
  2. Используйте утилиту chdbfl.exe для файловой базы (осторожно — риск повреждения данных!).
  3. Обратитесь в службу поддержки с логами ошибок.
Как запустить 1С в режиме восстановления?

Для запуска в режиме восстановления используйте команду:

"C:\Program Files\1cv8\8.3.26.1255\bin\1cv8.exe" /RestoreIB"ПутьКБазе"

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

Последствия удаления пользователей: что нужно проверить?

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

  • 🔍 Права доступа: Убедитесь, что удаление не нарушило права других пользователей (например, если удалённый пользователь был владельцем ролей).
  • 📊 Отчёты и документы: Проверьте, не исчезли ли данные из истории изменений или журналов. В некоторых конфигурациях пользователь может быть указан как автор документа.
  • 🔄 Интеграции: Если база синхронизируется с другими системами (например, через 1С:EDT или REST API), убедитесь, что удаление не нарушило обмены.
  • 📈 Производительность: В крупных базах массовое удаление пользователей может фрагментировать таблицы. Выполните переиндексацию.

Для проверки целостности базы:

  1. Запустите тестирование и исправление через конфигуратор (Администрирование → Тестирование и исправление).
  2. Просмотрите журнал регистрации (Администрирование → Журнал регистрации) на наличие ошибок.
  3. Сравните количество пользователей в и на сервере базы данных (для клиент-серверного варианта).
💡

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

FAQ: Частые вопросы по удалению пользователей в 1С

Можно ли восстановить удалённого пользователя?

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

  • Если у вас есть резервная копия базы, восстановите её.
  • Для SQL-баз можно попробовать откатить транзакцию (если удаление было недавно).
  • Создайте нового пользователя с теми же правами и вручную переназначьте ему документы старого пользователя (если это критично).

В файловой базе восстановление практически невозможно без резервной копии.

Почему после удаления пользователя его имя всё равно отображается в журналах?

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

  • Очистить журнал регистрации (Администрирование → Журнал регистрации → Очистить).
  • Выполнить SQL-запрос для удаления записей из таблиц истории (например, _DocLog или _DataHistory).

Обратите внимание: очистка истории может нарушить отчётность и аудит!

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

Если пользователь связан с ролями, сначала переназначьте владельца:

  1. В конфигураторе откройте Администрирование → Роли.
  2. Найдите роли, где удаляемый пользователь указан как владелец.
  3. Измените владельца на другого администратора.
  4. Повторите попытку удаления.

Если роли не используются, их можно удалить вместе с пользователем.

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

Встроенного пользователя Администратор удалить нельзя — это защищённая учётная запись. Однако можно:

  • Отключить его (снять флажок Активен в настройках).
  • Изменить пароль и ограничить права.
  • Создать нового администратора и использовать его вместо стандартного.

Удаление Администратора может привести к потере доступа ко всей базе!

Как удалить пользователей массово?

Для массового удаления подходят:

  • Внешние обработки (см. раздел выше).
  • SQL-запросы с условием WHERE (например, удалить всех пользователей с префиксом Тест_).
  • Специализированные утилиты, такие как 1С:Администратор сервера (для клиент-серверного варианта).

При массовом удалении обязательно:

  • Сделайте резервную копию.
  • Проверьте зависимости (например, через запрос к таблице _UserRoles).
  • Выполняйте операцию в нерабочее время.