Администрирование · 13 мин
Как удалить позиции в 1С, помеченные на удаление
Как окончательно удалить помеченные на удаление объекты в 1С: монопольный режим, контроль ссылочной целостности, типовые ошибки и способы обхода блокировок.
Удаление помеченных объектов — стандартная процедура чистки базы 1С: сначала элемент справочника или документ помечается на удаление, а затем специальная обработка проверяет, не используется ли он в других местах, и удаляет его окончательно. Такой двухэтапный механизм защищает базу от потери связанных данных: пока на объект ссылаются документы, регистры или другие справочники, физически удалить его нельзя.
На практике пользователи чаще всего сталкиваются с тремя ситуациями: объект не удаляется из-за ссылок на него, обработка удаления недоступна из-за прав или отсутствия монопольного режима, либо помеченных позиций накопилось так много, что база «раздувается» и тормозит. Все три проблемы решаются штатными средствами без программирования.
Ниже разобраны инструкции для управляемых конфигураций (1С:Бухгалтерия, 1С:Управление торговлей, ERP и другие на базе БСП) и для старых обычных приложений, а также способы разобраться с объектами, которые «не хотят» удаляться.
Что происходит при пометке на удаление и зачем нужен второй этап
Когда вы нажимаете «Пометить на удаление» в списке номенклатуры, контрагентов или документов, объект не исчезает из базы. Ему лишь устанавливается признак «ПометкаУдаления»: он перестаёт участвовать в большинстве отборов и отчётов, но физически записи о нём остаются в таблицах. Это сделано намеренно — данные ещё можно восстановить, просто сняв пометку.
Окончательное удаление выполняет отдельная обработка, которая делает две вещи: проверяет ссылочную целостность (есть ли где-то в базе ссылки на объект) и, если ссылок нет, удаляет запись физически. Если ссылки найдены, объект остаётся в базе, а обработка показывает список мест использования.
Понимание этого механизма важно: «зависшие» помеченные позиции — это не сбой, а следствие того, что где-то в учёте остались документы или записи с этим элементом. Удалять их принудительно, минуя контроль, опасно: в документах появятся «битые» ссылки вида «Объект не найден».
Как удалить помеченные объекты в управляемом приложении (1С:Бухгалтерия, УТ, ERP)
В конфигурациях на базе Библиотеки стандартных подсистем обработка вынесена в раздел администрирования. Путь может немного отличаться в зависимости от конфигурации и версии, но логика одна.
- 1Откройте раздел «Администрирование» → «Обслуживание» (в некоторых конфигурациях — «НСИ и администрирование» → «Поддержка и обслуживание»).
- 2Найдите пункт «Удаление помеченных объектов». Если его нет — проверьте права: нужна роль «Администратор системы» или «Удаление помеченных объектов».
- 3Выберите режим: «Автоматическое удаление всех помеченных объектов» или «Выборочное удаление» — во втором случае отметьте флажками нужные позиции.
- 4Нажмите «Удалить». Программа запросит монопольный режим — завершите работу других пользователей или дождитесь, пока они выйдут.
- 5Дождитесь окончания контроля ссылок. Объекты без ссылок будут удалены; по остальным появится список мест использования.
- 6Разберите список неудалённых объектов: откройте места использования и уберите ссылки, затем повторите удаление.
Выборочный режим удобен, когда нужно почистить конкретный справочник — например, только помеченную номенклатуру, не трогая контрагентов и документы. Автоматический режим быстрее, но сразу обрабатывает всю базу, и разбор списка неудалённых объектов может занять заметное время.
Признак успешного завершения — сообщение о количестве удалённых объектов и пустой (или сокращённый) список неудалённых. Если список неудалённых не уменьшается от запуска к запуску, значит ссылки на объекты никуда не делись — их нужно устранять вручную.
Как удалить помеченные объекты в обычном приложении (1С:УПП, УТ 10.3, БП 2.0)
В старых конфигурациях на обычных формах обработка находится в главном меню: «Операции» → «Удаление помеченных объектов». Интерфейс проще: нажмите «Контроль», дождитесь проверки ссылок, затем «Удалить».
Здесь тоже требуется монопольный доступ. В обычном приложении нет выборочного удаления по видам объектов в типовой обработке — удаляются все помеченные объекты, прошедшие контроль. Если нужно удалить только часть, снимите пометку с тех объектов, которые трогать не нужно, и запустите обработку снова.
В файловых базах обычного приложения удаление большого массива объектов может занимать заметное время и сопровождаться ростом файла базы. После массового удаления имеет смысл выполнить тестирование и исправление с включённым сжатием таблиц — это вернёт дисковое пространство.
Что делать, если объект не удаляется из-за ссылок
Наиболее частая ситуация: обработка показывает объект в списке «не удалено» и перечисляет места использования. Алгоритм действий такой: откройте каждый объект из списка мест использования двойным щелчком и решите, что с ним делать — удалить сам документ, пометить его на удаление, либо заменить в нём ссылку на другой элемент.
Типичные места, где «прячутся» ссылки: непроведённые и помеченные документы (они тоже считаются местами использования), табличные части документов, регистры сведений (например, штрихкоды номенклатуры, цены, курсы валют), договоры и банковские счета контрагентов. Помеченный документ с ссылкой на элемент блокирует удаление точно так же, как и проведённый.
Как поступить со ссылкой на помеченный объект
Для массовой замены ссылок удобна типовая обработка «Поиск и замена дублей» (в разделе «Администрирование» → «Обслуживание» → «Корректировка данных» в новых версиях БСП) или универсальная обработка «Поиск и замена значений» с диска ИТС. Она позволяет заменить один элемент на другой во всех объектах базы за один проход.
Почему обработка требует монопольный режим и что с этим делать
Окончательное удаление — операция, изменяющая структуру данных в таблицах, поэтому платформа требует монопольного доступа к базе. Если в базе работают пользователи или висят фоновые задания, обработка выдаст сообщение об ошибке установки монопольного режима.
Порядок действий в клиент-серверной базе: через консоль кластера или из раздела «Администрирование» → «Обслуживание» → «Активные пользователи» посмотрите сеансы, попросите пользователей выйти и при необходимости завершите сеансы принудительно. Также проверьте блокировку регламентных заданий — включите «Блокировка регламентных заданий» в параметрах информационной базы на время удаления.
В файловой базе достаточно, чтобы из программы вышли все пользователи, включая вас самих во втором сеансе. Проверить отсутствие подключений можно по файлу 1Cv8.1CL в папке базы — если он существует и не удаляется, кто-то ещё подключён.
Как найти все помеченные объекты и оценить объём работы
Перед запуском удаления полезно понять масштаб: сколько помеченных объектов накопилось и в каких разделах. В управляемом приложении помеченные элементы видны прямо в списках, если включить отбор по пометке удаления или вывести соответствующую колонку. Универсальный способ — отчёт «Универсальный отчёт» или консоль запросов с отбором по полю «ПометкаУдаления».
Сам обработчик удаления в режиме «Выборочное удаление» показывает дерево всех помеченных объектов по видам — это и есть готовая картина. Если помеченных документов много, сначала удаляйте их: документы часто содержат ссылки на элементы справочников, и после удаления документов справочники освободятся.
Рабочая последовательность при большой чистке: сначала помеченные документы, затем регистры сведений, потом справочники. Попытка удалить справочники первыми почти всегда упирается в ссылки из ещё не удалённых документов, и работа идёт по второму кругу.
Типичные ошибки и ограничения
Отдельного внимания заслуживает практика «непосредственного удаления» через Shift+Delete или кодом с параметром обхода контроля ссылок. Такой способ существует, но это инструмент разработчика для осознанных случаев (например, чистка технических объектов, где ссылки гарантированно отсутствуют). В прикладной работе им пользоваться не следует.
Ещё одно ограничение: в распределённых базах (РИБ) удаление помеченных объектов корректно выполняется только в главном узле, либо требует особого порядка обмена. В базах с включёнными датами запрета изменения данных старые документы могут быть недоступны для пометки — сначала придётся временно сдвинуть дату запрета.
Проверка результата и профилактика
После завершения обработки убедитесь, что цель достигнута: список неудалённых объектов пуст или содержит только осознанно оставленные позиции (например, элементы из закрытых периодов). Повторно откройте списки справочников с отбором по пометке — помеченных позиций быть не должно.
Как проверить результат удаления
Пустой или содержит только объекты, которые вы сознательно решили оставить
Те же объекты, что и до запуска — ссылки не устранены
Отбор не находит помеченных элементов
Помеченные элементы остались — запустите обработку повторно
Отчёты формируются без ошибок, документы проводятся
Ошибки «Объект не найден» — где-то удалили объект в обход контроля ссылок
После тестирования и исправления со сжатием размер уменьшился
Размер не изменился — сжатие таблиц не выполнялось
Чтобы помеченные объекты не копились месяцами, настройте регламент: в конфигурациях на БСП есть регламентное задание «Удаление помеченных объектов», которое можно запланировать на нерабочее время. Либо введите правило для пользователей — раз в месяц администратор запускает обработку вручную и разбирает остаток.
Что важно запомнить
Окончательное удаление выполняется обработкой «Удаление помеченных объектов» в монопольном режиме и только после контроля ссылок. Объекты со ссылками не удалятся, пока ссылки не убраны или не заменены. Перед массовой чисткой делайте резервную копию, удаляйте сначала документы, потом справочники, а непосредственное удаление в обход контроля используйте только осознанно.
Частые вопросы
Можно ли удалить помеченный объект, не заходя в обработку?
Штатного способа «в один клик» из списка нет: окончательное удаление всегда выполняется через обработку «Удаление помеченных объектов», потому что требуется контроль ссылок и монопольный режим. Разработчик может удалить объект кодом, но это обход типового механизма со всеми рисками.
Почему помеченный документ мешает удалить элемент справочника?
Пометка на удаление не убирает ссылки: документ продолжает хранить ссылку на элемент, и контроль ссылочной целостности это учитывает. Сначала окончательно удалите сам документ (запустив обработку), либо замените в нём ссылку, затем удаляйте элемент справочника.
Что делать, если кнопка «Удаление помеченных объектов» не видна?
Скорее всего, у вашей учётной записи нет нужных прав. Обратитесь к администратору, чтобы он добавил роль, отвечающую за удаление помеченных объектов, либо выполнил операцию под своей учётной записью. В некоторых конфигурациях пункт также скрыт настройкой функциональности раздела «Обслуживание».
Уменьшится ли размер базы после удаления помеченных объектов?
Не сразу. Физическое место в файловой базе освобождается после тестирования и исправления со включённым сжатием таблиц, а в клиент-серверной — после шринка средствами СУБД. Сами по себе записи удаляются, но файлы базы автоматически не сжимаются.
Можно ли восстановить окончательно удалённый объект?
Нет, штатными средствами — нельзя. Восстановление возможно только из резервной копии базы, сделанной до удаления. Именно поэтому перед массовой чисткой копия обязательна, а сомнительные объекты лучше оставить помеченными: они не участвуют в учёте и не мешают работе.
Как удалить помеченные объекты автоматически по расписанию?
В конфигурациях на базе БСП есть регламентное задание «Удаление помеченных объектов». Настройте его расписание на нерабочее время (ночь, выходные), когда база свободна, и убедитесь, что в этот момент не выполняются другие регламентные задания и обмены, которые могут помешать монопольному режиму.