Удаляем пользователя и его настройки из 1С 8.3 без хвостов в базе

· 9 мин

Содержание

Чтобы удалить профиль пользователя в 1С 8.3, откройте Администрирование → Настройки пользователей и прав → Пользователи, найдите сотрудника и установите флажок «Недействителен» или пометку удаления. Затем удалите локальный кэш на его компьютере: папки базы в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Физически стирать запись из базы стоит только тогда, когда пользователь ни разу не работал в программе.

Типичная ситуация: бухгалтер уволился, а его логин висит в списке входа, и новый сотрудник видит чужие настройки отчётов. Или пользователь жалуется, что 1С «помнит» старые формы после переустановки. В обоих случаях говорят «удалить профиль», но речь о разных вещах — о записи в базе и о файлах на диске.

Что именно называют профилем пользователя в 1С

В 1С:Предприятии 8.3 у одного человека есть несколько «следов». Удалять их нужно по-разному.

ЧтоГде хранитсяКак убрать
Пользователь информационной базы (логин, пароль, роли)Внутри базыКонфигуратор или режим Предприятия
Элемент справочника «Пользователи»Внутри базы, в данныхФлажок «Недействителен» или пометка удаления
Персональные настройки (формы, отчёты, рабочий стол)Внутри базыОчистка настроек
Локальный кэш и список базПапки на компьютере пользователяУдалить папки или запуск с /ClearCache
Профиль групп доступаВнутри базы, справочник профилейТолько свой, не поставляемый

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

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

Чем удаление в файловой базе отличается от серверной

Механика удаления пользователя одинаковая: список пользователей хранится внутри самой информационной базы. Разница в окружении.

🗂 Файловая база. Всё лежит в одном файле 1Cv8.1CD в каталоге базы. Сеансы видно в Конфигураторе и в режиме Предприятия. Кэш — только на клиентских компьютерах.

🖥 Клиент-серверная база . Данные в СУБД (MS SQL, PostgreSQL), сеансы и блокировки — в кластере серверов 1С. Пользователь может оставаться подключённым через фоновый сеанс или «зависший» сеанс, и его видно только в консоли кластера. Кэш есть и на клиентах, и на сервере 1С.

ЗадачаФайловая базаКлиент-сервер
Удалить пользователяРежим Предприятия или КонфигураторТак же
Завершить его сеансАдминистрирование → Обслуживание → активные пользователиКонсоль кластера или rac
Очистить кэшНа клиентеНа клиенте; серверный — только при необходимости
Резервная копия перед массовым удалениемКопия каталога базы или выгрузка .dtБэкап СУБД или .dt

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

Удаление пользователя из режима Предприятия

Это основной и самый безопасный способ для типовых конфигураций.

Шаг 1. Отключите вход

  1. Откройте Администрирование → Настройки пользователей и прав → Пользователи.
  2. Двойным щелчком откройте карточку сотрудника.
  3. Снимите флажок «Вход в программу разрешен».
  4. Нажмите «Записать и закрыть».

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

Шаг 2. Сделайте пользователя недействительным

В той же карточке установите флажок «Недействителен». Пользователь исчезнет из списков выбора и из окна входа, но сохранится в базе для истории.

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

Шаг 3. Пометка удаления (если нужно убрать совсем)

  1. В списке пользователей выделите строку.
  2. Нажмите Del или выберите «Пометить на удаление» в меню «Ещё».
  3. Подтвердите действие.

Помеченный пользователь пока физически остаётся в базе. Окончательно его удаляет обработка Администрирование → Обслуживание → Удаление помеченных объектов.

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

Шаг 4. Очистите его персональные настройки

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

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

Очистка кэша и локальных настроек на компьютере

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

Где лежат локальные данные

ПапкаЧто в ней
%APPDATA%\1C\1cv8\Подпапки с именами-GUID по каждой базе: кэш конфигурации, локальные настройки
%LOCALAPPDATA%\1C\1cv8\Кэш метаданных и форм, тоже по GUID баз
%APPDATA%\1C\1CEStart\ibases.v8iСписок баз в окне запуска

Чтобы открыть папку, вставьте путь в адресную строку Проводника — переменная развернётся в путь текущего пользователя Windows.

Порядок очистки

  1. Закройте все окна 1С на этом компьютере.
  2. Откройте %APPDATA%\1C\1cv8\ и удалите подпапки с длинными именами вида a1b2c3d4-….
  3. То же сделайте в %LOCALAPPDATA%\1C\1cv8\.
  4. Запустите 1С — программа заново скачает конфигурацию из базы. Первый запуск будет дольше обычного.

Удаляйте только папки-GUID. Файлы вроде 1cv8strt.pfl и 1cv8cmn.pfl хранят общие настройки клиента; их удаление сбросит, например, последнюю выбранную базу, но данные не тронет.

💡 Чтобы не искать нужную папку, запустите базу с параметром очистки кэша. В свойствах базы в окне запуска, в поле дополнительных параметров, впишите /ClearCache, войдите один раз и уберите параметр. Или запустите из командной строки:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache

Номер версии в пути подставьте свой.

Убрать базу из списка запуска

Если нужно, чтобы на компьютере уволенного сотрудника база вообще не отображалась, выделите её в окне запуска и нажмите «Удалить». Удалится только строка в ibases.v8i, сама база останется на месте.

