В системе 1С:Предприятие механизм пометки объектов на удаление — это не просто функция, а защитный барьер от случайных потерь данных. Когда пользователь нажимает "Удалить" в интерфейсе программы, объект не исчезает физически, а лишь получает статус "помечен на удаление". Это позволяет восстановить информацию при ошибке или передумать об удалении. Однако со временем такие "мусорные" записи накапливаются, замедляют работу базы и усложняют администрирование.
Проблема становится особенно заметной в крупных компаниях, где база 1С эксплуатируется годами. Помеченные объекты занимают место на диске, увеличивают время резервного копирования и могут искажать отчеты, если не настроены правильные фильтры. Но просто нажать "Удалить окончательно" — не всегда безопасно. В этой статье разберем все способы очистки (от ручных до автоматизированных), нюансы для разных конфигураций (1С:Бухгалтерия, 1С:УТ, 1С:ЗУП), а также расскажем, как восстановить данные, если что-то пошло не так.
Важно понимать: процесс удаления помеченных объектов необратим в большинстве случаев. Даже если у вас есть резервная копия, восстановление отдельных записей может занять часы. Поэтому перед любой очисткой рекомендуется:
Проверить актуальность резервной копии базы|Согласовать очистку с бухгалтерией/отделами|Запустить тестовое удаление на копии базы|Составить список критичных объектов (договоры, счета, начисления)
-->
1. Как проверить, какие объекты помечены на удаление
Прежде чем приступать к очистке, нужно понять масштаб проблемы. В 1С есть несколько способов просмотреть помеченные объекты:
Самый простой — использовать стандартный отчет "Помеченные на удаление". Он доступен в большинстве типовых конфигураций через меню Отчеты → Стандартные отчеты → Помеченные на удаление. Отчет показывает:
- 📄 Тип объекта (документ, справочник, регистр и т.д.)
- 📅 Дата пометки (помогает идентифицировать устаревшие записи)
- 👤 Пользователь, который выполнил пометку
- 🔍 Ссылка на объект (для быстрого перехода)
Для более детального анализа можно использовать запрос на языке 1С. Например, чтобы найти все помеченные документы за последний год:
ВЫБРАТЬ
Ссылка КАК Ссылка,
Вид() КАК ВидДокумента,
Дата КАК ДатаДокумента
ИЗ
Документ.ВсеДокументы КАК Документ
ГДЕ
Документ.ПометкаУдаления = ИСТИНА
И Документ.Дата >= НачалоГода(ТекущаяДата())
В конфигурациях с большим количеством справочников (например, 1С:Управление торговлей) полезно проверять иерархические справочники (контрагенты, номенклатура). Помеченный родительский элемент может блокировать удаление дочерних, даже если они не помечены.
В 1С:ЗУП особое внимание уделите помеченным записям в регистрах начислений и удержаний. Их удаление может привести к расхождению в расчетах зарплаты за прошлые периоды.
2. Ручное удаление помеченных объектов
Если помеченных объектов немного (до 100-200 штук), можно удалить их вручную. Этот метод наиболее безопасен, так как вы контролируете каждый шаг. Инструкция:
- Откройте список объектов (например, справочник "Контрагенты" или журнал документов "Реализация товаров").
- Включите отображение помеченных объектов: в панели инструментов нажмите
Ещё → Показать помеченные на удаление. - Выделите нужные записи (можно использовать
ShiftилиCtrlдля множественного выбора). - Нажмите
Удалить помеченные(илиДействия → Удалить помеченныев некоторых конфигурациях). - Подтвердите операцию в диалоговом окне.
В 1С:Бухгалтерии 8.3 для документов есть нюанс: если документ проведен, система сначала предложит отменить проведение, и только потом позволит удалить. Это защита от нарушения последовательности операций.
Для справочников с иерархией (например, "Номенклатура") ручное удаление может быть затруднено. Если родительский элемент помечен на удаление, дочерние элементы удалятся автоматически, но:
⚠️ Внимание: В некоторых конфигурациях (например, 1С:ERP) при удалении группы номенклатуры дочерние элементы могут потерять связь с категориями, даже если не были помечены. Проверьте это на тестовой базе.
3. Массовое удаление через обработки
Когда помеченных объектов тысячи, ручная очистка становится нереальной. В этом случае используют специальные обработки. Их можно найти:
- 📥 В каталоге решений 1С-ИТС (бесплатные и платные варианты)
- 🛠️ В стандартных поставках некоторых конфигураций (например, 1С:УТ 11 имеет встроенную обработку "Удаление помеченных объектов")
- 💻 На форумах Инфостарт или 1С-Клуб Программистов (проверяйте отзывы перед использованием!)
Пример работы с типовой обработкой:
- Откройте обработку через
Файл → Открыть. - Выберите типы объектов для очистки (например, только документы "Поступление товаров").
- Укажите период пометки (чтобы не задеть свежие записи).
- Запустите предварительный просмотр — система покажет, сколько объектов будет удалено.
- Подтвердите операцию.
В 1С:ЗУП для массового удаления часто используют обработку "Удаление помеченных объектов с проверкой связей". Она анализирует, не используются ли помеченные записи в расчетах зарплаты или отчетах.
| Конфигурация | Рекомендуемая обработка | Особенности |
|---|---|---|
| 1С:Бухгалтерия 8.3 | Универсальная обработка "Удаление помеченных" | Не удаляет объекты, связанные с закрытыми периодами |
| 1С:Управление торговлей 11 | Встроенная обработка "Очистка базы" | Работает только с документами и справочниками |
| 1С:Зарплата и Управление Персоналом | "Удаление помеченных с проверкой расчетов" | Блокирует удаление записей, задействованных в расчетах |
Ручным способом|Через стандартные обработки|С помощью сторонних решений|Не удаляю, оставляю как есть
-->
4. Автоматизированная очистка через регламентные задания
Для регулярного поддержания чистоты базы можно настроить регламентное задание. Это актуально для крупных компаний, где помеченные объекты накапливаются ежедневно. Алгоритм настройки:
- Перейдите в
Администрирование → Регламентные задания. - Создайте новое задание с типом "Удаление помеченных объектов".
- Укажите расписание (например, раз в неделю в нерабочее время).
- В параметрах задания выберите:
- 📌 Типы объектов (справочники, документы)
- 📅 Минимальный срок хранения помеченных объектов (например, 30 дней)
- 🔄 Режим удаления (полное или с проверкой связей)
- Сохраните и активируйте задание.
- 📊 Документы, связанные с закрытыми финансовыми периодами
- 👥 Справочники контрагентов с не нулевым сальдо
- 📑 Регистры сдвига, используемые в производственных процессах
_Document123— таблица с документами (номер зависит от конфигурации)_Marked— поле-пометка удаления_Date_Marked— дата пометки- Из резервной копии:
- Восстановите базу на тестовом сервере.
- Экспортируйте нужные объекты через
Администрирование → Выгрузка данных. - Импортируйте их в рабочую базу.
- Через журнал регистрации:
Если включена настройка
Журнал регистрации → Регистрировать изменения данных, можно найти историю изменений объекта и восстановить его состояние на нужную дату. - Специальные утилиты:
Программы вроде 1C:Repair или V8UnDel могут восстанавливать удаленные записи, но их эффективность зависит от степени фрагментации базы.
- 🔄 Тестирование и исправление:
В конфигураторе выберите
Администрирование → Тестирование и исправление. Отметьте опции:- Реиндексация таблиц
- Сжатие таблиц
- Проверка логической целостности
- 🗃️ Выгрузка/загрузка:
Для баз размером до 50 Гб эффективна полная выгрузка в
.dtи обратная загрузка. Это удаляет фрагментацию. - 🛠️ SQL-оптимизация:
Для серверных баз (Microsoft SQL, PostgreSQL) выполните:
DBCC SHRINKDATABASE (DatabaseName, 10) -- Для MS SQLVACUUM FULL ANALYZE; -- Для PostgreSQL
- Сделайте резервную копию.
- В конфигураторе выполните
Администрирование → Выгрузить информационную базу(формат.dt). - Удалите старую базу и загрузите данные обратно.
- Используйте стандартную обработку "Удаление помеченных объектов" (доступна в меню "Все функции").
- Для массовой очистки обратитесь в поддержку 1С:Fresh с запросом на выполнение регламентного задания.
- 🔍 Найдите все ссылки на объект через отчет "Анализ использования объекта" (доступен в 1С:УТ и 1С:ERP).
- 📝 Если связь некритична (например, старый документ в архивном отчете), удалите или перенастройте зависимые объекты.
- 🚫 Если связь важна (например, документ участвует в закрытом периоде), снимите пометку удаления.
- В конфигураторе откройте
Администрирование → Роли. - Выберите роль (например, "Менеджер по продажам").
- В разделе "Права на объекты" снимите флаги:
- 🗑️ "Пометка на удаление"
- 🚫 "Удаление помеченных"
- Сохраните изменения и обновите права пользователей.
В 1С:ERP и 1С:КА 2.4 регламентные задания позволяют гибко настраивать фильтры. Например, можно исключить из автоматической очистки:
⚠️ Внимание: Регламентные задания выполняются в фоне и могут блокировать базу на время работы. Настройте их на ночное время или период минимальной нагрузки. В 1С:УТ 11.4 и новее есть опция "Низкий приоритет", которая уменьшает нагрузку на сервер.
5. Удаление через SQL-запросы (для опытных пользователей)
В некоторых случаях (например, при повреждении базы или массовой пометке объектов) приходится прибегать к прямым SQL-запросам. Этот метод требует знаний структуры базы данных 1С и должен выполняться только администратором после полного резервного копирования.
Пример запроса для удаления помеченных документов в Microsoft SQL Server:
DELETE FROM [dbo].[_Document123]
WHERE [_Marked] = 1
AND [_Date_Marked] < DATEADD(month, -1, GETDATE())
Где:
Для PostgreSQL синтаксис будет другим:
DELETE FROM "_document123"
WHERE "_marked" = true
AND "_date_marked" < (CURRENT_DATE - INTERVAL '1 month')
Опасности прямого SQL-удаления
При прямом удалении через SQL минуются триггеры 1С, что может привести к:
- Разрыву ссылочной целостности (например, останутся "висячие" ссылки в регистрах)
- Нарушению последовательности документов (если удаляются проведенные записи)
- Потере истории изменений в журнале регистрации
Всегда проверяйте целостность базы после таких операций с помощью Тестирование и исправление ИБ в конфигураторе.
В 1С:Предприятие 8.3.20+ появилась возможность использовать внешние источники данных для безопасного SQL-удаления. Это позволяет обойти ограничения стандартных обработок, но требует настройки прав доступа.
6. Восстановление ошибочно удаленных объектов
Если после очистки выяснилось, что были удалены нужные данные, есть несколько способов восстановления:
В 1С:ЗУП для восстановления данных по сотрудникам часто используют отчет "История изменений объектов". Он показывает, какие поля менялись и когда, что помогает восстановить критичную информацию (например, оклады или начисления).
⚠️ Внимание: В базах с включенным режимом управляемого блокирования (например, 1С:ERP 2.5+) восстановление данных может потребовать временного отключения блокировок через конфигуратор. Это рискованно в многопользовательском режиме — согласуйте действие с администратором!
В базах на платформе 8.3.18 и новее при удалении помеченных объектов через обработку создается служебный регистр "_DeletedObjectsLog", где хранится информация об удаленных записях (тип, ссылка, дата). Этот регистр не документирован, но может стать спасением при восстановлении.
7. Оптимизация базы после очистки
После массового удаления помеченных объектов рекомендуется выполнить оптимизацию базы данных. Это уменьшит размер файла 1Cv8.1CD и ускорит работу системы. Способы оптимизации:
В 1С:УТ 11.4.10+ после очистки полезно запустить регламентное задание "Обновление полнотекстового поиска", так как удаленные объекты могли быть проиндексированы.
- Целостность последовательностей документов (номера не должны "проседать")
- Корректность сальдо в регистрах накопления (особенно в 1С:Бухгалтерии)
- Работу отчетов, использующих данные за прошлые периоды
-->
FAQ: Частые вопросы по удалению помеченных объектов
Можно ли удалить помеченные объекты без прав администратора?
В большинстве конфигураций для массового удаления требуются права "Администрирование" или "Полные права". Однако в 1С:Бухгалтерии 8.3 пользователь с ролью "Бухгалтер" может удалять помеченные документы своего подразделения, если это разрешено в настройках ролей.
Для проверки прав перейдите в Администрирование → Пользователи → Настройки прав и найдите раздел "Удаление помеченных объектов".
Почему после удаления помеченных объектов база не уменьшилась в размере?
Файл базы 1Cv8.1CD не сжимается автоматически после удаления. Чтобы уменьшить его размер:
Для серверных баз используйте инструменты сжатия SQL-сервера (например, DBCC SHRINKFILE для MS SQL).
Как удалить помеченные объекты в облачной версии 1С (1С:Fresh)?
В 1С:Fresh прямой доступ к базе ограничен. Для удаления помеченных объектов:
Автоматические SQL-запросы и внешние обработки в облаке запрещены по условиям обслуживания.
Что делать, если при удалении появляется ошибка "Объект используется в..."?
Эта ошибка означает, что помеченный объект связан с другими данными (например, документ используется в отчете или регистре). Решения:
В 1С:ЗУП такая ошибка часто возникает при попытке удалить помеченные записи регистра начислений, которые участвуют в расчете зарплаты. В этом случае требуется перерасчет периода.
Как запретить пользователям помечать объекты на удаление?
Чтобы предотвратить случайную пометку, настройте права ролей:
В 1С:Бухгалтерии можно также настроить ограничение по дате: запретить пометку документов старше определенного периода (например, 1 год).