Удаление документов в 1С 8.3: от пометки на удаление до очистки базы
Содержание
Удалить документ
в 1С 8.3 в один клик нельзя — и это защита, а не недоработка. Документ сначала помечают на удаление (красный крестик на строке списка), а физически он исчезает из базы только после отдельной операции Администрирование → Обслуживание → Удаление помеченных объектов, когда программа проверит, что на него никто не ссылается.
Ниже — как пометить и снять пометку, что делать, когда 1С отказывается удалять, как чистить документы пачками и кодом, как быть с закрытым периодом и что обязательно пересчитать в учёте после удаления. Пути указаны для «Бухгалтерии предприятия 3.0», «ЗУП 3.1» и «Управления торговлей 11» в интерфейсе «Такси».
Два шага удаления: пометка и очистка базы
В 1С 8.3 удаление всегда состоит из двух независимых действий.
- Пометка на удаление. Откройте список документов (например,
Продажи → Реализация (акты, накладные, УПД)), встаньте на нужную строку и нажмите клавишуDeleteлибо правой кнопкой мыши вызовите команду «Пометить на удаление / Снять пометку». Та же команда есть в меню «Ещё» над списком. Подтвердите — строка получит значок перечёркнутого элемента. - Удаление помеченных объектов. Это уже физическое стирание. Запускается отдельно: в БП 3.0 и ЗУП 3.1 —
Администрирование → Обслуживание → Удаление помеченных объектов; в УТ 11 —НСИ и администрирование → Обслуживание → Удаление помеченных объектов.
Пометка обратима. Пока вы не запустили удаление помеченных объектов, документ лежит в базе целым. Повторите команду «Пометить на удаление / Снять пометку» — и крестик снимется, документ вернётся в работу.
Если документ был проведён, при установке пометки 1С автоматически отменяет проведение: движения по регистрам (остатки, взаиморасчёты, НДС) снимаются сразу, ещё до физического удаления. Поэтому отчёты «поедут» уже в момент пометки, а не в момент очистки базы.
При запуске удаления помеченных объектов программа предложит два режима:
- автоматически — удалить всё помеченное;
- выборочно — показать список помеченных и дать отметить галочками, что именно стирать.
Затем 1С проверяет ссылочную целостность: ищет, не ссылается ли кто-то на удаляемый объект. Если ссылок нет — объект исчезает. Если есть — удаление останавливается, и программа показывает, какие объекты мешают.
Путь к обработке зависит от конфигурации, но лежит она всегда в группе «Обслуживание».
| Конфигурация | Путь к удалению помеченных объектов |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Обслуживание → Удаление помеченных объектов |
| Зарплата и управление персоналом 3.1 | Администрирование → Обслуживание → Удаление помеченных объектов |
| Управление торговлей 11 | НСИ и администрирование → Обслуживание → Удаление помеченных объектов |
Выбор способа удаления зависит от того, сколько документов и насколько рискованна операция.
| Способ | Когда применять | Риск |
|---|---|---|
| Пометка + удаление помеченных | Основной способ для рабочей базы | Минимальный: есть контроль ссылок и откат пометки |
| Групповое изменение реквизитов | Массовая пометка по условию отбора | Средний: ошибка в отборе пометит лишнее |
Код УстановитьПометкуУдаления | Сложные условия, нетиповые отборы | Средний: нужны права и внешняя обработка |
Код Удалить() (непосредственно) | Только осознанно, на копии базы | Высокий: битые ссылки, нет контроля целостности |
Почему 1С не даёт удалить документ
Самая частая причина отказа — на документ ссылаются другие объекты базы. 1С не оставит «висящие» ссылки, иначе в отчётах и документах появились бы битые значения. Разберите типичные ситуации.
Прежде чем массово удалять «мешающие» ссылки, убедитесь, что они не нужны. Иногда ссылку держит документ, который вы удалять не собирались, — тогда удаление первого объекта означает, что придётся переделывать и второй.
Чтобы заранее понять, кто держит документ, пометьте его и запустите удаление в режиме выборочно: если на объект есть ссылки, 1С покажет их списком до фактического стирания, ничего при этом не удалив. Это безопасный способ «разведать» связи, не трогая данные.
Отдельно про проведённые документы: распроводить вручную перед пометкой не обязательно — 1С снимет проведение сама. Но если документ закрыт в составе регламентной операции (например, вошёл в «Закрытие месяца »), сначала разберитесь с закрытием периода, иначе итоги разъедутся.
Как удалить документы пачкой
Поштучно чистить сотни строк не нужно. Пометку ставят группой:
- В списке выделите несколько строк мышью с зажатым
Ctrl(вразнобой) илиShift(диапазон). Можно выделить всё сразу —Ctrl+A. - Нажмите
Deleteили команду «Пометить на удаление» — пометка ляжет на все выделенные строки одним действием. - Один раз запустите
Удаление помеченных объектов— обработка переберёт все помеченные документы разом и проверит ссылки для каждого.
Если удаляемых документов тысячи и они разбросаны по видам, помогает типовая обработка «Групповое изменение реквизитов» (Администрирование → Обслуживание → Групповое изменение реквизитов): отберите документы по условию (период, контрагент, организация) и установите реквизит «Пометка удаления» в значение «Да» для всей выборки. После этого — обычное удаление помеченных объектов.
Удаление помеченных объектов по большой базе лучше запускать в нерабочее время или в монопольном режиме. Операция читает всю базу в поисках ссылок и на объёмных конфигурациях идёт десятки минут, подтормаживая остальных пользователей.
Удаление документов кодом на встроенном языке
Когда нужно вычистить документы по сложному условию, помогает обработка с кодом на встроенном языке 1С. Самый безопасный путь — не удалять напрямую, а ставить пометку на удаление, а потом очищать базу штатной обработкой с контролем ссылок.
Выборка = Документы.РеализацияТоваровУслуг.Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.ПолучитьОбъект();
ДокОбъект.УстановитьПометкуУдаления(Истина);
КонецЦикла;
Метод УстановитьПометкуУдаления(Истина) сам отменит проведение, если документ был проведён, и запишет пометку. Отбор можно сузить через параметры метода Выбрать() или заранее подготовленный запрос. Например, чтобы пометить только документы одной организации за период, выборку готовят запросом:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг
|ГДЕ Организация = &Орг И Дата МЕЖДУ &Нач И &Кон";
Запрос.УстановитьПараметр("Орг", ВыбраннаяОрганизация);
Запрос.УстановитьПараметр("Нач", НачалоПериода);
Запрос.УстановитьПараметр("Кон", КонецПериода);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
ДокОбъект.УстановитьПометкуУдаления(Истина);
КонецЦикла;
Прямое, непосредственное удаление выполняет метод Удалить():
ДокОбъект = Выборка.ПолучитьОбъект();
ДокОбъект.Удалить();
Метод Удалить() не проверяет ссылочную целостность. Он стирает объект сразу, даже если на него ссылаются другие документы, — в базе остаются битые ссылки. Применяйте его только осознанно, на копии базы и с полным пониманием последствий. Для рабочей базы предпочтительна связка «пометка + штатное удаление помеченных».
Код запускают через внешнюю обработку (режим «Файл → Открыть» в тонком клиенте с правами на открытие внешних обработок) или в консоли кода. Заранее ограничьте выборку конкретной организацией и периодом: ошибка в отборе удалит не то.
Как удалить документ в закрытом периоде
Если документ попадает под дату запрета изменения данных, 1С блокирует и пометку, и удаление. Настройка лежит в Администрирование → Настройки пользователей и прав → Даты запрета изменения. Запрет может быть общим, по организациям или по конкретным пользователям.
Порядок действий:
- Убедитесь, что удаление в закрытом периоде вообще оправдано — чаще период закрывают не зря (сдана отчётность).
- Если решение принято, пользователь с правом на изменение дат запрета временно сдвигает или снимает дату запрета для нужной организации.
- Выполняете пометку и удаление помеченных объектов.
- Сразу возвращаете дату запрета на место. Оставленный открытым период — прямой путь к случайным правкам сданной отчётности.
Удаление документа в закрытом периоде меняет уже сформированные остатки и, возможно, сданные декларации. Прежде чем снимать запрет, сделайте резервную копию базы (Администрирование → Обслуживание → Резервное копирование или выгрузка через конфигуратор) — откатиться будет куда проще, чем восстанавливать данные вручную.
Что проверить в учёте после удаления
Удаление проведённого документа снимает его движения, а значит, меняет итоги. После чистки пройдитесь по контрольным точкам.
Особое внимание — к сквозным механизмам. Удаление одной накладной может потянуть за собой пересчёт себестоимости (регистр «Товары на складах»), закрытие авансов и финансовый результат. Поэтому почти всегда после удаления нужно перепровести документы
за период: Операции → Закрытие периода → Групповое перепроведение документов.
Если среди удалённых были документы с НДС (счета-фактуры, реализации, поступления), отдельно переформируйте книгу покупок и книгу продаж и сверьте их с оборотами по счёту 68.02. Расхождение здесь означает, что налоговая база изменилась, — и если декларация по НДС за период уже сдана, потребуется уточнённая. Та же логика с 6-НДФЛ и расчётом по страховым взносам, если удалялись документы по зарплате: любое изменение сумм в закрытом квартале тянет за собой корректировку сданной отчётности.
Нумерация после удаления тоже требует внимания. В номерах документов появляются пропуски — для внутренних целей это не ошибка, но если вы перенумеровываете вручную, следите, чтобы номера не задвоились с уже существующими.
Если удалялись первичные документы прошлых лет, помните про сроки хранения: по статье 29 Федерального закона № 402-ФЗ первичные учётные документы хранят не менее пяти лет после отчётного года. Чистить базу от свежей первички «для порядка» — риск остаться без документа при проверке.
Можно ли восстановить удалённый документ
Зависит от того, на каком шаге вы остановились.
- Стоит только пометка на удаление. Документ цел. Снимите пометку той же командой — и он вернётся в работу. Проведение после снятия пометки восстанавливать придётся вручную (кнопка «Провести»).
- Запущено удаление помеченных объектов. Объект физически стёрт из базы. Штатного «корзины» и отмены в 1С нет — восстановить можно только из резервной копии.
Отсюда практичное правило: перед массовым или рискованным удалением всегда делайте резервную копию базы . Если копии нет, а документ уже удалён, остаётся один путь — ввести его заново и перепровести период.
Отличайте пометку от очистки. Пока в списке виден перечёркнутый значок, паниковать рано — данные на месте. Необратим только запуск удаления помеченных объектов.
Частые вопросы
Чем отличается пометка на удаление от самого удаления?
Почему после удаления помеченных объектов документ остался в списке?
Нужно ли распроводить документ перед пометкой на удаление?
Можно ли настроить автоматическое удаление помеченных объектов по расписанию?
Администрирование → Обслуживание. Для файловой базы операцию запускают вручную.Удалится ли счёт-фактура, если удалить накладную?
Источники
- Федеральный закон от 06.12.2011 № 402-ФЗ «О бухгалтерском учёте», ст. 29 (сроки хранения первичных документов)