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

· 9 мин

Содержание

Чтобы удалить объект с пометкой в 1С 8.3, выделите его в списке и нажмите Delete (или Ещё → Пометить на удаление / Снять пометку). Объект получит перечёркнутый значок, но из базы не исчезнет. Физически его стирает только обработка Администрирование → Обслуживание → Удаление помеченных объектов в БП 3.0, ЗУП 3.1 и УТ 11.

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

Зачем 1С удаляет в два этапа

В учётной базе объекты связаны друг с другом. Контрагент указан в сотнях документов, номенклатура — в поступлениях и реализациях, счёт-фактура ссылается на документ-основание. Если стереть контрагента сразу, в документах останутся «битые» ссылки вида <Объект не найден>.

Поэтому платформа разделяет действия:

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

Такой порядок защищает от случайного удаления и даёт время одуматься. Бухгалтер помечает лишнее в течение месяца, а администратор раз в неделю или перед закрытием периода чистит базу целиком.

Что происходит с документом при пометке

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

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

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

Как пометить объект на удаление: пошаговая инструкция

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

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

В списке у объекта появится значок с красным крестиком. Из открытой формы объекта пометку ставят через меню Ещё той же командой.

Группы и подчинённые элементы

При пометке группы справочника на удаление помечаются и все элементы внутри неё. Если в группе «Архив» 300 позиций номенклатуры, после одного нажатия помеченными станут все 300.

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

Что значит Shift+Delete

Сочетание Shift+Delete в 1С — это непосредственное удаление без пометки и без проверки ссылок. В типовых конфигурациях право «Интерактивное удаление» обычным пользователям не выдаётся, поэтому команда недоступна.

Если у вас это право есть (например, роль «Полные права» в самописной базе), не пользуйтесь им для объектов, которые где-то упомянуты. Ссылки в документах превратятся в <Объект не найден>, и восстановить связь без резервной копии не выйдет.

Как вернуть помеченный на удаление объект

Пока очистка не запускалась, вернуть объект просто: выделите его и снова нажмите Delete. Программа спросит «Снять пометку удаления?» — отвечайте «Да». Крестик пропадёт.

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

Чтобы вернуть документ в учёт:

  1. Снимите пометку удаления.
  2. Откройте документ и проверьте реквизиты: за время «простоя» могли измениться цены, договоры или остатки.
  3. Нажмите «Провести и закрыть».

Если документов много, проведите их пакетно обработкой группового перепроведения: в БП 3.0 она лежит в группе «Корректировка данных» раздела Администрирование → Обслуживание. Укажите период и вид документа.

Если объект уже удалён окончательно

После работы обработки удаления объект из базы стёрт. Корзины в 1С нет. Варианты восстановления:

  • 💾 Резервная копия. Разверните копию (выгрузку .dt или бэкап СУБД) в отдельную информационную базу и найдите там удалённый объект.
  • 🔁 Перенос из копии. Небольшие объекты (контрагента, договор, номенклатуру) проще создать заново по данным из копии. Для массового переноса используют универсальный обмен данными в формате XML, но это задача для специалиста: при неаккуратном переносе появляются дубли.
  • ✍️ Ввод вручную. Для одного-двух документов это быстрее, чем любые обмены.

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

Окончательная очистка: удаление помеченных объектов

Обработка «Удаление помеченных объектов» есть во всех конфигурациях на Библиотеке стандартных подсистем. Пути в основных типовых:

КонфигурацияГде найти
Бухгалтерия предприятия 3.0Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов
ЗУП 3.1Администрирование → Обслуживание → Удаление помеченных объектов
Управление торговлей 11НСИ и администрирование → Администрирование → Обслуживание → Удаление помеченных объектов

Если раздел в вашей конфигурации устроен иначе, наберите «удаление помеченных» в строке поиска по командам (значок лупы в верхней части окна).

Порядок работы

  1. Сделайте резервную копию базы . Для файловой базы достаточно копии каталога с файлом 1Cv8.1CD при закрытой программе, для клиент-серверной — бэкапа средствами СУБД или выгрузки .dt из Конфигуратора.
  2. Откройте обработку. Программа покажет все помеченные объекты, сгруппированные по видам: документы, справочники и т.д.
  3. Снимите флажки с объектов, которые удалять не нужно. Если отмечать нечего, оставьте все.
  4. Нажмите «Удалить». Обработка проверит ссылки на каждый объект и сотрёт те, на которые никто не ссылается.
  5. Изучите результат. Объекты, которые удалить не удалось, программа покажет отдельно — с перечнем мест, где они используются.

Когда запускать

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

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

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

Почему объект не удаляется и что с этим делать

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

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

Замена ссылок перед удалением дубля

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

