Работа с программой 1С:Зарплата и Управление Персоналом (ЗУП) часто сопровождается накоплением помеченных на удаление объектов — сотрудников, документов, справочников. Эти записи занимают место в базе, замедляют работу системы и могут вызывать ошибки при обновлениях или формировании отчетности. Однако просто поставить пометку на удаление недостаточно: объекты продолжают храниться в базе до физического удаления.
В этой статье разберем все доступные способы окончательного удаления помеченных объектов — от ручных методов для опытных пользователей до автоматизированных инструментов для администраторов. Особое внимание уделим скрытым нюансам, которые не описываются в стандартной документации 1С, но критически важны для безопасности данных. Например, почему нельзя удалять помеченные объекты в рабочее время или как восстановить случайно удаленные записи.
Материал будет полезен бухгалтерам, кадровикам, администраторам 1С и IT-специалистам, обслуживающим базы ЗУП. Все инструкции актуальны для последних версий платформы 1С:Предприятие 8.3 (включая облачные решения) и конфигураций ЗУП 3.1, ЗУП КОРП, Зарплата и Кадры государственного учреждения.
Почему помеченные объекты не удаляются автоматически
Механизм пометки на удаление в 1С — это защита от случайного удаления критически важных данных. Когда вы нажимаете "Пометить на удаление" в карточке сотрудника или документе, система:
- 🔹 Не удаляет запись физически, а лишь ставит метку
ПометкаУдаления = Истинав служебном поле - 🔹 Исключает объект из большинства отчетов и обработок (но не из всех!)
- 🔹 Сохраняет ссылки на объект в связанных документах (например, в начислениях зарплаты)
Автоматическое удаление не происходит по нескольким причинам:
- Целостность данных. Если объект используется в других документах (например, сотрудник указан в ведомостях за прошлые периоды), его физическое удаление нарушит связность базы.
- Возможность восстановления. Пометка позволяет отменить удаление в течение регламентного периода (обычно 30 дней).
- Производительность. Массовое удаление тысяч записей в рабочее время может заблокировать базу для других пользователей.
Перед массовым удалением помеченных объектов всегда делайте резервную копию базы через Администрирование → Резервное копирование. Восстановление из бэкапа — единственный способ вернуть данные при ошибке.
Способы окончательного удаления помеченных объектов
Существует 4 основных метода для физического удаления помеченных записей. Выбор зависит от ваших прав в системе, версии 1С и количества объектов:
| Метод | Требуемые права | Когда использовать | Ограничения |
|---|---|---|---|
| Ручное удаление через интерфейс | Полные права или роль "Администратор" | Единичные объекты (1-10 записей) | Долго для массовых операций |
| Обработка "Удаление помеченных объектов" | Права на администрирование | Массовая очистка (100+ записей) | Может заблокировать базу |
| SQL-запрос (прямое удаление) | Доступ к СУБД (PostgreSQL, MSSQL) | Критические ошибки базы | Риск повреждения данных |
| Регламентное задание | Права на настройку заданий | Автоматическая очистка по расписанию | Не удаляет связанные объекты |
Рассмотрим каждый метод подробно, начиная с самого безопасного.
Метод 1: Ручное удаление через интерфейс 1С
Это самый простой способ, подходящий для удаления единичных объектов (например, ошибочно созданного сотрудника или документа). Инструкция:
- Откройте нужный справочник или журнал документов (например,
Справочники → Сотрудники). - Включите отображение помеченных объектов: нажмите
Ещё → Показать помеченные на удаление. - Выделите нужную запись и нажмите
Ещё → Удалить помеченные(или клавишуDelete). - Подтвердите действие в диалоговом окне.
Для документов путь аналогичный: Зарплата → Все документы по зарплате → фильтр по помеченным → удаление.
Убедиться, что объект не используется в текущих расчетах
Проверить права пользователя (должна быть галочка "Удаление помеченных объектов")
Сделать резервную копию базы
Закрыть все сеансы других пользователей с этим объектом-->
Что делать если кнопка "Удалить помеченные" неактивна?
Если кнопка неактивна, проверьте:
1. Права пользователя — в настройках ролей (Администрирование → Пользователи) должна быть разрешена операция "Удаление помеченных объектов".
2. Блокировки — объект может быть заблокирован другим пользователем (проверьте в Администрирование → Активные пользователи).
3. Связанные данные — если объект используется в неудаленных документах (например, сотрудник есть в текущих начислениях), система заблокирует удаление.
4. Режим работы — в управляемом приложении некоторые операции доступны только в "монопольном" режиме (запуск 1С с ключом /UC).
Метод 2: Массовое удаление через обработку "Удаление помеченных объектов"
Для очистки большого количества записей (например, после миграции данных или тестовых загрузок) используйте стандартную обработку:
- Перейдите в
Администрирование → Поддержка и обслуживание → Удаление помеченных объектов. - В открывшемся окне выберите типы объектов для очистки (например, "Справочник.Сотрудники" или "Документ.ПриемНаРаботу").
- Нажмите
Выполнитьи дождитесь завершения операции.
Обратите внимание на ключевые настройки обработки:
- 🔧 Удалять реквизиты объектов — если включено, очищаются также истории изменений и служебные поля.
- 🔧 Контролировать ссылки — система проверит, не используются ли объекты в других записях.
- 🔧 Режим удаления — "Быстрое" (только пометка) или "Полное" (физическое удаление).
Раз в месяц
Раз в квартал
Только при ошибках
Никогда не очищаю-->
⚠️ Внимание: Обработка может занять несколько часов для больших баз (100 000+ записей). Запускайте ее вне рабочего времени (вечером или в выходные), так как в процессе очистки база блокируется для других пользователей. Прерывание операции (например, закрытие 1С) может привести к повреждению данных.
Метод 3: Прямое удаление через SQL-запросы (для администраторов)
Этот метод рекомендуется только опытным администраторам, так как неправильный запрос может нарушить целостность базы. Используется в крайних случаях, когда:
- 🛑 Стандартные методы не работают из-за ошибок базы.
- 🛑 Нужно удалить объекты, заблокированные системой.
- 🛑 Требуется очистка служебных таблиц (например,
_AccumRgT{ГУИД}для регистров накопления).
Пример запроса для PostgreSQL (удаление помеченных сотрудников):
DELETE FROM "Справочник.Сотрудники"
WHERE "ПометкаУдаления" = TRUE
AND "Ссылка" NOT IN (
SELECT DISTINCT "Сотрудник_Key"
FROM "Документ.НачислениеЗарплаты"
WHERE "ПометкаУдаления" = FALSE
);
Для Microsoft SQL Server синтаксис аналогичен, но имена таблиц могут отличаться (используйте INFORMATION_SCHEMA.TABLES для поиска).
⚠️ Внимание: Перед выполнением SQL-запросов:
- Отключите всех пользователей от базы.
- Сделайте полный бэкап через
pg_dump(PostgreSQL) илиSQL Server Management Studio.- Проверьте запрос на тестовой копии базы.
- Используйте транзакции (
BEGIN; ... COMMIT;), чтобы откатить изменения при ошибке.
SQL-запросы следует использовать ТОЛЬКО если вы понимаете структуру базы данных 1С. Ошибка в запросе может привести к потере критически важных данных, не подлежащих восстановлению.
Метод 4: Автоматическая очистка через регламентные задания
Чтобы не запускать удаление вручную, настройте регламентное задание:
- Перейдите в
Администрирование → Поддержка и обслуживание → Регламентные задания. - Создайте новое задание с типом
УдалениеПомеченныхОбъектов. - Укажите расписание (рекомендуемое время — 2-4 часа ночи в выходные дни).
- В параметрах задания выберите типы объектов для очистки (например, только справочники или только документы старше 6 месяцев).
Преимущества метода:
- ⏰ Автоматизация — не требует ручного контроля.
- 📅 Гибкость — можно настроить очистку только устаревших данных (например, документов старше 3 лет).
- 🔒 Безопасность — задание выполняется в фоновом режиме без блокировки пользователей.
Ограничения:
- ❌ Не удаляет объекты, используемые в текущих периодах (например, сотрудников с активными начислениями).
- ❌ Не очищает служебные таблицы (требуется отдельная обработка для регистров).
Частые ошибки и как их избежать
При удалении помеченных объектов пользователи сталкиваются с типичными проблемами:
| Ошибка | Причина | Решение |
|---|---|---|
| "Объект используется в документе X" | Сотрудник или справочник связан с неудаленными записями | Сначала удалите или перенастройте зависимые документы |
| "Недостаточно прав" | У пользователя нет роли "Администратор" или "Полные права" | Запросите права у администратора или запустите 1С в режиме конфигуратора |
| "База заблокирована" | Другой пользователь работает с теми же данными | Дождитесь завершения сеансов или запустите удаление в монопольном режиме |
| "Ошибка контроля ссылочной целостности" | Повреждение базы или некорректное удаление через SQL | Выполните Тестирование и исправление базы в конфигураторе |
Специфическая ошибка для ЗУП 3.1:
⚠️ Внимание: При удалении помеченных сотрудников в ЗУП 3.1 может возникать ошибка "Не найден план видов расчета для физического лица". Это связано с тем, что система пытается пересчитать регистры накопления для удаляемых записей. Решение:
- Отключите флаг "Пересчитывать регистры" в настройках обработки удаления.
- Или предварительно удалите все начисления по этому сотруднику через
Зарплата → Все начисления.
Как восстановить случайно удаленные данные
Если вы удалили объекты, которые еще нужны, есть 3 способа восстановления:
- Откат через резервную копию:
- 🔄 Восстановите базу из бэкапа (если он сделан до удаления).
- 🔄 Используйте инструменты
1C:RepairилиV8Unpackдля извлечения отдельных объектов.
- 📜 Откройте
Администрирование → Журнал регистрации. - 📜 Найдите событие удаления и посмотрите ID объекта.
- 📜 Используйте обработку "
Восстановление удаленных объектов" (доступна в 1C:ИТС).
- 📝 Если нет бэкапа, создайте новый объект с теми же реквизитами.
- 📝 Для документов используйте механизм "
Копировать из" (доступен в журнале документов).
Важно: Восстановление через журнал регистрации возможно только если:
- 🔹 В настройках 1С включена запись событий удаления (
Администрирование → Настройки журнала регистрации). - 🔹 Прошло не более 30 дней с момента удаления (срок хранения логов по умолчанию).
FAQ: Ответы на частые вопросы
Можно ли удалить помеченные объекты без прав администратора?
Нет, для окончательного удаления требуются права "Администрирование" или роль "Полные права". Однако вы можете:
- 🔹 Просматривать помеченные объекты (если разрешено в настройках ролей).
- 🔹 Ставить пометку на удаление (но не удалять физически).
- 🔹 Обратиться к администратору с запросом на очистку.
Сколько времени занимает массовое удаление 10 000 записей?
Время зависит от:
- 🔹 Конфигурации сервера: на SSD-дисках и с 16+ ГБ ОЗУ — 10-30 минут; на слабых машинах — до 2-3 часов.
- 🔹 Типа объектов: справочники удаляются быстрее, чем документы с регистрами.
- 🔹 Настроек СУБД: в PostgreSQL включите
maintenance_work_mem = 256MBдля ускорения.
Рекомендуем тестировать скорость на тестовой базе перед очисткой рабочей.
Почему после удаления помеченных объектов база не уменьшилась в размере?
Физическое удаление записей не всегда сокращает размер файла базы, потому что:
- 1С использует транзакционный механизм: данные помечаются как свободные, но место не освобождается сразу.
- СУБД резервирует пространство: например, PostgreSQL не уменьшает файлы таблиц автоматически.
- Индексы и служебные таблицы занимают значительный объем.
Чтобы реально уменьшить размер базы:
- 🔹 Выполните
VACUUM FULL(PostgreSQL) илиShrink Database(MSSQL). - 🔹 Используйте обработку "
Сжатие информационной базы" из 1C:ИТС.
Можно ли удалить помеченные объекты в облачной версии 1С?
В 1С:Fresh и других облачных решениях:
- ✅ Доступна стандартная обработка "
Удаление помеченных объектов" (в разделе "Администрирование"). - ❌ Запрещены SQL-запросы и прямое вмешательство в базу.
- ⚠️ Массовые операции могут быть ограничены тарифом (проверьте лимиты в личном кабинете).
Для критичных операций рекомендуем:
- Создать запрос в техническую поддержку 1С с просьбой выполнить очистку.
- Использовать тестовый период облака для проверки последствий удаления.
Как удалить помеченные объекты в ЗУП 2.5 (устаревшая версия)?
В ЗУП 2.5 алгоритм аналогичен, но есть особенности:
- 🔹 Обработка удаления находится в
Сервис → Удаление помеченных объектов. - 🔹 Нет регламентных заданий — очистку придется запускать вручную.
- 🔹 При удалении сотрудников обязательно проверяйте регистр "
СотрудникиОрганизаций", так как в 2.5 он не всегда очищается автоматически.
⚠️ Внимание: ЗУП 2.5 не поддерживается с 2021 года. Для работы с актуальными отчетами (например, по СЗВ-ТД или 6-НДФЛ) рекомендуем обновиться до ЗУП 3.1.