Удаление объектов в 1С 8.3: пометка, проверка ссылок и очистка базы

· 9 мин

Содержание

Удалить документ или элемент справочника в 1С 8.3 в один клик нельзя — и это сделано специально. Клавиша Delete в списке не стирает объект, а ставит ему пометку на удаление (значок с красным крестиком). Физически запись исчезает только после команды Удаление помеченных объектов, которая сначала проверяет, не ссылается ли на объект что-то ещё.

Ниже — как пометить документ или справочник на удаление, почему это двухшаговая операция, как разобраться с проведёнными документами и что делать, когда программа отказывается удалять со словами «на объект есть ссылки».

Почему удаление в два шага и что такое пометка

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

Чтобы этого не случилось, удаление разбито на два этапа:

  • 🔖 Пометка на удаление — вы помечаете объект как ненужный. Он остаётся в базе, продолжает работать, но программа уже знает, что его планируют удалить.
  • 🗑️ Удаление помеченных объектов — отдельная операция, которая проходит по всем помеченным объектам и физически удаляет те, на которые больше никто не ссылается.

Этот механизм называется контроль ссылочной целостности — он не даёт стереть объект, пока на него кто-то «смотрит». Именно поэтому нельзя просто выделить строку и нажать Delete насовсем: сначала пометка, потом проверка, потом удаление.

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

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

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

Как пометить на удаление элемент справочника или документ

Пометить объект можно прямо из списка или из его карточки. Способ одинаков для справочников (Контрагенты, Номенклатура, Физические лица) и для документов (Реализация, Поступление, платёжки).

Из списка:

  1. Откройте нужный журнал или справочник, например Продажи → Реализация (акты, накладные).
  2. Выделите одну строку или сразу несколько (с зажатым Ctrl или Shift).
  3. Нажмите Delete на клавиатуре либо кнопку с красным крестиком в командной панели списка.
  4. Подтвердите пометку. У строки появится значок перечёркнутого объекта.

Из карточки открытого объекта:

  1. Откройте документ или элемент справочника двойным кликом.
  2. В меню Ещё выберите команду пометки на удаление.
  3. Закройте карточку — в списке объект уже помечен.

Снять пометку — тем же способом: повторный Delete или та же команда переключают состояние обратно.

Удаление группы (папки) в иерархическом справочнике. Если вы помечаете на удаление целую группу, например папку в справочнике Номенклатура или Контрагенты, 1С предложит пометить и всё её содержимое — вложенные группы и элементы. Снимая пометку с группы, можно так же снять её со всех вложенных объектов. Это удобно, когда нужно убрать целый раздел справочника, но и опасно: проверьте, что внутри нет нужных позиций, на которые ссылаются рабочие документы.

Пометка на удаление у проведённого документа не отменяет его проводки. Движения по счетам и регистрам остаются в базе, пока документ не распроведён или не удалён физически. Поэтому один лишь крестик на документе не меняет отчётность.

Что делать с проведением перед удалением документа

Документ в 1С живёт в одном из состояний, и от него зависит, можно ли документ удалить и что произойдёт с учётом.

Состояния документа перед удалением

Правильный порядок для проведённого документа такой:

  1. Откройте документ.
  2. Нажмите Ещё → Отменить проведение (или кнопку отмены проведения в командной панели). Движения по регистрам и проводки при этом удаляются.
  3. Теперь пометьте документ на удаление.

Отменить проведение можно и группой: выделите несколько документов в списке и в меню Ещё выберите команду отмены проведения для выделенных.

Если нужно просто исправить документ, удалять его необязательно — отмените проведение, внесите изменения и проведите заново. Удаление нужно только тогда, когда документ ошибочный и больше не нужен.

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

Групповое удаление помеченных объектов из базы

Это тот самый второй шаг, после которого объекты исчезают физически. Команда одна на всю базу и обрабатывает сразу всё, что помечено крестиком.

Путь в типовых конфигурациях (БП 3.0, ЗУП 3.1, УТ 11):

Администрирование → Обслуживание → Удаление помеченных объектов

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

Как пройти процедуру:

  1. Запустите Удаление помеченных объектов.
  2. Выберите режим. Автоматическое — программа сама найдёт и удалит всё помеченное. Выборочное — вы увидите список помеченных объектов и отметите галочками, что именно удалять.
  3. Нажмите кнопку удаления и дождитесь проверки ссылок.
  4. Программа покажет результат: что удалено, а что удалить не удалось — и почему.

