Удаление объектов в 1С 8.3: пометка, проверка ссылок и очистка базы
Содержание
Удалить документ или элемент справочника в 1С 8.3 в один клик нельзя — и это сделано специально. Клавиша Delete в списке не стирает объект, а ставит ему пометку на удаление (значок с красным крестиком). Физически запись исчезает только после команды Удаление помеченных объектов, которая сначала проверяет, не ссылается ли на объект что-то ещё.
Ниже — как пометить документ или справочник на удаление, почему это двухшаговая операция, как разобраться с проведёнными документами и что делать, когда программа отказывается удалять со словами «на объект есть ссылки».
Почему удаление в два шага и что такое пометка
В 1С данные связаны между собой. На элемент справочника Контрагенты ссылаются договоры, счета, накладные, платёжки. Если бы такой элемент стирался сразу, во всех этих документах образовались бы «битые ссылки» — поля, которые указывают в пустоту.
Чтобы этого не случилось, удаление разбито на два этапа:
- 🔖 Пометка на удаление — вы помечаете объект как ненужный. Он остаётся в базе, продолжает работать, но программа уже знает, что его планируют удалить.
- 🗑️ Удаление помеченных объектов — отдельная операция, которая проходит по всем помеченным объектам и физически удаляет те, на которые больше никто не ссылается.
Этот механизм называется контроль ссылочной целостности — он не даёт стереть объект, пока на него кто-то «смотрит». Именно поэтому нельзя просто выделить строку и нажать Delete насовсем: сначала пометка, потом проверка, потом удаление.
Есть объекты, которые пометить на удаление не получится вовсе, — предопределённые элементы справочников. Это записи, заложенные в конфигурацию (например, служебные статьи, группы или значения по умолчанию): программа опирается на них в своих алгоритмах и не даёт их удалить. У таких элементов команда пометки будет недоступна или выдаст предупреждение. Это нормально — их и не нужно трогать.
Пометку в любой момент можно снять. Пока объект не удалён физически, операция обратима: выделите его и повторно вызовите команду пометки — крестик пропадёт.
Помеченный объект не прячется из базы автоматически. Он остаётся в списках и справочниках, его по-прежнему можно открыть и даже выбрать в новый документ — поэтому не стоит откладывать второй шаг надолго. В настройках списка можно включить или выключить показ помеченных на удаление строк, если крестики мешают работать.
Как пометить на удаление элемент справочника или документ
Пометить объект можно прямо из списка или из его карточки. Способ одинаков для справочников (Контрагенты, Номенклатура, Физические лица) и для документов (Реализация, Поступление, платёжки).
Из списка:
- Откройте нужный журнал или справочник, например
Продажи → Реализация (акты, накладные). - Выделите одну строку или сразу несколько (с зажатым
CtrlилиShift). - Нажмите
Deleteна клавиатуре либо кнопку с красным крестиком в командной панели списка. - Подтвердите пометку. У строки появится значок перечёркнутого объекта.
Из карточки открытого объекта:
- Откройте документ или элемент справочника двойным кликом.
- В меню
Ещёвыберите команду пометки на удаление. - Закройте карточку — в списке объект уже помечен.
Снять пометку — тем же способом: повторный Delete или та же команда переключают состояние обратно.
Удаление группы (папки) в иерархическом справочнике. Если вы помечаете на удаление целую группу, например папку в справочнике Номенклатура или Контрагенты, 1С предложит пометить и всё её содержимое — вложенные группы и элементы. Снимая пометку с группы, можно так же снять её со всех вложенных объектов. Это удобно, когда нужно убрать целый раздел справочника, но и опасно: проверьте, что внутри нет нужных позиций, на которые ссылаются рабочие документы.
Пометка на удаление у проведённого документа не отменяет его проводки. Движения по счетам и регистрам остаются в базе, пока документ не распроведён или не удалён физически. Поэтому один лишь крестик на документе не меняет отчётность.
Что делать с проведением перед удалением документа
Документ в 1С живёт в одном из состояний, и от него зависит, можно ли документ удалить и что произойдёт с учётом.
Правильный порядок для проведённого документа такой:
- Откройте документ.
- Нажмите
Ещё → Отменить проведение(или кнопку отмены проведения в командной панели). Движения по регистрам и проводки при этом удаляются. - Теперь пометьте документ на удаление.
Отменить проведение можно и группой: выделите несколько документов в списке и в меню Ещё выберите команду отмены проведения для выделенных.
Если нужно просто исправить документ, удалять его необязательно — отмените проведение, внесите изменения и проведите заново. Удаление нужно только тогда, когда документ ошибочный и больше не нужен.
Строго говоря, помеченный на удаление проведённый документ будет распроведён автоматически в момент физического удаления. Но лучше отменить проведение заранее и вручную: так вы сразу видите в отчётах, что суммы ушли, и не удаляете документ «вслепую».
Групповое удаление помеченных объектов из базы
Это тот самый второй шаг, после которого объекты исчезают физически. Команда одна на всю базу и обрабатывает сразу всё, что помечено крестиком.
Путь в типовых конфигурациях (БП 3.0, ЗУП 3.1, УТ 11):
Администрирование → Обслуживание → Удаление помеченных объектов
Если команда в разделе не на виду, откройте полный список команд раздела Администрирование — пункт обслуживания базы там есть. Запустить ту же обработку можно и через главное меню: Главное меню → Все функции → Стандартные → Удаление помеченных объектов. Пункт Все функции включается в настройках программы (Сервис → Параметры, флажок отображения команды «Все функции»).
Как пройти процедуру:
- Запустите
Удаление помеченных объектов. - Выберите режим. Автоматическое — программа сама найдёт и удалит всё помеченное. Выборочное — вы увидите список помеченных объектов и отметите галочками, что именно удалять.
- Нажмите кнопку удаления и дождитесь проверки ссылок.
- Программа покажет результат: что удалено, а что удалить не удалось — и почему.
В выборочном режиме удобнее работать с большой базой: перед удалением видно полный список кандидатов, и можно снять галочки с тех объектов, которые пока трогать не нужно. Автоматический режим быстрее, но не даёт вмешаться — он удалит всё помеченное, что прошло проверку ссылок.
Результат проверки стоит просмотреть до конца, а не закрывать сразу. Объекты, которые не удалились, остаются помеченными — к ним можно вернуться позже, разобравшись со ссылками, и запустить удаление повторно.
Удаление помеченных объектов — тяжёлая и необратимая операция. Перед запуском сделайте резервную копию базы. Отменить удаление после подтверждения нельзя, объект восстановится только из бэкапа. В большой базе процедуру лучше запускать, когда в программе никого нет.
Что делать, если объект не удаляется из-за ссылок
Самый частый исход: часть объектов удалилась, а часть — нет. 1С выводит список «Объекты, которые не удалось удалить» и под каждым — перечень мест, где на него ещё ссылаются. Это не ошибка программы, а работа контроля ссылочной целостности.
Варианты действий:
- 🔗 Перейти по ссылке и разобраться. Дважды кликните на ссылающийся объект в списке — 1С откроет его. Решите, что делать: удалить и его тоже, либо заменить в нём ссылку на другой объект.
- 🧹 Пометить зависимые объекты на удаление и повторить групповое удаление — тогда связанная цепочка уйдёт целиком.
- 🔁 Заменить ссылку. Если удаляемый элемент справочника — дубль, в ссылающихся документах его нужно заменить на правильный элемент, и только после этого дубль удалится.
Для массовой замены ссылок у дублей в типовых конфигурациях есть отдельная обработка поиска и удаления дублей:
Администрирование → Обслуживание → Поиск и удаление дублей
Она находит одинаковые элементы справочника, позволяет выбрать главный, сама переносит все ссылки на него и помечает дубли на удаление. После неё групповое удаление пройдёт чисто.
Пример: в базе два контрагента «ООО Ромашка» с одинаковым ИНН — один завели вручную, второй подтянулся из загрузки банковской выписки. Напрямую дубль не удалится: на него уже ссылается платёжка. Запускаете поиск дублей, отмечаете верную карточку главной — обработка переносит платёжку на неё и помечает лишнюю карточку. Остаётся запустить удаление помеченных объектов.
Ещё → Отменить проведение) — тогда проводки и записи регистров исчезнут, и только потом помечайте на удаление.Удаление через Конфигуратор и монопольный режим
Обычному пользователю Конфигуратор для удаления данных не нужен — всё делается в режиме 1С:Предприятие командой удаления помеченных объектов. Конфигуратор пригодится в двух случаях, и оба — для администратора.
Выгрузка и очистка базы целиком. Если задача не удалить пару документов, а получить пустую базу «с нуля», данные не чистят по одному. Проще создать новую чистую базу из шаблона конфигурации, а старую сохранить как есть. Полностью стирать объекты вручную в рабочей базе — долго и рискованно.
Удаление в монопольном режиме. Групповое удаление помеченных объектов корректно идёт, когда в базе нет других пользователей. Файловую базу для этого проще открыть одному; серверную — убедиться через консоль администрирования, что активных сеансов нет.
Прежде чем выгонять пользователей или включать монопольный доступ, предупредите коллег: активные сеансы будут завершены, несохранённые данные в них потеряются. Делайте это в нерабочее время.
Важно, чего делать не нужно: не пытайтесь удалять записи напрямую через внешние средства работы с файлом базы или SQL. Прямое вмешательство в таблицы ломает ссылочную целостность и итоги регистров — базу после такого придётся восстанавливать из копии. Все штатные удаления в 1С 8.3 идут только через пометку и команду удаления помеченных объектов.