К статье
Практический материал

Другое · 11 мин

Как в 1С удалить сотрудника из регистра

Как удалить сотрудника из регистра сведений в 1С:ЗУП и 1С:Бухгалтерии: пометка на удаление, ручная очистка записей, обработки, проверка результата и типичные ошибки.

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

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

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

Почему записи сотрудника остаются в регистрах

Регистры в 1С делятся на два типа по способу заполнения. Подчинённые регистратору регистры (накопления, большинство регистров сведений в ЗУП) заполняются движениями документов: «Приём на работу», «Кадровый перевод», «Начисление зарплаты». Пока документ проведён, записи существуют; отмените проведение — записи удалятся автоматически.

Независимые регистры сведений (например, «ФИО физических лиц», «Гражданство физических лиц», «Текущая организация и подразделение сотрудников» в некоторых версиях) хранят записи, которые добавляются напрямую или обработчиками. Их удаление документом не очищает — записи приходится убирать вручную или обработкой.

Третья ситуация — «битые» остатки: документ удалён некорректно (например, через прямое удаление в монопольном режиме), а записи в регистре остались. Такое встречается после обменов, доработок или сбоев. Именно эти остатки чаще всего и требуется вычищать.

Способ 1. Отмена проведения документов-регистраторов

Самый безопасный и правильный путь — убрать записи через документы, которые их создали. Откройте карточку сотрудника и перейдите по ссылке «Документы» (в ЗУП — панель навигации карточки сотрудника). Система покажет все документы, где он фигурирует.

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

Проверить, какой документ создал конкретную запись, можно так: откройте регистр (через «Функции для технического специалиста» или «Все функции → Регистры сведений/накопления»), найдите запись по отбору «Сотрудник» и посмотрите колонку «Регистратор». Клик по ней откроет документ-источник.

Порядок действий через документы
  1. 1
    Сделайте резервную копию информационной базы
  2. 2
    Откройте карточку сотрудника и список его документов
  3. 3
    Отмените проведение или пометьте на удаление ошибочные документы
  4. 4
    Откройте нужный регистр и отфильтруйте записи по сотруднику
  5. 5
    Убедитесь, что записей больше нет или остались только нужные

Способ 2. Ручное удаление записей независимого регистра сведений

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

Установите отбор по полю «Сотрудник» или «Физическое лицо» (кнопка «Ещё → Настроить список» или стандартный отбор). Выделите лишние записи и удалите их клавишей Delete или через контекстное меню. Платформа попросит подтверждение — после него запись исчезает безвозвратно.

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

Способ 3. Обработка «Групповое изменение реквизитов» и внешние обработки

Когда записей много или сотрудник один из сотни ошибочно загруженных, ручная чистка непрактична. В конфигурациях на БСП (ЗУП 3, БП 3, ERP) есть встроенная обработка «Групповое изменение реквизитов» («Администрирование → Обслуживание → Корректировка данных»). Она умеет в том числе помечать на удаление выбранные объекты по отбору.

Для очистки самих регистров чаще применяют внешние обработки: «Универсальный подбор и обработка объектов», «Консоль запросов» с запросом на выборку записей, либо специализированные обработки очистки регистра. Принцип один: отобрать записи регистра по сотруднику и программно удалить набор записей.

Пример логики на встроенном языке для независимого регистра сведений: создаётся набор записей, на измерение «Сотрудник» накладывается отбор, набор записывается пустым — это штатный способ удалить все записи по конкретному значению измерения.

bsl
НаборЗаписей = РегистрыСведений.ИмяРегистра.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Сотрудник.Установить(СсылкаНаСотрудника);
НаборЗаписей.Записать(Истина); // записываем пустой набор = удаляем записи

Способ 4. Полное удаление сотрудника как объекта

Если сотрудник заведён по ошибке и по нему нет проведённых документов, проще удалить сам элемент справочника — тогда пропадёт и источник записей. Пометьте сотрудника на удаление (Delete в списке), затем запустите «Администрирование → Обслуживание → Удаление помеченных объектов».

Монитор удаления покажет все места использования ссылки: документы, регистры, другие справочники. Если ссылка используется в проведённых документах, удалить объект не получится — сначала нужно распровести или удалить эти документы. Это встроенная защита целостности, и обходить её прямыми запросами к базе категорически не рекомендуется.

