Удаление документов в 1С 8.3: от пометки на удаление до очистки базы

· 9 мин

Содержание

Удалить документ в 1С 8.3 в один клик нельзя — и это защита, а не недоработка. Документ сначала помечают на удаление (красный крестик на строке списка), а физически он исчезает из базы только после отдельной операции Администрирование → Обслуживание → Удаление помеченных объектов, когда программа проверит, что на него никто не ссылается.

Ниже — как пометить и снять пометку, что делать, когда 1С отказывается удалять, как чистить документы пачками и кодом, как быть с закрытым периодом и что обязательно пересчитать в учёте после удаления. Пути указаны для «Бухгалтерии предприятия 3.0», «ЗУП 3.1» и «Управления торговлей 11» в интерфейсе «Такси».

Два шага удаления: пометка и очистка базы

В 1С 8.3 удаление всегда состоит из двух независимых действий.

  1. Пометка на удаление. Откройте список документов (например, Продажи → Реализация (акты, накладные, УПД)), встаньте на нужную строку и нажмите клавишу Delete либо правой кнопкой мыши вызовите команду «Пометить на удаление / Снять пометку». Та же команда есть в меню «Ещё» над списком. Подтвердите — строка получит значок перечёркнутого элемента.
  2. Удаление помеченных объектов. Это уже физическое стирание. Запускается отдельно: в БП 3.0 и ЗУП 3.1 — Администрирование → Обслуживание → Удаление помеченных объектов; в УТ 11 — НСИ и администрирование → Обслуживание → Удаление помеченных объектов.

Пометка обратима. Пока вы не запустили удаление помеченных объектов, документ лежит в базе целым. Повторите команду «Пометить на удаление / Снять пометку» — и крестик снимется, документ вернётся в работу.

Если документ был проведён, при установке пометки 1С автоматически отменяет проведение: движения по регистрам (остатки, взаиморасчёты, НДС) снимаются сразу, ещё до физического удаления. Поэтому отчёты «поедут» уже в момент пометки, а не в момент очистки базы.

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

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

Затем 1С проверяет ссылочную целостность: ищет, не ссылается ли кто-то на удаляемый объект. Если ссылок нет — объект исчезает. Если есть — удаление останавливается, и программа показывает, какие объекты мешают.

Путь к обработке зависит от конфигурации, но лежит она всегда в группе «Обслуживание».

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

Выбор способа удаления зависит от того, сколько документов и насколько рискованна операция.

СпособКогда применятьРиск
Пометка + удаление помеченныхОсновной способ для рабочей базыМинимальный: есть контроль ссылок и откат пометки
Групповое изменение реквизитовМассовая пометка по условию отбораСредний: ошибка в отборе пометит лишнее
Код УстановитьПометкуУдаленияСложные условия, нетиповые отборыСредний: нужны права и внешняя обработка
Код Удалить() (непосредственно)Только осознанно, на копии базыВысокий: битые ссылки, нет контроля целостности

Почему 1С не даёт удалить документ

Самая частая причина отказа — на документ ссылаются другие объекты базы. 1С не оставит «висящие» ссылки, иначе в отчётах и документах появились бы битые значения. Разберите типичные ситуации.

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

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

Чтобы заранее понять, кто держит документ, пометьте его и запустите удаление в режиме выборочно: если на объект есть ссылки, 1С покажет их списком до фактического стирания, ничего при этом не удалив. Это безопасный способ «разведать» связи, не трогая данные.

Отдельно про проведённые документы: распроводить вручную перед пометкой не обязательно — 1С снимет проведение сама. Но если документ закрыт в составе регламентной операции (например, вошёл в «Закрытие месяца »), сначала разберитесь с закрытием периода, иначе итоги разъедутся.

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

Поштучно чистить сотни строк не нужно. Пометку ставят группой:

  1. В списке выделите несколько строк мышью с зажатым Ctrl (вразнобой) или Shift (диапазон). Можно выделить всё сразу — Ctrl+A.
  2. Нажмите Delete или команду «Пометить на удаление» — пометка ляжет на все выделенные строки одним действием.
  3. Один раз запустите Удаление помеченных объектов — обработка переберёт все помеченные документы разом и проверит ссылки для каждого.

Если удаляемых документов тысячи и они разбросаны по видам, помогает типовая обработка «Групповое изменение реквизитов» (Администрирование → Обслуживание → Групповое изменение реквизитов): отберите документы по условию (период, контрагент, организация) и установите реквизит «Пометка удаления» в значение «Да» для всей выборки. После этого — обычное удаление помеченных объектов.

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

