Администрирование · 9 мин
Как очистить 1С:Документооборот от лишних данных
Практическая инструкция по очистке базы 1С:Документооборот: удаление устаревших документов, версий файлов, журналов и задач без потери данных.
Со временем база 1С:Документооборот разрастается: накапливаются версии файлов, завершённые задачи, записи журналов регистрации, устаревшие документы и помеченные на удаление объекты. Результат — медленная работа, долгие резервные копии и переполненное дисковое пространство. Очистка решает эти проблемы, но выполнять её нужно планомерно, чтобы не удалить данные, которые ещё нужны бухгалтерии, кадровой службе или руководству.
Под очисткой обычно понимают три разные задачи: удаление помеченных объектов, сокращение истории (версии файлов, журналы, выполненные процессы) и регламентное сжатие базы на уровне СУБД. У каждой задачи свои инструменты и свои риски. Ниже разобраны все три направления с конкретными шагами для типовой конфигурации 1С:Документооборот 8.
Что именно занимает место в базе
Прежде чем удалять, полезно понять, что даёт основной прирост объёма. В большинстве внедрений лидируют версии файлов: каждая редакция документа Word или скан сохраняется целиком, и за несколько лет работы накапливаются сотни гигабайт. Второй крупный потребитель — журнал регистрации и история событий документооборота, особенно если включён подробный аудит действий пользователей.
Далее идут помеченные на удаление объекты (они физически остаются в базе, пока их не удалить), завершённые бизнес-процессы и задачи, а также служебные таблицы очередей и уведомлений. Оценить структуру занятого места можно стандартными отчётами СУБД: в MS SQL Server — отчёт «Disk Usage by Table», в PostgreSQL — запросами к pg_total_relation_size.
Проверьте размер таблиц версий файлов и журнала регистрации на уровне СУБД
Откройте Администрирование → Удаление помеченных объектов и посмотрите список
Проверьте количество завершённых процессов и выполненных задач
Подготовка: резервная копия и тестовая база
Любая массовая очистка — операция с необратимыми последствиями. Перед началом сделайте полную резервную копию базы средствами СУБД (для клиент-серверного варианта) или выгрузку в dt через конфигуратор (для файлового). Проверьте, что копия восстанавливается: бэкап, который никто не проверял, не считается бэкапом.
Оптимальный порядок — сначала выполнить все операции на копии базы, измерить результат (сколько места освободилось, ничего ли не сломалось в отчётах и правах доступа) и только потом повторить на рабочей базе. Это особенно важно, если в конфигурацию вносились доработки: нестандартные отчёты могут ссылаться на данные, которые вы планируете удалить.
Удаление помеченных объектов
Самый простой и безопасный этап. В интерфейсе откройте раздел «Администрирование» → «Удаление помеченных объектов» (в тонком клиенте также доступно через «Все функции» → «Стандартные» → «Удаление помеченных объектов»). Система покажет список всех объектов, помеченных на удаление, и предложит выборочный или полный режим.
Выборочный режим предпочтительнее: часть объектов может быть заблокирована ссылками из других документов. Например, помеченный контрагент, на которого ссылается действующий договор, удалён не будет — и это правильно. После обработки изучите список «не удалённых» объектов: либо снимите пометку, либо устраните ссылки и повторите удаление.
Для больших баз запускайте удаление в нерабочее время: при десятках тысяч объектов операция занимает часы и блокирует таблицы. В клиент-серверном варианте можно настроить регламентное задание на ночной запуск.
- 1Откройте Администрирование → Удаление помеченных объектов
- 2Выберите режим «Выборочное удаление» и запустите поиск помеченных объектов
- 3Просмотрите список, исключите спорные объекты, запустите удаление
- 4Разберите объекты, которые не удалились из-за ссылок
- 5Повторите до полной очистки списка
Сокращение версий файлов и вложений
Версии файлов — главный кандидат на сокращение. В настройках документооборота (раздел «Настройки» → «Файлы» или политики хранения, в зависимости от редакции) проверьте, включено ли ограничение числа хранимых версий. Если версионирование ведётся без ограничений, старые редакции будут копиться бесконечно.
Типовая практика — оставлять ограниченное число последних версий (например, несколько последних редакций) и удалять промежуточные. Для массовой обработки используются штатные механизмы очистки версий либо обработки, написанные под конкретную редакцию конфигурации. Внимательно проверьте, не хранятся ли сканы подписанных документов в виде версий: их удалять нельзя, так как это единственный экземпляр юридически значимого образа документа.
Если файлы хранятся в томах на диске, а не в базе, помните: удаление объекта «Файл» в 1С не всегда удаляет физический файл из тома. Проверьте настройки томов и, при необходимости, очистите «осиротевшие» файлы на диске после сверки с базой.
Очистка журналов, истории и завершённых процессов
Журнал регистрации в клиент-серверном режиме хранится отдельно и сокращается через конфигуратор: «Администрирование» → «Настройка журнала регистрации» → «Сократить». Укажите дату, до которой удалить события, и обязательно сохраните старый журнал в файл, если история действий пользователей может понадобиться для расследований инцидентов.
Завершённые бизнес-процессы и их задачи накапливаются годами. Типовой подход — пометить на удаление процессы, завершённые раньше установленного срока (срок согласуйте с пользователями: по завершённым процессам часто строят аналитику). После пометки выполните удаление помеченных объектов. Учтите, что задачи удаляются вместе с процессами, а история по ним становится недоступна.
Также проверьте регламентные задания: очереди уведомлений, протоколы обмена, логи синхронизаций. Многие из них имеют собственные настройки глубины хранения — установите разумные сроки, чтобы проблема не вернулась через полгода.
Сжатие базы на уровне СУБД
После удаления данных внутри 1С физический размер файлов базы часто не уменьшается: СУБД оставляет освободившееся место «про запас». В MS SQL Server используется операция shrink (DBCC SHRINKDATABASE или через Management Studio), но применять её нужно осознанно: частые сжатия фрагментируют индексы. Правильная последовательность — сжатие, затем перестроение индексов и обновление статистики.
В PostgreSQL обычный VACUUM не возвращает место системе — для этого нужен VACUUM FULL (с блокировкой таблицы) или pg_repack. В файловом варианте 1С выполните «Тестирование и исправление» с включённым режимом сжатия таблиц информационной базы.
Как проверить результат
Объём файлов СУБД заметно уменьшился после сжатия
Размер не изменился — сжатие не выполнялось или данные не удалились
Отчёты формируются, поиск находит актуальные документы
Ошибки «объект не найден» — удалено что-то нужное, восстанавливайте из копии
Задания выполняются без ошибок
Ошибки в журнале заданий после очистки
Профилактика: как не допустить повторного разрастания
Разовая очистка решает проблему на несколько месяцев. Чтобы база не разрасталась снова, настройте регламент: автоматическое удаление помеченных объектов по расписанию, ограничение числа версий файлов, периодическое сокращение журнала регистрации и регламентное обслуживание СУБД (перестроение индексов, обновление статистики).
Дополнительно рассмотрите вынос файлов в тома на отдельном дисковом массиве — это не уменьшит объём, но упростит управление местом и резервное копирование. Раз в квартал контролируйте размер крупнейших таблиц, чтобы заметить аномальный рост на ранней стадии.
Что важно запомнить
Очистка выполняется поэтапно: резервная копия, удаление помеченных объектов, сокращение версий файлов и журналов, затем сжатие на уровне СУБД. Все действия сначала проверяются на тестовой копии, а данные с обязательными сроками хранения не трогают. Закрепите результат регламентными заданиями, чтобы база не разрасталась снова.
Частые вопросы
Можно ли очищать базу напрямую SQL-запросами?
Нет, это крайне нежелательно. Прямые DELETE нарушают ссылочную целостность: в документах останутся «битые» ссылки, а конфигурация может перестать корректно работать. Кроме того, такие действия фактически снимают базу с поддержки. Используйте только штатные механизмы платформы и конфигурации.
Как часто нужно выполнять очистку?
Удаление помеченных объектов разумно автоматизировать еженедельно или ежемесячно. Сокращение журнала регистрации и ревизию версий файлов — раз в квартал или при достижении порога по объёму. Сжатие СУБД — только после крупных удалений, а не по расписанию.
Удалятся ли документы, если удалить завершённые процессы?
Нет. Бизнес-процессы и задачи — отдельные объекты; сами документы, по которым шли процессы, остаются в базе. Удаляется история маршрутов и исполнения, но не учётные данные. Именно поэтому срок хранения завершённых процессов согласуют с теми, кто строит по ним отчётность.
Что делать, если после очистки появились ошибки «объект не найден»?
Это признак удаления данных, на которые остались ссылки. Немедленно прекратите дальнейшую очистку, восстановите базу из резервной копии или восстановите конкретные объекты из копии, если среда это позволяет. Затем пересмотрите перечень удаляемых данных.
Нужно ли останавливать работу пользователей на время очистки?
Для массовых операций — да, желательно. Удаление сотен тысяч объектов и сжатие базы создают блокировки и нагрузку на дисковую подсистему. Выполняйте такие работы ночью или в выходные, предварительно предупредив пользователей и завершив активные сеансы.