Справочник сотрудников в 1С:Зарплата и Управление Персоналом или 1С:Бухгалтерия со временем разрастается до сотен записей, среди которых — давно уволенные люди, дубли или тестовые записи. Их наличие усложняет работу с актуальным штатом, замедляет поиск и увеличивает риск ошибок при формировании отчетности. Однако просто удалить уволенных из списка нельзя: это может нарушить целостность данных по расчетам зарплаты, налогам и кадровой истории.
В этой статье разберем 3 легальных способа очистки справочника — от ручного скрытия до автоматической архивации с сохранением всех связей. Особое внимание уделим нюансам для разных версий 1С:Предприятие 8.3 (включая облачные решения) и последствиям некорректных действий. Если вы администрируете базу самостоятельно или отвечаете за кадровый учет, эти инструкции помогут поддерживать порядок без риска потери критичных данных.
Перед началом работ обязательно создайте резервную копию базы — даже опытные пользователи иногда сталкиваются с неожиданными ошибками при массовых операциях со справочниками. В облачных версиях 1С (например, 1С:Фреш) резервирование выполняется автоматически, но для локальных установок это ваша ответственность.
1. Почему нельзя просто удалить уволенных сотрудников
На первый взгляд, самый логичный способ избавиться от ненужных записей — нажать Удалить в карточке сотрудника. Однако в 1С это запрещено для физических лиц, по которым велись расчеты. Система выдаст ошибку:
⚠️ Внимание: Удаление невозможно, так как объект используется в документах (например, "Начисление зарплаты", "Больничный лист", "Приказ о приеме").
Причины ограничения:
- 📊 Связанные документы: Сотрудник может фигурировать в ведомостях, отчетах в ПФР/ФНС, кадровых приказах. Удаление разорвет эти связи.
- 🔄 История изменений: В 1С:ЗУП ведется журнал кадровых перемещений. Удаление сотрудника сделает его непригодным для аудита.
- 💰 Налоговый учет: Данные по уволенным могут потребоваться для перерасчета НДФЛ, страховых взносов или ответов на запросы госорганов.
Единственный случай, когда удаление разрешено — если сотрудник был создан ошибочно и по нему не проводилось ни одной операции. Во всех остальных ситуациях используйте альтернативные методы, описанные ниже.
Прямое удаление записей из таблиц базы данных (например, через Что будет если удалить сотрудника через SQL?
DELETE FROM HR_Employee) приведет к необратимому повреждению целостности. Система перестанет корректно формировать отчеты, а при проверке через Тестирование и исправление появятся ошибки типа "Не найден объект ссылки". Восстановление возможно только из резервной копии.
2. Способ 1: Пометка на удаление (мягкое удаление)
Это самый безопасный метод, рекомендуемый разработчиками 1С. Сотрудник остается в базе, но скрывается из основных списков и не мешает работе. Чтобы пометить уволенного:
- Откройте справочник
Сотрудники(Кадры → СотрудникиилиЗарплата → Сотрудники). - Найдите нужную запись (используйте фильтр по статусу "Уволен").
- Откройте карточку сотрудника и нажмите
Ещё → Пометить на удаление(или кнопку с корзиной в некоторых версиях). - Подтвердите действие. Запись станет полупрозрачной с крестиком.
Чтобы вернуть сотрудника обратно, используйте команду Ещё → Снять пометку удаления. Для массовой пометки:
- 📋 Выделите несколько записей в списке (с зажатой клавишей
Ctrl). - 🔘 Нажмите правой кнопкой →
Пометить на удаление. - 🔄 Для снятия пометки используйте тот же путь.
Убедиться, что по сотрудникам нет не закрытых документов (например, неоплаченных авансов)
Проверить связь с подчиненными справочниками (например, "Физические лица")
Создать резервную копию базы
Составить список исключений (например, сотрудники с невыплаченными компенсациями)-->
Важный нюанс: Помеченные на удаление сотрудники по-прежнему отображаются в отчетах по истории (например, в "Анализе кадровых данных" или "Своде по зарплате"). Чтобы полностью исключить их из выборок, используйте фильтр по статусу "Действующий".
3. Способ 2: Перенос в архивный справочник
Если в вашей конфигурации предусмотрен справочник Архив сотрудников (или аналогичный), это оптимальный вариант для крупных компаний. Он позволяет:
- 🗃️ Сохранить все данные уволенных без риска потери.
- 🔍 Быстро находить информацию по бывшим сотрудникам при необходимости.
- ⚡ Ускорить работу основного справочника за счет уменьшения количества записей.
Инструкция по переносу:
- Создайте новый справочник (если его нет):
Администрирование → Печатные формы, отчеты и обработки → Справочники → Создать. - Назовите его "Архив сотрудников" и настройте структуру, скопировав поля из основного справочника.
- Используйте обработку
Перенос данных(входит в стандартные поставки 1С:ЗУП) или напишите простой скрипт на встроенном языке:
Процедура ПеренестиВАрхив(Сотрудник)
НовыйАрхивный = Справочники.АрхивСотрудников.СоздатьЭлемент();
НовыйАрхивный.Наименование = Сотрудник.Наименование;
НовыйАрхивный.ТабельныйНомер = Сотрудник.ТабельныйНомер;
НовыйАрхивный.ДатаУволнения = Сотрудник.ДатаУволнения;
// Копирование других реквизитов
НовыйАрхивный.Записать();
Сотрудник.ПометитьНаУдаление();
КонецПроцедуры
Для массового переноса используйте Обработка.ВыполнитьДляВсехУволенных() с фильтром по дате увольнения.
Если в вашей конфигурации нет стандартного архива, можно использовать дополнительные реквизиты в основном справочнике. Создайте флажок "Архивный" и настройте отбор в списке сотрудников по этому полю.
4. Способ 3: Использование обработки "Удаление помеченных объектов"
Этот метод подходит для полного физического удаления помеченных записей, но требует осторожности. В 1С:Предприятие 8.3 есть стандартная обработка:
Администрирование → Обслуживание → Удаление помеченных объектов.
Порядок действий:
- Предварительно пометьте на удаление всех ненужных сотрудников (см. Способ 1).
- Запустите обработку и выберите справочник
Сотрудники. - Нажмите
Выполнить проверку— система покажет, какие объекты будут удалены и есть ли блокирующие связи. - Если проверка прошла успешно, нажмите
Удалить.
⚠️ Внимание: После физического удаления восстановление данных возможно только из резервной копии. Если в будущем потребуется справка 2-НДФЛ за прошлые периоды, информацию придется восстанавливать вручную.
В некоторых конфигурациях (например, 1С:ERP) вместо стандартной обработки используется Регламентное задание "Очистка данных". Настройте его на автоматическое удаление помеченных объектов старше 3–5 лет.
| Метод очистки | Сохранение данных | Влияние на отчетность | Сложность |
|---|---|---|---|
| Пометка на удаление | Да (скрывает, но не удаляет) | Не влияет | Низкая |
| Перенос в архив | Да (полностью) | Не влияет | Средняя |
| Физическое удаление | Нет | Может нарушить историю | Высокая |
| Обработка "Очистка данных" | Частично (зависит от настроек) | Может потребовать донастройки | Высокая |
5. Особенности для облачных версий (1С:Фреш, 1С:Предприятие через браузер)
В облачных решениях 1С функционал очистки справочников ограничен по соображениям безопасности. Вот что можно сделать:
- 🌐 Пометка на удаление: Доступна, но требует прав администратора.
- 🔄 Архивация: Возможна через
Настройки → Архивы, но только для предприятий с тарифом "Профессиональный". - ❌ Физическое удаление: Заблокировано. Для очистки нужно обращаться в поддержку 1С с обоснованным запросом.
Чтобы скрыть уволенных в 1С:Фреш:
- Перейдите в
Кадры → Настройки списка сотрудников. - Добавьте фильтр по полю
Статус = Действующий. - Сохраните настройку как пользовательский вариант отображения.
⚠️ Внимание: В облачных версиях 1С автоматические резервные копии хранятся ограниченное время (обычно 30 дней). Если вы планируете массовую архивацию, предварительно экспортируйте данные вExcelчерезФайл → Выгрузить.
6. Как избежать ошибок при очистке справочника
Даже опытные пользователи 1С иногда сталкиваются с проблемами после удаления сотрудников. Распространенные ошибки и как их предотвратить:
- 🔗 Разорванные связи: Перед удалением проверьте, не используется ли сотрудник в документах типа "Исполнительный лист" или "Договор ГПХ". Используйте отчет
Анализ использования объектов(Отчеты → Стандартные → Анализ использования). - 📅 Некорректные даты: Если дата увольнения не указана, система может считать сотрудника действующим. Проверьте это в отчете
Кадровый учет → Анализ кадровых данных. - 👥 Дубли физических лиц: При переносе в архив убедитесь, что одно физическое лицо не связано с несколькими записями в справочнике сотрудников. Используйте обработку
Поиск дублей.
Для проверки целостности данных после очистки:
- Запустите
Тестирование и исправление(Администрирование → Тестирование и исправление). - Сформируйте отчет
Контроль соотношения данных(разделЗарплата). - Проверьте ключевые отчеты:
Свод по зарплате,Анализ страховых взносов.
Перед любой массовой операцией со справочником сотрудников отключите пользователей от базы. Это предотвратит конфликты блокировок и потерю данных.
7. Автоматизация очистки: скрипты и регламентные задания
Для крупных компаний с высокой текучкой кадров ручная очистка справочника отнимает слишком много времени. Автоматизировать процесс можно с помощью:
- 🤖 Регламентных заданий: Настройте автоматическую пометку на удаление сотрудников, уволенных более года назад. Пример кода для задания:
Процедура ПометитьУволенныхНаУдаление()Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ СотрудникиСрезПоследних
|ГДЕ СотрудникиСрезПоследних.ДатаУволнения < &ДатаГраница";
Запрос.УстановитьПараметр("ДатаГраница", ТекущаяДата() - 365);
Результат = Запрос.Выполнить();
Пока Результат.Следующий() Цикл
Сотрудник = Результат.ПолучитьОбъект();
Сотрудник.ПометитьНаУдаление();
КонецЦикла;
КонецПроцедуры
- 📊 Обработок от партнеров 1С: Например, "Универсальный архиватор" или "Очистка базы данных" (доступны в каталоге 1С-Отчетность).
- 🔧 Дополнительных отчетов: Создайте свой отчет для анализа "зависших" сотрудников (без даты увольнения или с неполными данными).
⚠️ Внимание: Автоматические скрипты могут конфликтовать с обновлениями 1С. После каждого релиза платформы тестируйте их работу на копии базы.
Для настройки регламентного задания:
- Перейдите в
Администрирование → Регламентные задания. - Создайте новое задание типа "Выполнение кода на встроенном языке".
- Укажите расписание (например, ежемесячно в последнюю пятницу).
- Вставьте код процедуры (см. пример выше) и сохраните.
FAQ: Частые вопросы по очистке справочника сотрудников
Можно ли удалить сотрудника, если по нему есть невыплаченная зарплата?
Нет. Сначала необходимо погасить задолженность (выплатить зарплату или списать ее как депонент). Используйте документ Выплата зарплаты или Списание депонента в разделе Зарплата. После этого сотрудника можно будет пометить на удаление.
Как вернуть сотрудника после пометки на удаление?
Откройте справочник Сотрудники, включите отображение помеченных на удаление (кнопка "Показать помеченные" или фильтр по статусу). Найдите нужную запись, откройте ее и выберите Ещё → Снять пометку удаления. Если сотрудник не отображается, проверьте настройки фильтра.
Что делать, если при удалении появляется ошибка "Объект используется в документе"?
Ошибка означает, что сотрудник связан с неудаленными документами. Чтобы найти их:
- Откройте отчет
Анализ использования объектов. - Укажите в параметрах тип объекта "Сотрудники" и выберите нужную запись.
- Система покажет все документы, блокирующие удаление. Их нужно либо удалить, либо переназначить на другого сотрудника.
Как скрыть уволенных сотрудников из списка при выборе в документах?
Настройте динамический список в форме документа:
- Откройте документ (например, "Приказ о приеме").
- Нажмите на поле выбора сотрудника →
Все действия → Изменить форму. - В настройках списка добавьте отбор по полю
Статус = Действующий. - Сохраните изменения.
Альтернатива: используйте обработку Настройка динамических списков из каталога 1С.
Нужно ли архивировать сотрудников, уволенных менее года назад?
Нет, если вы ведете актуальный кадровый учет. Согласно Трудовому кодексу РФ (ст. 84.1), данные об уволенных хранятся 75 лет (для личных дел). Однако в 1С достаточно:
- Пометить сотрудника как уволенного (с указанием даты).
- Скрыть его из основного списка фильтром.
- Архивировать только после истечения срока возможных проверок (обычно 3–5 лет).