Почему не удаляются файлы с диска в 1С:Документооборот 2.1 при хранении в томах?

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

При работе с конфигурацией 1С:Документооборот 2.1 КОРП администраторы часто сталкиваются с ситуацией, когда после удаления карточки документа или самого файла в интерфейсе программы, физический файл в сетевой папке (томе) продолжает занимать место. Особенно остро эта проблема проявляется при использовании электронных подписей (ЭП), когда на диске остаются PDF-копии со штампами визуализации. Проанализируем, почему так происходит, и разберем по шагам механизмы очистки хранилища.

Механизм отложенного удаления файлов

Важно понимать, что в системе 1С реализован принцип безопасности данных: удаление записи в информационной базе не влечет за собой немедленное стирание файла с жесткого диска. Это сделано для обеспечения высокой производительности (чтобы не блокировать работу пользователя операциями ввода-вывода) и предотвращения случайной потери данных. Рассмотрим стандартный цикл жизни файла при удалении:

  1. Пользователь помечает файл на удаление в карточке документа.
  2. Администратор запускает стандартную обработку УдалениеПомеченныхОбъектов.
  3. После успешного удаления записи из справочника Файлы или ВерсииФайлов, физический файл в томе становится «осиротевшим» (в базе данных на него больше никто не ссылается).
  4. Окончательную очистку диска выполняет специальное регламентное задание.

Если вы удалили объект, но файлы на диске остались — в первую очередь необходимо проверить статус регламентного задания ОчисткаНенужныхФайлов. Выясним, как это работает: данное задание не просто просматривает папки, оно анализирует регистр сведений ХранимыеФайлыВерсий и ищет записи, помеченные к удалению или потерявшие связь с владельцами.

Особенности файлов с электронными подписями

Ситуация значительно усложняется, если документ был подписан ЭЦП. Проанализируем, почему стандартное удаление может не срабатывать в этом случае. При подписании PDF-файла 1С:Документооборот генерирует дополнительные служебные данные:

Как показывает практика, при пометке на удаление основного файла, система может «забыть» автоматически пометить на удаление связанные с ним объекты в справочнике Электронные подписи или регистры с визуализированными штампами. Пока в базе существует хотя бы одна запись, указывающая на визуализированную версию файла, регламентное задание по очистке будет считать этот файл «нужным» и не тронет его на диске.

Настройка автоматической очистки томов

Для корректной работы системы необходимо настроить правила очистки. Разберем этот процесс подробнее:

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

Если эти настройки не заданы, 1С будет хранить все физические файлы «на всякий случай», даже если ссылки на них в базе данных отсутствуют.

Использование инструмента «Проверка целостности томов»

Если регламентные задания выполнены, правила настроены, а лишние файлы (как в случае с PDF и штампами ЭП) всё равно остаются, воспользуемся самым мощным инструментом администратора — проверкой целостности. Рассмотрим, как запустить этот процесс:

  1. Зайдите в раздел Настройка и администрирование — Тома хранения файлов.
  2. Нажмите кнопку Проверка целостности.
  3. Система просканирует все файлы на диске и сопоставит их с записями в базе данных.

В результате проверки вы получите отчет, в котором будут выделены «Лишние файлы на диске» — это те самые файлы, которые физически существуют, но программа о них ничего не знает. Прямо из этого отчета можно выполнить команду удаления этих файлов. Это наиболее эффективный способ избавиться от остатков штампов ЭЦП и «зависших» копий.

Проверка прав доступа на уровне ОС

Иногда причина кроется не в логике 1С, а в настройках прав доступа Windows или Linux. Проанализируем технический нюанс: служба сервера 1С:Предприятие работает под определенной учетной записью (например, USR1CV8).

Для успешного удаления файлов у этой учетной записи в сетевой папке (томе) должны быть полные права. Часто администраторы дают права на «Чтение» и «Запись», но забывают про право «Удаление» (Delete). В такой ситуации 1С не выдает ошибку в интерфейс пользователя (так как команда на удаление была отправлена), но операционная система блокирует физическое стирание файла. Убедитесь, что для папок томов установлены полные права для пользователя, под которым запущен сервер 1С.

Пример программного контроля ссылок на файлы

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


ВыборкаФайлов = Справочники.Файлы.Выбрать();
Пока ВыборкаФайлов.Следующий() Цикл
    Если ВыборкаФайлов.ПометкаУдаления Тогда
        ТаблицаСсылок = НайтиПоСсылкам(Новый Массив(ВыборкаФайлов.Ссылка));
        Для Каждого СтрокаСсылок Из ТаблицаСсылок Цикл
            Сообщить("Файл " + ВыборкаФайлов.Наименование + " удерживается объектом: " + СтрокаСсылок.Данные);
        КонецЦикла;
    КонецЕсли;
КонецЦикла;

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

Резюме

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

  1. Убедитесь, что регламентное задание ОчисткаНенужныхФайлов включено и выполняется без ошибок.
  2. Проверьте настройки очистки файлов в административном разделе.
  3. При использовании ЭЦП регулярно запускайте Проверку целостности томов для выявления «осиротевших» PDF-штампов.
  4. Проверьте права доступа учетной записи сервера 1С на физическое удаление файлов в папках томов.

Соблюдение этих правил позволит поддерживать чистоту хранилища и избегать неконтролируемого роста объема дискового пространства.

← На главную