Удаление пользователя через Конфигуратор

Конфигуратор нужен в трёх случаях: конфигурация нетиповая и без БСП, в режим Предприятия не попасть, или надо удалить технического пользователя.

  1. Запустите базу в режиме «Конфигуратор» под администратором.
  2. Откройте Администрирование → Пользователи.
  3. Выделите пользователя и нажмите «Удалить» (кнопка с крестиком) или Del.
  4. Подтвердите удаление.

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

В типовой конфигурации на БСП удаление из Конфигуратора убирает только пользователя информационной базы. Элемент справочника «Пользователи» остаётся. После этого в режиме Предприятия у сотрудника не будет входа, а карточка сохранится. Это не авария, но порядок нарушается — потом всё равно придётся сделать его недействительным в Предприятии.

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

Если база работает на сервере 1С

Завершите сеансы пользователя

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

Через консоль «Администрирование серверов 1С Предприятия»:

  1. Разверните кластер → «Информационные базы» → нужная база → «Сеансы».
  2. Найдите сеансы с именем пользователя в колонке «Пользователь».
  3. Правой кнопкой — «Удалить».

Завершение сеанса обрывает работу сотрудника без сохранения. Предупредите его или делайте это вне рабочего времени.

Через утилиту rac (сервер администрирования ras должен быть запущен):

rac cluster list
rac session list --cluster=<uuid-кластера>
rac session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>

Если не уверены в параметрах вашей версии, смотрите справку rac help session.

Серверный кэш

Сервер 1С хранит кэш сеансовых данных в каталоге кластера, обычно в srvinfo\reg_1541\snccntx…. Удалять его ради одного пользователя не нужно. Это делают, только если после удаления сохраняются странные эффекты у всех: «призрачные» сеансы, ошибки при входе.

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

Не трогайте таблицы СУБД

Пользователей и их настройки иногда пытаются удалить SQL-запросом прямо в базе MS SQL или PostgreSQL. Так делать нельзя: структура таблиц служебная, связи не очевидны, а последствия проявятся при следующем обновлении конфигурации.

Массовое удаление и автоматизация

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

Пакетная смена «Недействителен»

В типовых конфигурациях есть обработка Администрирование → Обслуживание → Групповое изменение реквизитов. Выберите вид объектов «Пользователи», отберите нужных, укажите реквизит «Недействителен» = «Да» и выполните изменение. Подписи и группа в разделе «Обслуживание» могут немного отличаться в разных релизах — найдите обработку по названию.

Внешняя обработка для пользователей ИБ

Для нетиповых баз без справочника пользователей подойдёт серверный код во внешней обработке. Запускать — под администратором:

&НаСервере
Процедура УдалитьПоПрефиксуНаСервере(Префикс)
    Список = ПользователиИнформационнойБазы.ПолучитьПользователей();
    Удалено = 0;
    Для Каждого ПользовательИБ Из Список Цикл
        Если СтрНачинаетсяС(ПользовательИБ.Имя, Префикс) Тогда
            ПользовательИБ.Удалить();
            Удалено = Удалено + 1;
        КонецЕсли;
    КонецЦикла;
    Сообщить(СтрШаблон("Удалено пользователей: %1", Удалено));
КонецПроцедуры

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

Скрипт очистки кэша на терминальном сервере

На терминальном сервере у каждого сотрудника свой профиль Windows. Чистить папки руками в двадцати профилях неудобно. Скрипт PowerShell от администратора:

Get-ChildItem "C:\Users" -Directory | ForEach-Object {
    $paths = @("$($_.FullName)\AppData\Roaming\1C\1cv8",
               "$($_.FullName)\AppData\Local\1C\1cv8")
    foreach ($p in $paths) {
        if (Test-Path $p) {
            Get-ChildItem $p -Directory |
                Where-Object { $_.Name -match '^[0-9a-f]{8}-' } |
                Remove-Item -Recurse -Force
        }
    }
}

Он удаляет только папки-GUID и не трогает общие файлы. Запускайте, когда пользователи вышли из 1С: занятые файлы удалить не получится.

Перед удалением сотрудника из 1С
Выполнено: 0 / 6

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

Диагностика: выберите симптом

Частые вопросы

Можно ли восстановить удалённого пользователя 1С?
Если стояла только пометка удаления или флажок «Недействителен» — да, снимите их. Физически удалённого пользователя информационной базы вернуть можно только из резервной копии.
Сохранятся ли документы, которые вводил удалённый сотрудник?
Да. Удаление или отключение пользователя не затрагивает документы и проводки. Если пользователь стал недействительным, в документах он остаётся указанным как автор или ответственный.
Освободится ли лицензия после удаления пользователя?
Лицензия занимается сеансом, а не записью пользователя. Она освобождается, когда сеанс завершён, независимо от того, удалён логин или нет.
Нужно ли удалять пользователя из каждой базы отдельно?
Да. Список пользователей хранится внутри каждой информационной базы. Если сотрудник работал в Бухгалтерии и ЗУП, отключите его в обеих.
Удалятся ли записи журнала регистрации с его именем?
Нет. Журнал регистрации хранит историю отдельно, и записи о действиях пользователя останутся. Для аудита это как раз удобно.