Если просто пометить дубль, он не удалится из-за ссылок. Правильный путь — сначала объединить: в конфигурациях на БСП для этого есть обработка «Поиск и удаление дублей» и команда объединения элементов прямо из списка. Она переставит ссылки во всех документах на оставшийся элемент, после чего дубль удаляется без остатка.

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

Особенности разных объектов в типовых конфигурациях

Механизм общий для платформы, но последствия пометки разные:

ОбъектЧто происходит при пометке
Проведённый документПроведение отменяется, движения и проводки удаляются
Непроведённый документНичего не меняется в учёте, только появляется крестик
Группа справочникаПомечается вместе со всем содержимым
Элемент справочникаОстаётся в старых документах; в списках и формах выбора виден с крестиком
Документ ЗУП 3.1 (начисление, кадровый документ)Отменяется проведение; расчёт следующих месяцев может потребовать перерасчёта

В ЗУП 3.1 удаление кадровых документов и начислений особенно чувствительно. Если пометить приказ о приёме, у сотрудника пропадут кадровые данные, и последующие начисления перестанут сходиться. Начинайте с самых поздних документов и двигайтесь к ранним.

В БП 3.0 после пометки документов прошлого месяца проверьте закрытие месяца : нарушится последовательность, и регламентные операции придётся перезапустить.

Перед запуском удаления помеченных
Выполнено: 0 / 5

Программная работа с пометкой удаления

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

Найти все помеченные элементы справочника

Запрос по реквизиту ПометкаУдаления выбирает помеченные объекты любого справочника или документа:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|	Номенклатура.Ссылка КАК Ссылка,
|	Номенклатура.Наименование КАК Наименование
|ИЗ
|	Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|	Номенклатура.ПометкаУдаления";

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	Сообщить(Выборка.Наименование);
КонецЦикла;

Поставить или снять пометку из кода

Метод объекта УстановитьПометкуУдаления() работает так же, как интерактивная команда: для проведённого документа он отменяет проведение.

Объект = Ссылка.ПолучитьОбъект();
Объект.УстановитьПометкуУдаления(Истина);  // Ложь — снять пометку

Проверить ссылки до удаления

Глобальный метод НайтиПоСсылкам() принимает массив ссылок и возвращает таблицу значений: кто и где ссылается на объект. Это то же, что делает обработка удаления, но по одному объекту и без самого удаления.

Массив = Новый Массив;
Массив.Добавить(СсылкаНаКонтрагента);
ТаблицаСсылок = НайтиПоСсылкам(Массив);
Для Каждого Строка Из ТаблицаСсылок Цикл
	Сообщить(Строка(Строка.Данные));
КонецЦикла;

Чем опасен метод Удалить()

У объекта есть метод Удалить(). Он стирает запись сразу, без пометки и без контроля ссылок. Это программный аналог Shift+Delete.

Не используйте Удалить() для объектов, на которые могут ссылаться документы. Безопасная альтернатива — ставить пометку и запускать штатную обработку, которая проверит связи. Для массового удаления с контролем ссылок в платформе 8.3 есть глобальный метод УдалитьОбъекты(), но перед его применением сверьтесь с синтакс-помощником вашей версии платформы.

Права, которые управляют механизмом

В ролях конфигурации за пометку и удаление отвечают отдельные права:

  • 🔖 «Интерактивная пометка удаления» и «Интерактивное снятие пометки удаления» — ставить и снимать крестик.
  • 🗑 «Интерактивное удаление помеченных» — удалять помеченные объекты.
  • ⛔ «Интерактивное удаление» — непосредственное удаление через Shift+Delete.

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

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

Влияет ли помеченный, но не удалённый объект на отчёты?
Помеченный документ не проведён, поэтому в оборотах и остатках его нет. Элемент справочника продолжает отображаться в старых документах и отчётах, если на него есть ссылки.
Можно ли пометить на удаление сразу все документы за период?
Да: в списке документов установите отбор по периоду, выделите все строки сочетанием Ctrl+A и нажмите Delete. Проведённые документы при этом распроводятся.
Сколько места освобождает удаление помеченных?
В файловой базе размер файла 1Cv8.1CD сам не уменьшается. Чтобы вернуть место, после удаления запустите в Конфигураторе тестирование и исправление информационной базы со сжатием таблиц — для этого нужен монопольный доступ.
Удалится ли помеченный элемент, если на него ссылается только другой помеченный объект?
Да, если оба помечены и отмечены в обработке: она удаляет связанные помеченные объекты вместе.
Видно ли, кто поставил пометку удаления?
Если журнал регистрации ведётся, событие изменения объекта с именем пользователя и временем можно найти в журнале регистрации (раздел Администрирование → Обслуживание) с отбором по нужному объекту.