Очистка базы данных и истории в 1С: безопасные методы
Очистка базы данных и истории в 1С выполняется штатными средствами конфигуратора, режима предприятия или консоли СУБД. Перед любыми действиями обязательно создайте резервную копию базы данных.
Перед любыми операциями по очистке обязательно сделайте резервную копию базы данных! Даже штатные операции при сбоях оборудования или ошибках в данных могут привести к необратимым последствиям.
Оглавление
Очистка журнала регистрации
Журнал регистрации может занимать значительный объем места. Его очистка должна проводиться только штатными средствами:
- Через конфигуратор: Меню «Администрирование» → «Журнал регистрации». В открывшемся окне установите отбор по дате и удалите устаревшие записи. Это наиболее безопасный способ для файловых баз.
- Через режим предприятия (БСП): В конфигурациях на базе Библиотеки стандартных подсистем (БСП) используйте обработку «Управление журналом регистрации» (НСИ и администрирование → Обслуживание системы). Она позволяет настроить автоматическую очистку по расписанию и сократить журнал без входа в конфигуратор.
- Для клиент-серверных баз: Используйте консоль кластера серверов 1С или специальные регламентные задания БСП. Прямая чистка через конфигуратор на больших базах может блокировать работу пользователей.
Удаление помеченных объектов
Перед физической очисткой необходимо удалить ненужные справочники, документы и элементы:
- Пометьте объекты на удаление в режиме предприятия.
- Выполните обработку «Удаление помеченных объектов» (Администрирование → Поддержка и обслуживание).
Выбирайте режим «Полное удаление» только если уверены, что ссылки на эти объекты не нужны. Режим «Выборочное удаление» безопаснее, но оставляет битые ссылки.
Сжатие и оптимизация базы данных
После удаления данных физический размер файла базы (для файлового режима) или таблиц СУБД не уменьшается автоматически.
Файловая база:
Используйте встроенную утилиту chdbfl.exe (находится в папке с платформой 1С). Запустите её, выберите файл .1cd, поставьте галочку «Исправлять обнаруженные ошибки» и выполните проверку/сжатие. Также можно выполнить свертку информационной базы через конфигуратор («Администрирование» → «Свертка информационной базы»), что удаляет старые движения регистров и уменьшает размер.
Клиент-серверная база (SQL/PostgreSQL): Необходимо выполнять обслуживание средствами СУБД:
- MS SQL: Reorganize/Rebuild индексов, Shrink Database (с осторожностью), обновление статистики.
- PostgreSQL: VACUUM FULL (требует эксклюзивной блокировки) или pg_repack для очистки без простоя.
Частые ошибки
- Удаление файлов базы вручную из проводника для «очистки истории».
- Использование SQL-запросов DELETE/TRUNCATE напрямую к таблицам 1С для очистки документов или регистров. Это гарантированно сломает базу, так как 1С хранит данные в сложной структуре метаданных. Исключение — очистка таблиц сеансовых данных или временных хранилищ квалифицированным администратором.
- Очистка регистров сведений/накопления путем удаления записей без понимания механизма накопления итогов. Используйте документы-сторно или специализированные обработки.
FAQ
Как уменьшить размер файловой базы 1С без потери данных?
Используйте утилиту chdbfl.exe с включенной опцией «Исправлять обнаруженные ошибки» и выполните свертку информационной базы через конфигуратор для удаления старых движений регистров.
Почему нельзя очищать регистры накопления прямым удалением записей? Это нарушает механизм накопления итогов и ломает базу. Для корректировки используйте документы-сторно или специализированные обработки.