Уволенные, тестовые, дубли: наводим порядок в пользователях 1С 8.3
Содержание
Чтобы очистить список пользователей в 1С 8.3, откройте Администрирование → Настройки пользователей и прав → Пользователи (в УТ 11 — НСИ и администрирование → Настройки пользователей и прав), откройте карточку лишнего сотрудника и установите флажок «Недействителен». Пользователь пропадёт из списка входа и списков выбора, а его документы останутся на месте. Физически удалять запись стоит только для тех, кто не оставил в базе ни одного документа: тестовых, ошибочно созданных, дублей.
Типичная картина: база живёт восемь лет, при входе выпадает список из 60 фамилий, из них работают 12. Половина уволилась, трое — стажёры, ещё пятеро — «Иванов2», «тест», «admin_old». Ниже — как убрать лишнее, не сломав учёт и историю изменений.
Почему пользователя в 1С нельзя просто стереть
В типовой конфигурации пользователь живёт в двух местах сразу:
- 👤 Пользователь информационной базы — учётная запись платформы. Её видно в Конфигураторе, у неё есть имя для входа, пароль, роли.
- 📒 Элемент справочника «Пользователи» — запись конфигурации. На неё ссылаются документы (поля «Ответственный», «Автор»), настройки, группы доступа, задачи.
Эти две записи связаны по внутреннему идентификатору. Если удалить одну и оставить другую, связь рвётся: в справочнике остаётся «пользователь без учётной записи», или в Конфигураторе висит учётка, которой нет в справочнике.
Отсюда главное правило: в типовых конфигурациях управляйте пользователями из режима «Предприятие», а не из Конфигуратора. Подсистема пользователей сама создаёт, меняет и отключает учётную запись платформы синхронно со справочником.
Что выбрать: отключить или удалить
| Действие | Когда подходит | Что будет с историей |
|---|---|---|
| Флажок «Недействителен» | Уволенный сотрудник, работал в базе | Документы и журнал сохраняют автора |
| Снять «Вход в программу разрешен» | Временно закрыть вход, например на время отпуска или проверки | Всё сохраняется, вход можно вернуть |
| Пометка удаления + удаление помеченных | Тестовые записи, дубли без документов | Удаляется только если ссылок нет |
| Удаление в Конфигураторе | Самописная база без справочника «Пользователи» | Справочника нет — рвать нечего |
Прямая правка таблицы v8users | Аварийное восстановление доступа | Только для крайнего случая, см. ниже |
Пометка «Недействителен» не освобождает лицензию сама по себе — лицензия занимается сеансом, а не записью в списке. Зато отключённый пользователь не сможет войти и занять её.
Очистка списка пользователей в режиме «Предприятие»
Это основной способ для Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP. Нужны права администратора.
Шаг 1. Отключаем уволенных
- Откройте
Администрирование → Настройки пользователей и прав → Пользователи. - Откройте карточку сотрудника двойным щелчком.
- Установите флажок «Недействителен».
- Нажмите «Записать и закрыть».
После записи программа сама снимает разрешение на вход. Пользователь исчезает из выпадающего списка при запуске и из списков выбора в документах. В общем списке пользователей он скрыт; чтобы увидеть всех, включите в списке отображение недействительных (команда в меню «Ещё»).
Шаг 2. Убираем тестовые записи и дубли
- В том же списке выделите лишнего пользователя.
- Нажмите
Delили выберите в меню «Ещё» команду пометки на удаление. - Подтвердите пометку.
Пометка ещё ничего не удаляет — запись перечёркнута, но лежит в базе.
Шаг 3. Удаляем помеченные объекты
- Откройте
Администрирование → Обслуживание, группу «Корректировка данных». - Запустите «Удаление помеченных объектов».
- Выберите выборочное удаление и отметьте только пользователей.
- Запустите удаление.
Программа проверит ссылки. Если пользователь где-то упомянут — в документе, задаче, настройке группы доступа — он не удалится, и вы увидите список мест, где он используется. Это нормальная защита: такого пользователя переводите в «Недействителен» и снимаете пометку удаления.
Удаление помеченных в клиент-серверной базе лучше запускать, когда в базе мало пользователей: проверка ссылок нагружает сервер и на большой базе идёт долго.
Шаг 4. Чистим хвосты: настройки и группы доступа
У удалённого или отключённого пользователя остаются персональные настройки: формы, отчёты, рабочий стол. В разделе Администрирование → Настройки пользователей и прав есть пункт «Настройки пользователей» — там выбирают пользователя и очищают его настройки.
Проверьте и группы доступа: откройте каждую группу и уберите из состава недействительных участников. Это не обязательно для безопасности (войти они всё равно не смогут), но так список становится читаемым.
Удаление пользователей в Конфигураторе
Конфигуратор нужен в двух случаях: база самописная и справочника «Пользователи» в ней нет, или нужно убрать учётку, которая есть в платформе, но потерялась в справочнике.
Как удалить пользователя в Конфигураторе
- Запустите базу в режиме «Конфигуратор» под администратором.
- Откройте
Администрирование → Пользователи. - Выделите строку и нажмите
Delили кнопку удаления на панели. - Подтвердите удаление.
Удаление здесь мгновенное и без корзины. Отменить его нельзя — только восстановить базу из копии.
Как убрать пользователя из списка при входе, не удаляя
В свойствах пользователя в Конфигураторе есть флажок «Показывать в списке выбора». Снимите его — пользователь останется в базе, но в выпадающем списке при запуске не появится. Для входа ему придётся набирать имя вручную. Так прячут служебные учётки: для обменов, регламентных заданий, внешних сервисов.
Чего не делать в типовой базе
- ❌ Удалять в Конфигураторе пользователя, у которого есть элемент справочника. Карточка в «Предприятии» останется, но без учётной записи.
- ❌ Удалять всех пользователей разом. Если список в Конфигураторе пуст, база открывается без пароля у любого, кто знает путь к ней.
- ❌ Удалять последнего пользователя с полными правами. Платформа требует, чтобы при непустом списке среди пользователей был хотя бы один администратор, и откажется записать изменения.
Если связь уже порвана, откройте карточку пользователя в «Предприятии»: подсистема пользователей покажет, что учётной записи нет, и предложит создать её заново при установке флажка «Вход в программу разрешен».
Что остаётся в журнале регистрации после удаления
Журнал регистрации хранит имя пользователя в собственном словаре. Поэтому после удаления пользователя его прошлые действия в журнале не пропадают: видно, кто и когда провёл документ или изменил настройку.
Это аргумент за то, чтобы удалять смело только тестовые записи: история по реальным сотрудникам нужна при разборе ошибок и спорных ситуаций.
Как сократить сам журнал
Если цель — не список пользователей, а размер базы и скорость, займитесь журналом:
- В Конфигураторе откройте
Администрирование → Журнал регистрации. - Выберите команду сокращения журнала.
- Укажите дату, до которой удалить события, и при необходимости путь для выгрузки удалённой части в файл.
Там же, в настройке журнала регистрации, задают уровень записи событий. Не ставьте «Не регистрировать» в рабочей базе: потеряете возможность разобраться, кто удалил документ.
Перед сокращением выгрузите старую часть журнала в файл. Он лёгкий, а через год может понадобиться для проверки.
Массовая очистка: обработка и 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';
После этого база открывается без авторизации. Дальше:
- Войдите в Конфигуратор и создайте нового администратора.
- Закройте Конфигуратор.
- Если старые пользователи нужны — верните исходные имена таблицы и записи в
Paramsобратными командами, предварительно удалив созданные платформой новые объекты.
До запуска SQL-скрипта: полная резервная копия базы и выход всех пользователей. Переименование таблицы при открытых сеансах приведёт к ошибкам у работающих людей. Делайте это вечером или в выходной, предупредив коллег.
Для файловой базы этот приём требует сторонних утилит для правки 1Cv8.1CD. Не используйте их на единственном экземпляре базы — только на копии.
Если доступ есть, SQL не нужен вовсе: всё решается в Конфигураторе или в «Предприятии».
Ошибки при удалении пользователей и что с ними делать
Как не копить мусор снова
- 📋 Заведите правило: при увольнении кадровик или руководитель пишет администратору, и в тот же день ставится «Недействителен».
- 🧪 Тестовых пользователей создавайте в копии базы, а не в рабочей.
- 🔁 Раз в квартал проходите по списку и сверяйте его со штатным расписанием.
- 🔐 Служебные учётки называйте понятно («Обмен_УТ», «Регламент») и прячьте из списка выбора.