Отдельный случай — дубли сотрудников. Здесь вместо удаления правильнее использовать обработку «Поиск и удаление дублей» («Администрирование → Обслуживание → Корректировка данных»): она заменит ссылки дубля на правильный элемент во всех регистрах и документах, после чего дубль можно удалить.

Маршрут решения

Как выбрать действие

Есть проведённые документы по сотрудникуОтменяйте проведение документов — записи регистров удалятся автоматически
Записи в независимом регистре сведений без регистратораУдалите записи вручную через «Все функции» или обработкой
Сотрудник-дубль, данные нужно сохранить у правильного элементаИспользуйте «Поиск и удаление дублей», а не прямое удаление
По сотруднику сдана отчётностьНе удаляйте записи — делайте сторнирующие документы или обратитесь к специалисту

Проверка результата и типичные ошибки

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

Для файловой базы после массового удаления имеет смысл запустить «Тестирование и исправление» (chdbfl или конфигуратор) — это ускорит работу и выявит возможные нарушения ссылочной целостности.

Типичные ошибки
01
Удаление записей напрямую в SQL-базе в обход платформы — приводит к рассогласованию таблиц итогов и падению отчётов
02
Удаление документов без отмены проведения через сторонние средства — в регистрах остаются «висячие» записи
03
Очистка регистров без резервной копии — восстановить ошибочно удалённые данные будет нечем
04
Удаление сотрудника вместо объединения дублей — теряется история начислений и кадровых событий
05
Забывают про регистры расчёта: после удаления записей плановых начислений остаются записи фактических расчётов, которые ломают свод
Контрольные точки

Как проверить результат

Отбор по сотруднику в целевом регистре
Норма

Список записей пуст или содержит только нужные записи

Тревожный признак

Записи остались — не все регистраторы отменены или регистр независимый

Расчётный листок сотрудника
Норма

Пустой или с ожидаемыми суммами

Тревожный признак

Появляются начисления — остались проведённые документы расчёта

Удаление помеченных объектов
Норма

Сотрудник удалён без сообщений о местах использования

Тревожный признак

Система показывает ссылки в документах — сначала разберите их

Отчёт «Остатки отпусков» / свод начислений
Норма

По сотруднику нет данных

Тревожный признак

Остатки есть — не очищены регистры накопления

Границы безопасной самостоятельной работы

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

К специалисту по 1С стоит обращаться, когда: записи нужно удалить из регистров расчёта и накопления по закрытым периодам; база клиент-серверная и кто-то предлагает чистить данные прямыми SQL-запросами; расхождения появились после обмена между базами; требуется удалить сотрудника, по которому сдана отчётность в ФНС или СФР. В этих сценариях цена ошибки — искажённая отчётность и штрафы, а не просто «грязный» справочник.

Итог

Что важно запомнить

Записи сотрудника в регистрах — следствие документов или прямых записей. Правильный путь: отменить проведение документов-регистраторов, независимые регистры почистить вручную или обработкой, дублей объединять, а не удалять. Перед любыми массовыми изменениями делайте резервную копию, а после — проверяйте регистры отбором и отчётами.

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

Можно ли удалить сотрудника из регистра, не трогая документы?

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

Почему команда «Все функции» не отображается в меню?

Она отключена в настройках интерфейса. Зайдите в «Сервис → Параметры» и включите флажок «Отображать команду Все функции». Также нужны права: у пользователя без административных прав пункт может оставаться недоступным.

Удалил записи, но сотрудник всё равно виден в отчётах. Что не так?

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

Как удалить сразу всех тестовых сотрудников из базы?

Используйте «Групповое изменение реквизитов» с отбором по нужному условию (например, по подразделению «Тест») и действие «Пометить на удаление», затем «Удаление помеченных объектов». Предварительно распроведите документы этих сотрудников, иначе удаление будет заблокировано ссылками.

Опасно ли удалять записи регистра «ФИО физических лиц»?

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

Нужна ли резервная копия, если я удаляю всего одну запись?

Формально риск минимален, но практика показывает: именно «одна безобидная запись» часто оказывается связанной с чем-то важным. Создание копии файловой базы занимает минуты, а в клиент-серверной — делается средствами СУБД по расписанию. Проверьте, что свежая копия существует, прежде чем удалять что-либо вручную.