Пометка удаления в 1С 8.3: от крестика в списке до окончательной очистки базы
Содержание
Чтобы удалить объект с пометкой в 1С 8.3, выделите его в списке и нажмите Delete (или Ещё → Пометить на удаление / Снять пометку). Объект получит перечёркнутый значок, но из базы не исчезнет. Физически его стирает только обработка Администрирование → Обслуживание → Удаление помеченных объектов в БП 3.0, ЗУП 3.1 и УТ 11.
Частое заблуждение — считать, что после клавиши Delete документ уже удалён. На деле это двухэтапный механизм: сначала пометка, потом отдельная очистка с проверкой ссылок. Пока второй этап не выполнен, всё можно вернуть одним действием.
Зачем 1С удаляет в два этапа
В учётной базе объекты связаны друг с другом. Контрагент указан в сотнях документов, номенклатура — в поступлениях и реализациях, счёт-фактура ссылается на документ-основание. Если стереть контрагента сразу, в документах останутся «битые» ссылки вида <Объект не найден>.
Поэтому платформа разделяет действия:
- 🗂 Пометка удаления — обычный реквизит объекта (
ПометкаУдаления). Ставится и снимается сколько угодно раз, данные целы. - 🧹 Удаление помеченных — отдельная процедура. Она проверяет, ссылается ли кто-нибудь на объект, и удаляет только те, на которые ссылок нет.
Такой порядок защищает от случайного удаления и даёт время одуматься. Бухгалтер помечает лишнее в течение месяца, а администратор раз в неделю или перед закрытием периода чистит базу целиком.
Что происходит с документом при пометке
Если пометить на удаление проведённый документ, 1С отменяет его проведение. Движения по регистрам и проводки исчезают сразу, хотя сам документ остаётся в журнале.
Пометка проведённого документа сразу меняет учёт: остатки, расчёты и отчёты пересчитаются без него. Помечать документы в закрытом периоде без согласования с главным бухгалтером нельзя.
Если в базе установлена дата запрета изменения, документ раньше этой даты пометить не получится: программа откажет так же, как при любом другом изменении.
Как пометить объект на удаление: пошаговая инструкция
Порядок одинаков для документов, элементов справочников и планов видов характеристик.
- Откройте список: например,
Продажи → Реализация (акты, накладные, УПД)илиСправочники → Контрагенты. - Выделите строку. Для нескольких объектов зажмите
Ctrlи щёлкните по нужным строкам или выделите диапазон черезShift. - Нажмите
Deleteили выберите в менюЕщёкомандуПометить на удаление / Снять пометку. - Подтвердите вопрос программы кнопкой «Да».
В списке у объекта появится значок с красным крестиком. Из открытой формы объекта пометку ставят через меню Ещё той же командой.
Группы и подчинённые элементы
При пометке группы справочника на удаление помечаются и все элементы внутри неё. Если в группе «Архив» 300 позиций номенклатуры, после одного нажатия помеченными станут все 300.
Перед пометкой группы раскройте её и проверьте содержимое. Нужные элементы заранее перенесите в другую группу: удобнее всего перетащить их мышью.
Что значит Shift+Delete
Сочетание Shift+Delete в 1С — это непосредственное удаление без пометки и без проверки ссылок. В типовых конфигурациях право «Интерактивное удаление» обычным пользователям не выдаётся, поэтому команда недоступна.
Если у вас это право есть (например, роль «Полные права» в самописной базе), не пользуйтесь им для объектов, которые где-то упомянуты. Ссылки в документах превратятся в <Объект не найден>, и восстановить связь без резервной копии не выйдет.
Как вернуть помеченный на удаление объект
Пока очистка не запускалась, вернуть объект просто: выделите его и снова нажмите Delete. Программа спросит «Снять пометку удаления?» — отвечайте «Да». Крестик пропадёт.
Есть один нюанс с документами. Снятие пометки не проводит документ обратно. Он остаётся непроведённым, и движений по регистрам нет.
Чтобы вернуть документ в учёт:
- Снимите пометку удаления.
- Откройте документ и проверьте реквизиты: за время «простоя» могли измениться цены, договоры или остатки.
- Нажмите «Провести и закрыть».
Если документов много, проведите их пакетно обработкой группового перепроведения: в БП 3.0 она лежит в группе «Корректировка данных» раздела Администрирование → Обслуживание. Укажите период и вид документа.
Если объект уже удалён окончательно
После работы обработки удаления объект из базы стёрт. Корзины в 1С нет. Варианты восстановления:
- 💾 Резервная копия. Разверните копию (выгрузку
.dtили бэкап СУБД) в отдельную информационную базу и найдите там удалённый объект. - 🔁 Перенос из копии. Небольшие объекты (контрагента, договор, номенклатуру) проще создать заново по данным из копии. Для массового переноса используют универсальный обмен данными в формате XML, но это задача для специалиста: при неаккуратном переносе появляются дубли.
- ✍️ Ввод вручную. Для одного-двух документов это быстрее, чем любые обмены.
Разворачивайте копию только в новую базу. Загрузка .dt поверх рабочей базы заменит все данные, введённые после даты копии.
Окончательная очистка: удаление помеченных объектов
Обработка «Удаление помеченных объектов» есть во всех конфигурациях на Библиотеке стандартных подсистем. Пути в основных типовых:
| Конфигурация | Где найти |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов |
| ЗУП 3.1 | Администрирование → Обслуживание → Удаление помеченных объектов |
| Управление торговлей 11 | НСИ и администрирование → Администрирование → Обслуживание → Удаление помеченных объектов |
Если раздел в вашей конфигурации устроен иначе, наберите «удаление помеченных» в строке поиска по командам (значок лупы в верхней части окна).
Порядок работы
- Сделайте резервную копию базы
. Для файловой базы достаточно копии каталога с файлом
1Cv8.1CDпри закрытой программе, для клиент-серверной — бэкапа средствами СУБД или выгрузки.dtиз Конфигуратора. - Откройте обработку. Программа покажет все помеченные объекты, сгруппированные по видам: документы, справочники и т.д.
- Снимите флажки с объектов, которые удалять не нужно. Если отмечать нечего, оставьте все.
- Нажмите «Удалить». Обработка проверит ссылки на каждый объект и сотрёт те, на которые никто не ссылается.
- Изучите результат. Объекты, которые удалить не удалось, программа покажет отдельно — с перечнем мест, где они используются.
Когда запускать
Обработку можно запускать при работающих пользователях, но в этом случае часть объектов может остаться: кто-то как раз выбрал помеченного контрагента в новом документе. Надёжнее запускать вечером или в выходной.
На базе в несколько десятков гигабайт поиск ссылок идёт долго — от десятков минут до нескольких часов. Не прерывайте процесс принудительным закрытием программы.
В конфигурациях на БСП удаление можно поставить на расписание: в той же форме есть настройка автоматического удаления помеченных объектов. Включайте её, только если в базе принято правило «помечаешь — значит, не нужно». Иначе ошибочно помеченный документ исчезнет в ближайшую ночь.
Почему объект не удаляется и что с этим делать
Самая частая ситуация: обработка отработала, а часть объектов осталась с пометкой. Причина почти всегда одна — на объект есть ссылки.
Замена ссылок перед удалением дубля
Типичный случай — в базе два одинаковых контрагента «Ромашка ООО» и «ООО Ромашка». Один нужно удалить, но в документах встречаются оба.
Если просто пометить дубль, он не удалится из-за ссылок. Правильный путь — сначала объединить: в конфигурациях на БСП для этого есть обработка «Поиск и удаление дублей» и команда объединения элементов прямо из списка. Она переставит ссылки во всех документах на оставшийся элемент, после чего дубль удаляется без остатка.
Объединение затрагивает документы прошлых периодов. Если период закрыт и сдана отчётность, согласуйте замену с главным бухгалтером и запускайте её после резервной копии.
Особенности разных объектов в типовых конфигурациях
Механизм общий для платформы, но последствия пометки разные:
| Объект | Что происходит при пометке |
|---|---|
| Проведённый документ | Проведение отменяется, движения и проводки удаляются |
| Непроведённый документ | Ничего не меняется в учёте, только появляется крестик |
| Группа справочника | Помечается вместе со всем содержимым |
| Элемент справочника | Остаётся в старых документах; в списках и формах выбора виден с крестиком |
| Документ ЗУП 3.1 (начисление, кадровый документ) | Отменяется проведение; расчёт следующих месяцев может потребовать перерасчёта |
В ЗУП 3.1 удаление кадровых документов и начислений особенно чувствительно. Если пометить приказ о приёме, у сотрудника пропадут кадровые данные, и последующие начисления перестанут сходиться. Начинайте с самых поздних документов и двигайтесь к ранним.
В БП 3.0 после пометки документов прошлого месяца проверьте закрытие месяца : нарушится последовательность, и регламентные операции придётся перезапустить.
Программная работа с пометкой удаления
Разработчикам и администраторам пригодятся несколько приёмов на встроенном языке. Запускайте их в копии базы, пока не убедитесь в результате.
Найти все помеченные элементы справочника
Запрос по реквизиту ПометкаУдаления выбирает помеченные объекты любого справочника или документа:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.Наименование КАК Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ПометкаУдаления";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование);
КонецЦикла;
Поставить или снять пометку из кода
Метод объекта УстановитьПометкуУдаления() работает так же, как интерактивная команда: для проведённого документа он отменяет проведение.
Объект = Ссылка.ПолучитьОбъект();
Объект.УстановитьПометкуУдаления(Истина); // Ложь — снять пометку
Проверить ссылки до удаления
Глобальный метод НайтиПоСсылкам() принимает массив ссылок и возвращает таблицу значений: кто и где ссылается на объект. Это то же, что делает обработка удаления, но по одному объекту и без самого удаления.
Массив = Новый Массив;
Массив.Добавить(СсылкаНаКонтрагента);
ТаблицаСсылок = НайтиПоСсылкам(Массив);
Для Каждого Строка Из ТаблицаСсылок Цикл
Сообщить(Строка(Строка.Данные));
КонецЦикла;
Чем опасен метод Удалить()
У объекта есть метод Удалить(). Он стирает запись сразу, без пометки и без контроля ссылок. Это программный аналог Shift+Delete.
Не используйте Удалить() для объектов, на которые могут ссылаться документы. Безопасная альтернатива — ставить пометку и запускать штатную обработку, которая проверит связи. Для массового удаления с контролем ссылок в платформе 8.3 есть глобальный метод УдалитьОбъекты(), но перед его применением сверьтесь с синтакс-помощником вашей версии платформы.
Права, которые управляют механизмом
В ролях конфигурации за пометку и удаление отвечают отдельные права:
- 🔖 «Интерактивная пометка удаления» и «Интерактивное снятие пометки удаления» — ставить и снимать крестик.
- 🗑 «Интерактивное удаление помеченных» — удалять помеченные объекты.
- ⛔ «Интерактивное удаление» — непосредственное удаление через
Shift+Delete.
Если бухгалтер не может пометить документ, а у коллеги это получается, разница почти всегда в ролях пользователя.
Частые вопросы
Влияет ли помеченный, но не удалённый объект на отчёты?
Можно ли пометить на удаление сразу все документы за период?
Ctrl+A и нажмите Delete. Проведённые документы при этом распроводятся.Сколько места освобождает удаление помеченных?
1Cv8.1CD сам не уменьшается. Чтобы вернуть место, после удаления запустите в Конфигураторе тестирование и исправление информационной базы со сжатием таблиц — для этого нужен монопольный доступ.Удалится ли помеченный элемент, если на него ссылается только другой помеченный объект?
Видно ли, кто поставил пометку удаления?
Администрирование → Обслуживание) с отбором по нужному объекту.