Администрирование · 10 мин
Как очистить конфигурацию 1С от данных
Как очистить базу 1С от данных: удаление документов, справочников, свёртка базы, типовые обработки. Пошаговая инструкция, риски, проверка результата и FAQ.
Под очисткой конфигурации 1С от данных обычно понимают одну из трёх задач: удалить все документы и остатки, оставив справочники и настройки; полностью обнулить базу до состояния «пустой»; либо сократить объём информации за старые периоды через свёртку. От того, какая именно задача стоит, зависит и инструмент, и риски.
Важно разделять понятия: конфигурация — это структура базы (метаданные, код, формы), а данные — содержимое таблиц: документы, справочники, регистры. Очистка затрагивает только данные, конфигурация при этом не меняется. Если нужно «вернуть конфигурацию к поставщику», это другая операция — загрузка cf-файла, и к удалению данных она отношения не имеет.
Любая массовая очистка необратима. Перед началом обязательно сделайте резервную копию: для файловой базы — копирование каталога или выгрузку в dt через конфигуратор, для клиент-серверной — средствами СУБД (SQL Server, PostgreSQL). Проверьте, что копия восстанавливается, и только потом приступайте к удалению.
Определяем, какая очистка нужна
Прежде чем запускать обработки, сформулируйте цель. Если база разрослась и тормозит, но учёт продолжается — нужна свёртка: документы за старые периоды удаляются, а остатки на дату свёртки сохраняются вводом начальных остатков. Если база тестовая или вы начинаете учёт заново с теми же настройками — подходит полное удаление всех данных. Если нужна «чистая» база без накопленных ошибок настройки — проще создать новую из шаблона конфигурации.
Отдельный случай — передача базы третьим лицам (разработчику, аудитору) без коммерческих данных. Здесь используют обезличивание: типовые механизмы или обработки, заменяющие контрагентов, суммы и персональные данные на случайные значения.
Как выбрать способ очистки
Подготовка: резервная копия и анализ базы
Для файловой базы откройте конфигуратор в монопольном режиме и выполните «Администрирование → Выгрузить информационную базу». Полученный dt-файл храните отдельно от рабочего каталога. Альтернатива — просто скопировать каталог базы целиком при закрытых сеансах. Для клиент-серверной базы делайте бэкап средствами СУБД: выгрузка dt из конфигуратора на больших базах может занять часы и не всегда завершается успешно.
Оцените объём данных: в типовых конфигурациях есть отчёты по размеру таблиц, для самописных баз помогут внешние обработки анализа структуры хранения. Это покажет, какие таблицы занимают основной объём — обычно это регистры накопления и сведений, а не сами документы.
Способ 1. Свёртка базы для продолжающегося учёта
В типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP) есть штатная обработка свёртки. В «1С:Бухгалтерии» это раздел «Администрирование → Обслуживание → Свёртка базы», в УТ и ERP — аналогичный мастер в разделе администрирования. Мастер предложит выбрать дату свёртки и организации, затем автоматически создаст документы ввода остатков и пометит на удаление документы до даты свёртки.
Работайте по шагам мастера, не пропуская этап проверки: типовая обработка показывает, какие остатки будут перенесены. После завершения свёртки сверьте оборотно-сальдовую ведомость и отчёты по взаиморасчётам до и после — цифры на дату свёртки должны совпасть. Только после сверки выполняйте физическое удаление помеченных объектов.
- 1Сделайте и проверьте резервную копию базы
- 2Закройте период: проведите регламентные операции и сформируйте отчёты
- 3Запустите мастер свёртки в монопольном режиме, укажите дату
- 4Проверьте сформированные документы ввода остатков
- 5Удалите помеченные объекты через контроль и удаление помеченных
- 6Сверьте отчёты до и после свёртки на дату остатков
Способ 2. Полное удаление данных с сохранением настроек
Когда нужна пустая база с теми же конфигурацией, справочниками и пользователями, данные удаляют специализированными обработками. Распространённый подход — последовательная пометка на удаление всех документов, затем очистка регистров. Для регистров сведений и накопления записи удаляют напрямую через набор записей: программно очищается набор без отбора и записывается пустым.
Пример очистки регистра сведений встроенным языком:
НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
НаборЗаписей.Записать(); // запись пустого набора очищает регистр
Учтите порядок: сначала документы, потом регистры, в конце — помеченные элементы справочников, если они не нужны. Удаление выполняйте порциями с транзакциями разумного размера, иначе на больших таблицах получите длинные блокировки или переполнение журнала транзакций СУБД.
Набор = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
Набор.Записать(Истина); // полная очистка регистраСпособ 3. Новая пустая база и перенос справочников
Самый чистый вариант — создать новую базу из шаблона конфигурации той же версии, что и рабочая. Шаблон устанавливается из дистрибутива поставщика; при создании базы в списке информационных баз выберите создание из шаблона. Получится база без единого документа и с начальными настройками по умолчанию.
Справочники (номенклатура, контрагенты, склады) переносят через типовую обработку «Выгрузка и загрузка данных XML» с диска ИТС или через конвертацию данных. Выгружайте только нужные виды объектов, загружайте в новую базу и проверяйте сопоставление по GUID — при переносе между разными базами ссылки могут пересоздаться, что важно для связанных объектов.
Физическое удаление помеченных объектов
После любой пометки на удаление данные физически остаются в таблицах, пока вы не выполните удаление помеченных. В режиме предприятия: «Администрирование → Обслуживание → Удаление помеченных объектов». Сначала запустите контроль ссылочной целостности — система покажет объекты, которые нельзя удалить из-за ссылок на них.
Типичная ситуация: документ не удаляется, потому что на него ссылается запись регистра или другой документ. Разбирайте такие связи по списку из отчёта контроля: либо удаляйте ссылающийся объект, либо очищайте ссылку. Массовое «удалить всё без контроля» недопустимо — получите битые ссылки вида «Объект не найден» в отчётах и движениях.
Проверка результата и сокращение размера базы
После очистки проверьте три вещи: отчёты сходятся с данными до очистки на контрольную дату, в базе нет битых ссылок, размер базы действительно уменьшился. Последний пункт коварен: удаление строк из таблиц не всегда уменьшает файлы на диске.
Для файловой базы выполните тестирование и исправление в конфигураторе с включённой реструктуризацией и сжатием — файл 1Cv8.1CD заметно уменьшится. Для клиент-серверной базы шринк файлов делается средствами СУБД, но делать это нужно осознанно: в PostgreSQL используется VACUUM, в MS SQL — shrink с пониманием его влияния на фрагментацию индексов. После сжатия полезно обновить статистику и перестроить индексы.
Как проверить результат
Совпадают с отчётами, снятыми до очистки
Расхождения в остатках — искать пропущенные документы ввода остатков
Объектов «не найден» нет
В движениях и отчётах встречаются битые ссылки
Уменьшился после сжатия/вакуума
Объём прежний — данные удалены, но файлы не сжаты
База открывается, проведение и отчёты работают
Ошибки проведения, падают регламентные задания
FAQ
Можно ли очистить базу 1С без конфигуратора?
Да. Свёртка, удаление помеченных объектов и работа обработок выполняются в режиме предприятия. Конфигуратор нужен только для выгрузки dt, тестирования и исправления файловой базы и для запуска программной очистки через внешние обработки, если нет прав на их открытие в предприятии.
Удалятся ли пользователи и настройки при очистке данных?
Пользователи информационной базы хранятся отдельно от прикладных данных и при свёртке или удалении документов не затрагиваются. Настройки отчётов и варианты, хранящиеся в системных таблицах, также обычно сохраняются, если вы не очищаете их специально.
Что делать, если после удаления база не уменьшилась в размере?
Это нормально: удалённые строки оставляют пустое место внутри файлов. Для файловой базы выполните тестирование и исправление со сжатием, для клиент-серверной — штатные операции обслуживания СУБД (VACUUM в PostgreSQL, shrink и реиндексация в MS SQL).
Чем свёртка отличается от полного удаления данных?
Свёртка сохраняет остатки на выбранную дату через документы ввода остатков — учёт можно продолжать без разрыва. Полное удаление стирает все документы и регистры без переноса остатков, база становится пустой и пригодной для начала учёта с нуля.
Можно ли очистить только один вид данных, например документы за год?
Да. Отберите документы по периоду обработкой групповой пометки на удаление, затем удалите помеченные с контролем ссылочной целостности. Учтите, что движения по регистрам уйдут вместе с документами, и остатки на последующие периоды изменятся — для рабочей базы корректнее использовать свёртку.
Безопасно ли очищать регистры напрямую, минуя документы?
Технически возможно через запись пустого набора, но это разрывает связь «документ — движения». Если документы остаются, а регистры очищены, отчёты перестанут сходиться с первичкой. Прямая очистка регистров оправдана только при полном обнулении базы.
Что важно запомнить
Выбирайте способ под задачу: свёртка — для продолжающегося учёта, обработка удаления — для пустой базы с настройками, новая база из шаблона — для старта с нуля. Всегда начинайте с проверенной резервной копии, удаляйте с контролем ссылочной целостности и завершайте сверкой отчётов и сжатием файлов базы.