Очистка документов в 1С: от ручной пометки до свёртки базы
Содержание
Документы в 1С 8.3 удаляются в два приёма: сначала их помечают на удаление (клавиша Del в списке), затем запускают обработку Администрирование → Обслуживание → Удаление помеченных объектов. Она проверяет, не ссылается ли на документ что-то ещё, и удаляет только то, что удалить безопасно.
Прямой кнопки «очистить все документы» в программе нет, и это сделано намеренно. Удалённый задним числом документ рушит остатки, взаиморасчёты и отчётность. Поэтому чистить приходится осознанно: точечно, пачкой за период или свёрткой базы с вводом остатков.
Разберём все рабочие способы — от ручной пометки до программной очистки и полной зачистки тестовой базы. Для каждого скажу, когда он уместен и чем опасен.
С чего начать: резервная копия и оценка объёма
Перед любой массовой чисткой сделайте выгрузку базы. В файловой версии — Администрирование → Обслуживание → Резервное копирование, в клиент-серверной — средствами СУБД или выгрузка в .dt из Конфигуратора (Администрирование → Выгрузить информационную базу).
Без свежей копии массовое удаление не начинайте. Откатить удалённые проведённые документы иначе нечем.
Дальше оцените, что именно и зачем удаляете:
- 🗑️ Ошибочно введённые документы — точечно, вручную.
- 📦 Старый период (прошлые годы) — свёрткой базы с вводом остатков.
- 🧪 Тестовая или учебная база — полная зачистка, остатки не важны.
- 🔁 Задвоенные данные после обмена — сначала найти дубли, потом помечать.
Если за удаляемый период уже сдана отчётность, удаление изменит её базу. Сначала согласуйте это с тем, кто отвечает за учёт, — задним числом цифры в сданных декларациях не меняют просто так.
Как пометить документы на удаление вручную
Пометка — это обратимый шаг: помеченный документ остаётся в базе и движениях, но готов к удалению. Пока вы не запустили удаление помеченных, всё можно отменить.
Способы пометить:
- Выделите документ в списке и нажмите
Delлибо правой кнопкой →Пометить на удаление / Снять пометку. - Чтобы пометить несколько — выделите их мышью с зажатым
CtrlилиShift, затемDel. - В открытой карточке документа — команда
Ещё → Пометить на удаление.
Помеченный документ отображается с перечёркнутым значком. Той же командой пометка снимается.
Снять пометку со всей пачки так же просто: выделите помеченные строки и нажмите Del повторно — программа предложит снять пометку.
Ручной способ подходит, когда удаляете единицы или десятки документов. Для сотен и тысяч нужна массовая пометка — о ней ниже.
Удаление помеченных объектов: штатная обработка
Это основной и безопасный способ физически убрать документы. Откройте Администрирование → Обслуживание → Удаление помеченных объектов.
Обработка работает в два этапа:
- Проверка ссылок. Программа ищет, не используется ли помеченный документ в других объектах: в проводках, в других документах, в регистрах. Если на документ кто-то ссылается, удалить его нельзя, пока ссылку не уберут.
- Удаление. То, что прошло проверку, физически стирается из базы.
В окне обработки выберите режим:
| Режим | Что делает | Когда брать |
|---|---|---|
| Автоматически | Удаляет всё, что можно удалить без нарушения ссылок | Обычная чистка |
| Выборочно | Вы вручную отмечаете, что удалять из найденного | Когда нужен контроль |
Если обработка сообщает, что объект удалить нельзя, она покажет список ссылающихся объектов — дважды кликнув по строке, вы откроете сам объект-ссылку. Дальше вариантов три:
- пометить и удалить ссылающиеся объекты тоже, если они не нужны;
- отредактировать их так, чтобы ссылка на удаляемый документ пропала;
- заменить ссылку на другой объект универсальной обработкой поиска и замены значений — тогда исходный документ освободится.
Типичный пример: вы помечаете накладную, а на неё ссылается счёт-фактура и платёжное поручение. Пока эти документы ссылаются на накладную, удалить её нельзя. Либо чистите всю связку, либо разрываете ссылки.
В файловой базе на время удаления лучше закрыть программу у остальных пользователей — иначе часть объектов обработка пропустит как занятые. В клиент-серверной базе удаление помеченных обычно идёт без монопольного режима, но крупные пачки надёжнее чистить, когда в базе никто не работает.
Массовая пометка и свёртка базы за старый период
Когда нужно убрать документы целого года, вручную их не напометишься. Два пути.
Массовая пометка пачкой. В списке документов задайте отбор по периоду (поле периода над списком или команда Ещё → Настроить список), выделите все строки — Ctrl+A — и нажмите Del. Так помечается вся видимая выборка сразу. После этого запускаете удаление помеченных.
Отбор экономит силы и страхует от ошибок: сначала сузьте список до нужного вида документов и периода, убедитесь, что в выборку не попало лишнее, и только потом помечайте. Если журнал показывает документы нескольких видов вперемешку — сначала отфильтруйте по виду, чтобы не зацепить то, что удалять не планировали.
Свёртка информационной базы. Это правильный способ закрыть старые годы. Обработка Свертка информационной базы (запускается через Файл → Открыть или из раздела обслуживания — название пункта меняется от релиза к релизу):
- Формирует документы ввода остатков на выбранную дату.
- Удаляет документы и движения до этой даты.
- Оставляет базу с корректными остатками, но без старой первички.
Свёртка — не просто удаление: она сохраняет сальдо по счетам, складам и взаиморасчётам. Поэтому для «почистить прошлые годы, но не потерять остатки» берут именно её, а не голое удаление.
Порядок при свёртке обычно такой:
- Выбираете дату, до которой данные сворачиваются (например, конец позапрошлого года).
- Обработка создаёт документы ввода остатков на эту дату — по бухгалтерским счетам и по нужным регистрам.
- Проверяете корректность сформированных остатков — это ключевой шаг, его нельзя пропускать.
- Только после проверки запускаете удаление свёрнутых документов.
Хороший тон — делать свёртку на копии базы, убедиться, что остатки сошлись, и лишь потом повторять на рабочей. Дата свёртки должна попадать на период, за который отчётность уже сдана и корректировок не предвидится.
После свёртки обязательно сверьте остатки оборотно-сальдовой ведомостью на дату свёртки до и после — суммы должны совпасть. Расхождение значит, что свёрнуто не всё или не так.
Программное удаление через внешнюю обработку
Когда надо удалить документы
по сложному условию (определённый вид, контрагент, признак), помогает код. Его запускают внешней обработкой (.epf) в режиме Предприятия через Файл → Открыть — в Конфигураторе отдельной команды «удалить документы» нет.
Безопасный приём — не удалять напрямую, а проставлять пометку удаления, а физически чистить потом штатной обработкой:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ Ссылка
|ИЗ Документ.РеализацияТоваровУслуг
|ГДЕ Дата МЕЖДУ &Начало И &Конец";
Запрос.УстановитьПараметр("Начало", '20240101');
Запрос.УстановитьПараметр("Конец", '20241231235959');
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.Ссылка.ПолучитьОбъект();
Объект.УстановитьПометкуУдаления(Истина);
КонецЦикла;
Метод УстановитьПометкуУдаления(Истина) помечает документ так же, как клавиша Del, и сам снимает проведение. После прогона запускаете Удаление помеченных объектов, и контроль ссылок отработает штатно.
Метод Объект.Удалить() стирает документ мгновенно и без проверки ссылок. После него в базе остаются «висячие» ссылки — другие документы начинают ссылаться в пустоту. Применяйте только к объектам, на которые точно ничто не ссылается, и только с резервной копией под рукой.
Если своей обработки нет, не уверены в коде — не пишите его наугад. Проставьте пометку штатными средствами из прошлых разделов: результат тот же, рисков меньше.
Отдельный частый случай — задвоенные документы после обмена между базами. Здесь нельзя просто пометить «всё подряд»: удалить нужно именно дубль, а не оригинал, на который уже завязаны проводки. Сначала найдите задвоения (отбором по номеру, дате и контрагенту или специализированной обработкой поиска дублей), сверьте, какой из двух документов «настоящий», и только потом помечайте лишний.
Полная очистка тестовой или учебной базы
В тестовой базе остатки не нужны — задача убрать все документы разом. Прямого «удалить всё» в интерфейсе нет, поэтому действуют так:
- Новая пустая база из той же конфигурации. Выгрузите конфигурацию в
.cf(Конфигуратор → Конфигурация → Сохранить конфигурацию в файл), создайте чистую базу и загрузите туда только конфигурацию. Данных не будет вовсе — самый надёжный способ получить пустышку с той же структурой. - Массовая пометка + удаление помеченных. Пройдитесь по журналу документов, пометьте всё (
Ctrl+A→Del) и удалите помеченные. Дольше, но база, настройки и справочники остаются. - Внешняя обработка массовой очистки. Для разработчиков — обработка, которая в цикле обходит нужные типы документов и помечает их. Удобно, когда чистить приходится регулярно.
Не чистите боевую базу «под ноль» этими способами. Для рабочей базы со старыми данными — только свёртка с вводом остатков.
Del в списке и запустите удаление помеченных объектов. Самый частый случай..cf либо пометьте все документы и удалите помеченные.Очистка документов в облачной 1С
В облачных сервисах (например, в 1С:Fresh) Конфигуратор пользователю недоступен, а внешние обработки часто заблокированы из соображений безопасности. Поэтому программная очистка и загрузка .cf отпадают.
Рабочий путь в облаке — штатный, через интерфейс:
- Пометьте документы на удаление (
Delв списках, с отбором по периоду). - Откройте
Администрирование → Обслуживание → Удаление помеченных объектов. - Удалите помеченные обычным порядком.
Свёртка в облаке доступна, если соответствующая обработка встроена в вашу конфигурацию. Полную зачистку базы в сервисе обычно делают иначе — через создание новой области (нового приложения) из шаблона, а не очисткой старой.
В облаке массовое удаление идёт медленнее файловой базы: запускайте его не в пиковые часы, чтобы не тормозить коллег.
Проверка результата и типичные ошибки
После удаления убедитесь, что база цела, а не просто «документов стало меньше».
Что проверить:
- 📊 Остатки. Сформируйте оборотно-сальдовую ведомость до и после. При точечном удалении ошибочных документов картина должна улучшиться, при свёртке — совпасть на дату свёртки.
- 🔗 Ссылочную целостность. В Конфигураторе —
Администрирование → Тестирование и исправление, пункт проверки ссылочной целостности. Он найдёт «битые» ссылки, если удаляли напрямую черезУдалить(). - 📁 Журнал регистрации. Удаление фиксируется в нём — видно, что и когда стёрто.
Частые ошибки при очистке:
| Ошибка | Почему | Что делать |
|---|---|---|
| «Объект не может быть удалён, есть ссылки» | На документ ссылаются другие объекты | Удалить/поправить ссылающиеся объекты, затем повторить |
| Документы не удаляются, «заняты» | База открыта у других пользователей | Завершить сеансы, повторить удаление |
| После удаления «поехали» остатки | Удалили проведённые документы за закрытый период | Восстановить из копии, использовать свёртку |
| Пустые ссылки в отчётах | Удаляли через Удалить() без контроля ссылок | Проверка и исправление ссылочной целостности |
Если после массового удаления отчётность «развалилась», не правьте вручную десятки документов — восстановите базу из копии и повторите чистку правильным способом (свёртка, а не прямое удаление).