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