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

В этой статье мы разберём три основных метода удаления пользователей: стандартный (через интерфейс конфигуратора), программный (с использованием встроенного языка) и ручной (прямое редактирование файла 1Cv8.1CD). Особое внимание уделим типичным ошибкам, которые допускают администраторы, и способам их избежать. Если вы работаете с 1С:Бухгалтерией, 1С:ЗУП или 1С:УТ — инструкция подойдёт для любой из этих конфигураций.

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

📊 Как часто вы администрируете пользователей в 1С?
Ежедневно
Раз в неделю
Раз в месяц
Реже
Никогда

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

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

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

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

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

  • 🔒 Пользователь имеет роль Администратор (удалить его можно только после снятия этой роли).
  • 🔄 База заблокирована другим пользователем (проверьте активные сеансы в Администрирование → Активные пользователи).
  • 🛡️ У вас недостаточно прав (вам нужна роль с полными правами на администрирование).

Создать резервную копию базы

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

Убедиться, что пользователь не используется в регламентных заданиях

Снять роль "Администратор" (если есть)

Закрыть все открытые сессии 1С-->

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

⚠️ Внимание: Если вы удаляете пользователя, который был владельцем объектов информационной базы (например, документов или справочников), права доступа к этим объектам могут быть утеряны. Перед удалением переназначьте владельца на другого пользователя через Администрирование → Права доступа.

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

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

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

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

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

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

Если Выборка.Наименование = "ИвановИИ" Тогда

Пользователи.УстановитьОтбор("Ссылка", Выборка.Ссылка);

Пользователи.Удалить(Истина); // Истина - удаление без возможности восстановления

Прервать;

КонецЕсли;

КонецЦикла;

Чтобы выполнить этот скрипт:

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

Для массового удаления можно модифицировать скрипт, добавив отбор по дате последнего входа или роли. Например, чтобы удалить всех пользователей с ролью "Гость":

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Пользователи.Ссылка КАК Ссылка

|ИЗ

| Справочник.Пользователи КАК Пользователи

|ГДЕ

