Уволенные, тестовые, дубли: наводим порядок в пользователях 1С 8.3

· 9 мин

Содержание

Чтобы очистить список пользователей в 1С 8.3, откройте Администрирование → Настройки пользователей и прав → Пользователи (в УТ 11 — НСИ и администрирование → Настройки пользователей и прав), откройте карточку лишнего сотрудника и установите флажок «Недействителен». Пользователь пропадёт из списка входа и списков выбора, а его документы останутся на месте. Физически удалять запись стоит только для тех, кто не оставил в базе ни одного документа: тестовых, ошибочно созданных, дублей.

Типичная картина: база живёт восемь лет, при входе выпадает список из 60 фамилий, из них работают 12. Половина уволилась, трое — стажёры, ещё пятеро — «Иванов2», «тест», «admin_old». Ниже — как убрать лишнее, не сломав учёт и историю изменений.

Почему пользователя в 1С нельзя просто стереть

В типовой конфигурации пользователь живёт в двух местах сразу:

  • 👤 Пользователь информационной базы — учётная запись платформы. Её видно в Конфигураторе, у неё есть имя для входа, пароль, роли.
  • 📒 Элемент справочника «Пользователи» — запись конфигурации. На неё ссылаются документы (поля «Ответственный», «Автор»), настройки, группы доступа, задачи.

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

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

Что выбрать: отключить или удалить

ДействиеКогда подходитЧто будет с историей
Флажок «Недействителен»Уволенный сотрудник, работал в базеДокументы и журнал сохраняют автора
Снять «Вход в программу разрешен»Временно закрыть вход, например на время отпуска или проверкиВсё сохраняется, вход можно вернуть
Пометка удаления + удаление помеченныхТестовые записи, дубли без документовУдаляется только если ссылок нет
Удаление в КонфигуратореСамописная база без справочника «Пользователи»Справочника нет — рвать нечего
Прямая правка таблицы v8usersАварийное восстановление доступаТолько для крайнего случая, см. ниже

Пометка «Недействителен» не освобождает лицензию сама по себе — лицензия занимается сеансом, а не записью в списке. Зато отключённый пользователь не сможет войти и занять её.

Очистка списка пользователей в режиме «Предприятие»

Это основной способ для Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP. Нужны права администратора.

Шаг 1. Отключаем уволенных

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

После записи программа сама снимает разрешение на вход. Пользователь исчезает из выпадающего списка при запуске и из списков выбора в документах. В общем списке пользователей он скрыт; чтобы увидеть всех, включите в списке отображение недействительных (команда в меню «Ещё»).

Шаг 2. Убираем тестовые записи и дубли

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

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

Шаг 3. Удаляем помеченные объекты

  1. Откройте Администрирование → Обслуживание, группу «Корректировка данных».
  2. Запустите «Удаление помеченных объектов».
  3. Выберите выборочное удаление и отметьте только пользователей.
  4. Запустите удаление.

Программа проверит ссылки. Если пользователь где-то упомянут — в документе, задаче, настройке группы доступа — он не удалится, и вы увидите список мест, где он используется. Это нормальная защита: такого пользователя переводите в «Недействителен» и снимаете пометку удаления.

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

Шаг 4. Чистим хвосты: настройки и группы доступа

У удалённого или отключённого пользователя остаются персональные настройки: формы, отчёты, рабочий стол. В разделе Администрирование → Настройки пользователей и прав есть пункт «Настройки пользователей» — там выбирают пользователя и очищают его настройки.

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

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

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

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

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

Удаление здесь мгновенное и без корзины. Отменить его нельзя — только восстановить базу из копии.

Как убрать пользователя из списка при входе, не удаляя

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

Чего не делать в типовой базе

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

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

Что остаётся в журнале регистрации после удаления

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

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

Как сократить сам журнал

Если цель — не список пользователей, а размер базы и скорость, займитесь журналом:

  1. В Конфигураторе откройте Администрирование → Журнал регистрации.
  2. Выберите команду сокращения журнала.
  3. Укажите дату, до которой удалить события, и при необходимости путь для выгрузки удалённой части в файл.

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

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

Массовая очистка: обработка и COM-соединение

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

Пример: удалить всех пользователей платформы, чьё имя начинается на «test».

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

ПолучитьПользователей() возвращает массив-копию, поэтому удаление внутри цикла не сбивает перебор. Запускать код нужно под пользователем с правом администрирования.

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

Для автоматизации есть и пакетный запуск Конфигуратора (1cv8 DESIGNER) и утилита ibcmd, но отдельной команды «удалить пользователя по маске» у них нет. Параметры смотрите в справке к своей версии платформы, а саму очистку делайте кодом выше или вручную.

Таблица v8users: крайняя мера через SQL

Пользователи платформы хранятся в служебной таблице v8users. В клиент-серверной базе это обычная таблица в MS SQL или PostgreSQL, в файловой — таблица внутри файла 1Cv8.1CD.

Прямую правку применяют в одной ситуации: пароль администратора утерян, а войти в базу надо. Фирма 1С такой способ не поддерживает, и выборочно удалять строки из v8users нельзя — платформа хранит дополнительные данные о пользователях, и рассинхрон ломает вход.

Рабочий приём администраторов — не удалять таблицу, а временно переименовать. Пример для MS SQL:

-- 1. Полная резервная копия базы перед любыми действиями
EXEC sp_rename 'v8users', 'v8users_old';
UPDATE Params SET FileName = 'users.usr_old' WHERE FileName = 'users.usr';

После этого база открывается без авторизации. Дальше:

  1. Войдите в Конфигуратор и создайте нового администратора.
  2. Закройте Конфигуратор.
  3. Если старые пользователи нужны — верните исходные имена таблицы и записи в Params обратными командами, предварительно удалив созданные платформой новые объекты.

До запуска SQL-скрипта: полная резервная копия базы и выход всех пользователей. Переименование таблицы при открытых сеансах приведёт к ошибкам у работающих людей. Делайте это вечером или в выходной, предупредив коллег.

Для файловой базы этот приём требует сторонних утилит для правки 1Cv8.1CD. Не используйте их на единственном экземпляре базы — только на копии.

Если доступ есть, SQL не нужен вовсе: всё решается в Конфигураторе или в «Предприятии».

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

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

Как не копить мусор снова

  • 📋 Заведите правило: при увольнении кадровик или руководитель пишет администратору, и в тот же день ставится «Недействителен».
  • 🧪 Тестовых пользователей создавайте в копии базы, а не в рабочей.
  • 🔁 Раз в квартал проходите по списку и сверяйте его со штатным расписанием.
  • 🔐 Служебные учётки называйте понятно («Обмен_УТ», «Регламент») и прячьте из списка выбора.

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

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