Как безопасно удалить прикрепленные файлы в 1С:Бухгалтерия 3 и не повредить документы ЭДО?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Часто в процессе эксплуатации базы данных накапливается большое количество пользовательских сканов и вложений, которые сильно увеличивают ее размер. Первое, что приходит в голову — воспользоваться универсальными обработками, например, групповым изменением реквизитов: выбрать справочники присоединенных файлов и пометить их на удаление. Проанализируем ситуацию и выясним, почему такой подход может привести к серьезным проблемам, особенно если вы используете электронный документооборот (ЭДО).

Влияние на 1С-ЭДО и риски группового изменения реквизитов

Рассмотрим подробнее, как устроено хранение файлов. В конфигурациях на базе БСП (включая «1С:Бухгалтерия 3.0») подсистема ЭДО также использует механизм присоединенных файлов. Среди них есть служебные справочники, такие как СообщениеЭДОПрисоединенныеФайлы и ТранспортныйКонтейнерПрисоединенныеФайлы.

Если при использовании групповой обработки вы отметите все справочники со словом «ПрисоединенныеФайлы» в названии, вы рискуете пометить на удаление служебные файлы пакетов ЭДО, транспортные контейнеры и электронные подписи. Это безвозвратно нарушит целостность юридически значимого архива ЭДО.

Если же вы будете точечно очищать только справочники учетных документов (например, ПоступлениеТоваровУслугПрисоединенныеФайлы или АвансовыйОтчетПрисоединенныеФайлы), сам электронный документ (XML-файл и цепочки подписей) останется целым, так как он хранится в отдельных регистрах. Но при этом все пользовательские сканы и внешние вложения будут удалены.

Штатный механизм: «Очистка устаревших файлов»

Разберем по шагам, как правильно удалять файлы, не прибегая к опасным групповым обработкам. В типовой конфигурации предусмотрен специальный инструмент. Посмотрим на него в разделе Администрирование — Обслуживание — Очистка устаревших файлов.

Этот механизм предоставляет следующие возможности:

  1. Гибкие правила отбора: Вы можете настроить условия очистки индивидуально для каждого объекта (документа или справочника). Например, удалять файлы старше определенного количества дней, созданные конкретным автором или имеющие определенное расширение.
  2. Очистка тела файла: Это самое важное преимущество. Инструмент удаляет только сам бинарный файл (содержимое), но сохраняет его карточку в базе данных. В результате пользователи продолжают видеть факт прикрепления документа и его атрибуты, но физический объем, занимаемый в базе, освобождается.
  3. Фоновая работа: Процесс можно настроить по расписанию через регламентные задания. Очистка будет происходить в фоне, без монопольного захвата базы и блокировки работы пользователей.

Альтернатива удалению: вынос файлов в тома на диске

Если ваша главная цель — уменьшить размер самой базы данных (например, чтобы уложиться в лимиты файловой базы или ускорить процесс создания резервных копий), файлы не обязательно удалять. Посмотрим на альтернативный вариант.

В разделе Администрирование — Настройки работы с файлами можно включить опцию «Хранить файлы в томах на диске». Здесь вы задаете сетевые или локальные пути для хранения.

После этого с помощью типовой команды «Перенос файлов в тома» все загруженные ранее файлы переносятся из внутренних таблиц СУБД на жесткий диск. Для конечных пользователей ничего не меняется: они по-прежнему открывают сканы из карточек документов, но база 1С становится значительно легче.

Ограничения платформы по освобождению места на диске

Если вы все же решили очистить базу путем удаления, важно понимать, как 1С работает с дисковым пространством. Рассмотрим технические нюансы, о которых часто забывают.

Во-первых, обычная пометка на удаление не стирает данные физически. После того как вы пометили объекты, обязательно требуется запустить штатную процедуру удаления помеченных объектов.

Во-вторых, даже после полного удаления объектов из 1С, физический размер файла базы на жестком диске не уменьшается автоматически. Свободное место образуется внутри структуры базы, и оно будет использоваться для новых данных. Если вам нужно именно физически уменьшить размер файла, выполните следующие действия в зависимости от вашей архитектуры:

  1. Для файловой базы: Зайдите в Конфигуратор. Выберите Администрирование — Тестирование и исправление. Установите флаг Сжатие таблиц информационной базы и выполните процедуру. Это перестроит файл 1Cv8.1CD и уменьшит его размер.
  2. Для клиент-серверной базы (SQL): После очистки таблиц в 1С необходимо выполнить операцию сжатия средствами самой СУБД. Например, использовать команду Shrink в MS SQL Server или выполнить VACUUM FULL, если вы используете PostgreSQL.

Используйте штатные инструменты обслуживания, и ваша база всегда будет оптимального размера без риска потери важных юридических документов.

← На главную