Удаление документов кодом на встроенном языке

Когда нужно вычистить документы по сложному условию, помогает обработка с кодом на встроенном языке 1С. Самый безопасный путь — не удалять напрямую, а ставить пометку на удаление, а потом очищать базу штатной обработкой с контролем ссылок.

Выборка = Документы.РеализацияТоваровУслуг.Выбрать();
Пока Выборка.Следующий() Цикл
    ДокОбъект = Выборка.ПолучитьОбъект();
    ДокОбъект.УстановитьПометкуУдаления(Истина);
КонецЦикла;

Метод УстановитьПометкуУдаления(Истина) сам отменит проведение, если документ был проведён, и запишет пометку. Отбор можно сузить через параметры метода Выбрать() или заранее подготовленный запрос. Например, чтобы пометить только документы одной организации за период, выборку готовят запросом:

Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг
    |ГДЕ Организация = &Орг И Дата МЕЖДУ &Нач И &Кон";
Запрос.УстановитьПараметр("Орг", ВыбраннаяОрганизация);
Запрос.УстановитьПараметр("Нач", НачалоПериода);
Запрос.УстановитьПараметр("Кон", КонецПериода);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
    ДокОбъект.УстановитьПометкуУдаления(Истина);
КонецЦикла;

Прямое, непосредственное удаление выполняет метод Удалить():

ДокОбъект = Выборка.ПолучитьОбъект();
ДокОбъект.Удалить();

Метод Удалить() не проверяет ссылочную целостность. Он стирает объект сразу, даже если на него ссылаются другие документы, — в базе остаются битые ссылки. Применяйте его только осознанно, на копии базы и с полным пониманием последствий. Для рабочей базы предпочтительна связка «пометка + штатное удаление помеченных».

Код запускают через внешнюю обработку (режим «Файл → Открыть» в тонком клиенте с правами на открытие внешних обработок) или в консоли кода. Заранее ограничьте выборку конкретной организацией и периодом: ошибка в отборе удалит не то.

Как удалить документ в закрытом периоде

Если документ попадает под дату запрета изменения данных, 1С блокирует и пометку, и удаление. Настройка лежит в Администрирование → Настройки пользователей и прав → Даты запрета изменения. Запрет может быть общим, по организациям или по конкретным пользователям.

Порядок действий:

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

Удаление документа в закрытом периоде меняет уже сформированные остатки и, возможно, сданные декларации. Прежде чем снимать запрет, сделайте резервную копию базы (Администрирование → Обслуживание → Резервное копирование или выгрузка через конфигуратор) — откатиться будет куда проще, чем восстанавливать данные вручную.

Что проверить в учёте после удаления

Удаление проведённого документа снимает его движения, а значит, меняет итоги. После чистки пройдитесь по контрольным точкам.

Проверка учёта после удаления документов
Выполнено: 0 / 6

Особое внимание — к сквозным механизмам. Удаление одной накладной может потянуть за собой пересчёт себестоимости (регистр «Товары на складах»), закрытие авансов и финансовый результат. Поэтому почти всегда после удаления нужно перепровести документы за период: Операции → Закрытие периода → Групповое перепроведение документов.

Если среди удалённых были документы с НДС (счета-фактуры, реализации, поступления), отдельно переформируйте книгу покупок и книгу продаж и сверьте их с оборотами по счёту 68.02. Расхождение здесь означает, что налоговая база изменилась, — и если декларация по НДС за период уже сдана, потребуется уточнённая. Та же логика с 6-НДФЛ и расчётом по страховым взносам, если удалялись документы по зарплате: любое изменение сумм в закрытом квартале тянет за собой корректировку сданной отчётности.

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

Если удалялись первичные документы прошлых лет, помните про сроки хранения: по статье 29 Федерального закона № 402-ФЗ первичные учётные документы хранят не менее пяти лет после отчётного года. Чистить базу от свежей первички «для порядка» — риск остаться без документа при проверке.

Можно ли восстановить удалённый документ

Зависит от того, на каком шаге вы остановились.

  • Стоит только пометка на удаление. Документ цел. Снимите пометку той же командой — и он вернётся в работу. Проведение после снятия пометки восстанавливать придётся вручную (кнопка «Провести»).
  • Запущено удаление помеченных объектов. Объект физически стёрт из базы. Штатного «корзины» и отмены в 1С нет — восстановить можно только из резервной копии.

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

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

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

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

Источники

  • Федеральный закон от 06.12.2011 № 402-ФЗ «О бухгалтерском учёте», ст. 29 (сроки хранения первичных документов)