Пометка на удаление и очистка базы: как убрать лишние данные в 1С

· 9 мин

Содержание

Чтобы удалить документ или запись в 1С 8.3, недостаточно нажать Del: клавиша только помечает объект на удаление, а физически из базы он исчезает после второго шага — запуска обработки Администрирование → Обслуживание → Удаление помеченных объектов. Многие на этом спотыкаются: помеченный документ остаётся в списке, продолжает участвовать в отчётах, и кажется, что программа «не удаляет».

Так сделано намеренно. 1С связывает объекты ссылками: документ ссылается на контрагента, проводка — на документ, отчёт — на регистр. Если стереть запись мгновенно, в базе появятся «висячие» ссылки и битые суммы. Поэтому удаление в 1С всегда двухэтапное — сначала пометка, потом контролируемая очистка.

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

Как работает удаление: пометка, а потом очистка

Удаление в 1С разведено на два независимых действия.

  • 🏷️ Пометка на удаление — пользователь помечает ненужный объект. Строка в списке получает специальный значок (перечёркнутый кружок), но сам объект остаётся в базе и доступен для правки.
  • 🧹 Удаление помеченных объектов — отдельная регламентная обработка. Она проходит по всем помеченным объектам, проверяет, не ссылается ли на них что-то ещё, и физически удаляет только то, что удалить безопасно.

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

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

Как пометить объект на удаление

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

  1. Откройте нужный список или журнал (например, список Реализация (акты, накладные) или справочник Контрагенты).
  2. Выделите строку. Чтобы пометить несколько объектов разом, выделите их мышью с зажатым Ctrl или Shift.
  3. Нажмите Del либо вызовите правой кнопкой пункт Пометить на удаление / Снять пометку. То же действие есть в командной панели списка: Еще → Пометить на удаление.
  4. Подтвердите пометку в появившемся запросе.

Строки получат значок пометки. Чтобы передумать, выделите объект и повторите действие — пометка снимется.

Пометить на удаление можно прямо из карточки открытого документа или элемента: в правом верхнем углу формы есть команда Еще → Пометить на удаление.

Отдельно стоит прямое удаление — комбинация Shift + Del. Она стирает объект сразу, минуя пометку. Но доступна только пользователям, которым администратор выдал право «Интерактивное удаление» (по умолчанию его нет даже у многих опытных пользователей). И даже прямое удаление не обходит контроль ссылок: если на объект кто-то ссылается, программа откажет с ошибкой. Для повседневной работы прямое удаление лучше не использовать — оно опаснее и не прощает промахов.

Удаление помеченных объектов: автоматический и выборочный режим

Когда ненужное помечено, запускается очистка. Путь в типовых конфигурациях на БП 3.0, ЗУП 3.1 и УТ 11 единый:

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

Обработка предложит два режима.

РежимЧто делаетКогда выбрать
АвтоматическоеУдаляет все помеченные объекты, какие сможетРегулярная чистка базы от накопившегося мусора
ВыборочноеПоказывает список помеченного, вы отмечаете галочками, что удалятьНужно удалить конкретные записи, а остальные пока оставить

Дальше программа выполняет два прохода:

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

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

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

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

Удаление документов: сначала распроведение

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

Если задача — отменить влияние документа на учёт, но сам документ сохранить, не помечайте его на удаление. Используйте Еще → Отменить проведение. Документ останется в списке как непроведённый, а его движения очистятся. Это обратимо: проведёте заново — движения вернутся.

Если документ нужно убрать совсем:

  1. Сначала отмените проведение (Еще → Отменить проведение) — так вы сразу увидите, что без этого документа учёт не разъехался.
  2. Проверьте отчётами, что остатки и суммы корректны.
  3. Пометьте документ на удаление.
  4. Запустите удаление помеченных объектов.

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

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

Если удалить нужно много однотипных документов за период, отфильтруйте список по дате и организации, выделите диапазон через Shift и пометьте всё разом — это быстрее, чем помечать по одному.

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

Элементы справочников (Контрагенты, Номенклатура, Физические лица и другие) удаляются по той же двухшаговой схеме: пометка → очистка. Но у справочников свои ограничения.

  • 📁 Группы. Если пометить группу, вместе с ней на удаление пойдут все вложенные элементы и подгруппы. Проверьте, что внутри нет нужных позиций.
  • 🔒 Предопределённые элементы. Некоторые элементы заданы в конфигурации (например, отдельные статьи или виды, которые программа создаёт сама). Пометить их на удаление обычным способом нельзя — система не позволит, потому что на них опирается типовая логика.
  • 🔗 Активно используемые элементы. Номенклатуру, по которой есть движения и остатки, удалить не получится, пока существуют ссылающиеся документы. Это нормальная защита.

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

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

Почему 1С запрещает удаление объекта

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

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

Главное правило: никогда не удаляйте объект «в обход» через внешние средства, если штатная очистка его не пускает. Контроль ссылок защищает учёт, а не мешает вам. Разберитесь, что именно ссылается на объект, — и удаление пройдёт чисто.

Технические нюансы: права, монопольный режим и сервер

Несколько моментов, о которых стоит знать администратору.

Права пользователей. Пометка на удаление входит в обычные права. Запуск обработки «Удаление помеченных объектов» и право «Интерактивное удаление» (для Shift+Del) выдаются ограниченно — как правило, роли с полным доступом. Это сделано, чтобы рядовой сотрудник не стёр данные случайно.

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

Большие базы. На объёмных базах проверка ссылок — тяжёлая операция: она сканирует связи по множеству таблиц. Запускайте очистку в нерабочее время и не помечайте за раз десятки тысяч объектов — лучше чистить порциями. Перед крупной чисткой обязательно сделайте резервную копию: удаление необратимо.

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

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

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

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

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