В выборочном режиме удобнее работать с большой базой: перед удалением видно полный список кандидатов, и можно снять галочки с тех объектов, которые пока трогать не нужно. Автоматический режим быстрее, но не даёт вмешаться — он удалит всё помеченное, что прошло проверку ссылок.

Результат проверки стоит просмотреть до конца, а не закрывать сразу. Объекты, которые не удалились, остаются помеченными — к ним можно вернуться позже, разобравшись со ссылками, и запустить удаление повторно.

Перед запуском удаления помеченных объектов
Выполнено: 0 / 4

Удаление помеченных объектов — тяжёлая и необратимая операция. Перед запуском сделайте резервную копию базы. Отменить удаление после подтверждения нельзя, объект восстановится только из бэкапа. В большой базе процедуру лучше запускать, когда в программе никого нет.

Что делать, если объект не удаляется из-за ссылок

Самый частый исход: часть объектов удалилась, а часть — нет. 1С выводит список «Объекты, которые не удалось удалить» и под каждым — перечень мест, где на него ещё ссылаются. Это не ошибка программы, а работа контроля ссылочной целостности.

Варианты действий:

  • 🔗 Перейти по ссылке и разобраться. Дважды кликните на ссылающийся объект в списке — 1С откроет его. Решите, что делать: удалить и его тоже, либо заменить в нём ссылку на другой объект.
  • 🧹 Пометить зависимые объекты на удаление и повторить групповое удаление — тогда связанная цепочка уйдёт целиком.
  • 🔁 Заменить ссылку. Если удаляемый элемент справочника — дубль, в ссылающихся документах его нужно заменить на правильный элемент, и только после этого дубль удалится.

Для массовой замены ссылок у дублей в типовых конфигурациях есть отдельная обработка поиска и удаления дублей:

Администрирование → Обслуживание → Поиск и удаление дублей

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

Пример: в базе два контрагента «ООО Ромашка» с одинаковым ИНН — один завели вручную, второй подтянулся из загрузки банковской выписки. Напрямую дубль не удалится: на него уже ссылается платёжка. Запускаете поиск дублей, отмечаете верную карточку главной — обработка переносит платёжку на неё и помечает лишнюю карточку. Остаётся запустить удаление помеченных объектов.

Диагностика: выберите симптом

Удаление через Конфигуратор и монопольный режим

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

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

Удаление в монопольном режиме. Групповое удаление помеченных объектов корректно идёт, когда в базе нет других пользователей. Файловую базу для этого проще открыть одному; серверную — убедиться через консоль администрирования, что активных сеансов нет.

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

Важно, чего делать не нужно: не пытайтесь удалять записи напрямую через внешние средства работы с файлом базы или SQL. Прямое вмешательство в таблицы ломает ссылочную целостность и итоги регистров — базу после такого придётся восстанавливать из копии. Все штатные удаления в 1С 8.3 идут только через пометку и команду удаления помеченных объектов.

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

Чем пометка на удаление отличается от самого удаления?
Пометка только помечает объект крестиком — он остаётся в базе и продолжает работать. Физически запись удаляет отдельная команда «Удаление помеченных объектов», и только если на объект больше никто не ссылается.
Можно ли восстановить объект после удаления помеченных объектов?
Нет. После подтверждения групповое удаление необратимо. Пока стоит только пометка — объект легко вернуть, сняв её. После физического удаления поможет лишь восстановление из резервной копии.
Почему 1С не даёт удалить контрагента или номенклатуру?
На элемент справочника ссылаются документы — договоры, накладные, платёжки. Пока есть хоть одна ссылка, контроль ссылочной целостности блокирует удаление. Нужно перейти по ссылкам и либо заменить объект, либо удалить ссылающиеся документы.
Удалится ли проведённый документ вместе с его проводками?
Да, при физическом удалении движения тоже исчезнут. Но надёжнее сначала вручную отменить проведение, проверить отчёты и только потом помечать документ — так вы контролируете, какие суммы ушли из учёта.
Нужны ли особые права, чтобы удалять помеченные объекты?
Пометить на удаление может обычный пользователь с правами на изменение объекта. А вот групповое удаление помеченных объектов — операция администратора: она затрагивает всю базу, поэтому обычно доступна пользователям с соответствующей ролью.
Почему не получается пометить на удаление некоторые элементы справочника?
Скорее всего, это предопределённые элементы, заложенные в конфигурацию. Программа использует их в своих механизмах и не позволяет удалять — команда пометки для них недоступна. Удалять их не нужно, это штатное поведение.