| Пользователи.Роли.Наименование = ""Гость""";

Результат = Запрос.Выполнить();

ВыборкаРезультат = Результат.Выбрать();

Пока ВыборкаРезультат.Следующий() Цикл

Пользователи.УстановитьОтбор("Ссылка", ВыборкаРезультат.Ссылка);

Пользователи.Удалить(Истина);

КонецЦикла;

⚠️ Внимание: При программном удалении не используйте метод Удалить() без параметра "Истина" — это приведёт к помещению пользователя в "корзину", а не к полному удалению. В файловой базе корзина не очищается автоматически, что может вызвать ошибки при синхронизации.
💡

Перед массовым удалением пользователей экспортируйте их список в Excel через Файл → Сохранить как... в таблице пользователей. Это поможет восстановить данные при ошибке.

3. Ручное удаление: редактирование файла 1Cv8.1CD

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

  • 🔧 Конфигуратор не запускается из-за ошибок.
  • 👥 Нужно удалить пользователя с ролью Администратор, которую нельзя снять стандартными средствами.
  • 🗑️ Требуется очистить базу от "мусорных" записей после некорректного удаления.

Файловая база 1С хранит информацию о пользователях в бинарном файле 1Cv8.1CD. Для редактирования потребуется:

  1. Закрыть все сеансы работы с базой.
  2. Сделать резервную копию файла 1Cv8.1CD.
  3. Использовать утилиту 1Cv8DT (входит в комплект поставки 1С) или сторонние инструменты вроде 1CD Editor.

Инструкция для 1CD Editor:

  1. Откройте файл базы в редакторе.
  2. Перейдите в раздел Tables → USERS (или Пользователи в русифицированной версии).
  3. Найдите запись с нужным пользователем (ориентируйтесь по полю NAME).
  4. Удалите строку и сохраните изменения.
Поле в 1CD Значение Описание
REF UniqueID Уникальный идентификатор пользователя (не изменяйте вручную!)
NAME ИвановИИ Имя пользователя для входа в систему
DESCR Иван Иванов Полное имя (отображается в журналах)
PASSHASH #xA1B2C3... Хеш пароля (удалить пользователя можно без его расшифровки)
ROLES [Admin, User] Список ролей (при удалении пользователя очищается автоматически)

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

  1. Запустите конфигуратор.
  2. Выберите Администрирование → Тестирование и исправление.
  3. Отметьте флажки Проверять логическую целостность и Проверять ссылочную целостность.
  4. Нажмите Выполнить.
Что будет если неправильно отредактировать 1Cv8.1CD?

При некорректном изменении файла база может перестать открываться с ошибкой "Файл базы данных повреждён". Восстановить данные в этом случае можно только из резервной копии или с помощью утилиты chdbfl.exe (входит в комплект 1С). Процедура восстановления занимает от 30 минут до нескольких часов в зависимости от размера базы.

4. Особенности удаления администратора

Удаление пользователя с ролью Администратор имеет свои нюансы. Если в базе остаётся хотя бы один администратор, проблем не возникнет. Но если вы пытаетесь удалить последнего администратора, система заблокирует эту операцию.

Чтобы обойти ограничение:

  • 🆔 Сначала создайте нового пользователя и назначьте ему роль Администратор.
  • 🔄 Перезапустите сеанс работы с базой (иногда права применяются только после повторного входа).
  • 🗑️ Удалите старого администратора стандартным способом.

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

  1. Откройте файл 1Cv8.1CD в 1CD Editor.
  2. Найдите таблицу ROLES и удалите запись с ролью Admin для нужного пользователя.
  3. Сохраните файл и запустите базу в режиме конфигуратора.
  4. Теперь пользователя можно удалить стандартным способом.

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

💡

Всегда оставляйте в базе хотя бы одного пользователя с ролью "Администратор". Без него вы не сможете управлять правами и настройками системы.

5. Типичные ошибки и как их избежать

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

Ошибка Последствия Как избежать
Удаление пользователя, под которым запущены регламентные задания Остановка фоновых процессов (например, обмена с банком или расчёта зарплаты) Проверьте активные задания в Администрирование → Регламентные задания
Удаление последнего администратора Потеря доступа к администрированию базы Сначала создайте нового администратора
Использование метода Удалить(Ложь) вместо Удалить(Истина) Пользователь остаётся в "корзине" и занимает место в базе Всегда передавайте параметр Истина для полного удаления
Редактирование 1Cv8.1CD без резервной копии Повреждение базы данных Создавайте backup перед любыми ручными изменениями

Ещё одна распространённая проблема — ошибка "Пользователь используется в системе". Она возникает, если:

  • 📊 Пользователь является владельцем документов или элементов справочников.
  • 🔗 Его идентификатор используется в настройках обмена данными.
  • 📋 Он указан в журналах регистрации как инициатор действий.

Чтобы решить проблему:

  1. Откройте Все функции (в конфигураторе нажмите Ctrl+Shift+F).
  2. Найдите пункт Поиск ссылок на объект.
  3. Укажите удаляемого пользователя и выполните поиск.
  4. Переназначьте все найденные ссылки на другого пользователя или удалите их.
⚠️ Внимание: Если вы работаете с 1С:Зарплата и Управление Персоналом, перед удалением пользователя проверьте, не привязан ли он к физическому лицу в справочнике Сотрудники. В противном случае могут возникнуть ошибки при расчёте зарплаты.

6. Восстановление случайно удалённого пользователя

Если пользователь был удалён по ошибке, его можно восстановить несколькими способами в зависимости от метода удаления:

Способ 1. Восстановление из резервной копии

  • 💾 Восстановите базу из последнего бэкапа (через Конфигуратор → Администрирование → Выгрузить/Загрузить данные).
  • 🔄 Если копия старая, экспортируйте из неё только таблицу пользователей с помощью 1CD Editor.

Способ 2. Создание нового пользователя с теми же правами

Если резервной копии нет, создайте нового пользователя и вручную восстановите его права:

  1. Откройте Администрирование → Пользователи и добавьте нового.
  2. В разделе Права скопируйте настройки из архивных данных или шаблона.
  3. Если пользователь был владельцем объектов, переназначьте владение через Все функции → Поиск и замена владельцев.

Способ 3. Использование журнала регистрации

В журнале регистрации (Администрирование → Журнал регистрации) сохраняются действия пользователей. Хотя восстановить аккаунт оттуда нельзя, вы можете:

  • 📅 Уточнить, какие объекты создавал удалённый пользователь.
  • 🔍 Найти его последнюю активность (полезно для аудита).

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

💡

Регулярное резервное копирование — единственный надёжный способ защититься от потери данных при ошибках администрирования. Настройте автоматический бэкап через Регламентные задания.

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

Можно ли удалить пользователя, который в данный момент работает в базе?

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

После удаления пользователя база перестала открываться. Что делать?

Скорее всего, был повреждён файл 1Cv8.1CD при ручном редактировании. Попробуйте:

  1. Восстановить базу из резервной копии.
  2. Запустить утилиту chdbfl.exe с параметром /F для исправления ошибок.
  3. Обратиться в службу поддержки 1С с логами ошибок (они находятся в каталоге базы, файлы .elf).
Как удалить пользователя, если забыт пароль администратора?

Есть два варианта:

  1. Сбросить пароль администратора через утилиту 1Cv8DT (требует доступа к файлу базы).
  2. Создать нового администратора в ручном режиме:
    1. Откройте 1Cv8.1CD в 1CD Editor.
    2. Добавьте нового пользователя в таблицу USERS.
    3. В таблице ROLES назначьте ему роль Admin.
    4. Сохраните файл и войдите под новым пользователем.

После восстановления доступа удалите старый аккаунт администратора.

Что делать, если при удалении пользователя появляется ошибка "Объект используется"?

Эта ошибка означает, что пользователь привязан к каким-то данным в базе. Чтобы её устранить:

  1. Используйте Поиск ссылок на объект (доступно через Все функции в конфигураторе).
  2. Переназначьте владение объектами на другого пользователя или удалите ненужные ссылки.
  3. Если ссылки критичные (например, в документах), архивируйте их перед удалением.

В 1С:ЗУП часто возникает привязка к справочнику Физические лица — проверьте его в первую очередь.

Можно ли удалить пользователя из 1С:Предприятие 8.2 и 8.3 одинаково?

В целом да, но есть нюансы:

  • В 8.2 нет отдельной роли "Администратор" — вместо неё используется флаг "Полные права".
  • В 8.3 добавлена проверка на последнего администратора, поэтому обойти её сложнее.
  • Структура файла 1Cv8.1CD в 8.3 более сложная, и ручное редактирование требует осторожности.

Для 8.2 актуальны все описанные методы, но при программном удалении используйте синтаксис, соответствующий версии платформы.