Часто в процессе эксплуатации базы данных накапливается большое количество пользовательских сканов и вложений, которые сильно увеличивают ее размер. Первое, что приходит в голову — воспользоваться универсальными обработками, например, групповым изменением реквизитов: выбрать справочники присоединенных файлов и пометить их на удаление. Проанализируем ситуацию и выясним, почему такой подход может привести к серьезным проблемам, особенно если вы используете электронный документооборот (ЭДО).
Рассмотрим подробнее, как устроено хранение файлов. В конфигурациях на базе БСП (включая «1С:Бухгалтерия 3.0») подсистема ЭДО также использует механизм присоединенных файлов. Среди них есть служебные справочники, такие как СообщениеЭДОПрисоединенныеФайлы и ТранспортныйКонтейнерПрисоединенныеФайлы.
Если при использовании групповой обработки вы отметите все справочники со словом «ПрисоединенныеФайлы» в названии, вы рискуете пометить на удаление служебные файлы пакетов ЭДО, транспортные контейнеры и электронные подписи. Это безвозвратно нарушит целостность юридически значимого архива ЭДО.
Если же вы будете точечно очищать только справочники учетных документов (например, ПоступлениеТоваровУслугПрисоединенныеФайлы или АвансовыйОтчетПрисоединенныеФайлы), сам электронный документ (XML-файл и цепочки подписей) останется целым, так как он хранится в отдельных регистрах. Но при этом все пользовательские сканы и внешние вложения будут удалены.
Разберем по шагам, как правильно удалять файлы, не прибегая к опасным групповым обработкам. В типовой конфигурации предусмотрен специальный инструмент. Посмотрим на него в разделе Администрирование — Обслуживание — Очистка устаревших файлов.
Этот механизм предоставляет следующие возможности:
Если ваша главная цель — уменьшить размер самой базы данных (например, чтобы уложиться в лимиты файловой базы или ускорить процесс создания резервных копий), файлы не обязательно удалять. Посмотрим на альтернативный вариант.
В разделе Администрирование — Настройки работы с файлами можно включить опцию «Хранить файлы в томах на диске». Здесь вы задаете сетевые или локальные пути для хранения.
После этого с помощью типовой команды «Перенос файлов в тома» все загруженные ранее файлы переносятся из внутренних таблиц СУБД на жесткий диск. Для конечных пользователей ничего не меняется: они по-прежнему открывают сканы из карточек документов, но база 1С становится значительно легче.
Если вы все же решили очистить базу путем удаления, важно понимать, как 1С работает с дисковым пространством. Рассмотрим технические нюансы, о которых часто забывают.
Во-первых, обычная пометка на удаление не стирает данные физически. После того как вы пометили объекты, обязательно требуется запустить штатную процедуру удаления помеченных объектов.
Во-вторых, даже после полного удаления объектов из 1С, физический размер файла базы на жестком диске не уменьшается автоматически. Свободное место образуется внутри структуры базы, и оно будет использоваться для новых данных. Если вам нужно именно физически уменьшить размер файла, выполните следующие действия в зависимости от вашей архитектуры:
1Cv8.1CD и уменьшит его размер.VACUUM FULL, если вы используете PostgreSQL.Используйте штатные инструменты обслуживания, и ваша база всегда будет оптимального размера без риска потери важных юридических документов.