База 1С:Документооборота разрослась: что удалять и в каком порядке
Содержание
Очистить 1С:Документооборот от лишних файлов и данных можно в четыре хода: удалить помеченные объекты, убрать старые версии файлов, вынести файлы из базы в тома на диске и сократить служебные данные (журнал регистрации, историю версий объектов). Главный объём почти всегда дают файлы: в типичной базе ДО они занимают больше места, чем все документы и справочники вместе.
Поэтому начинайте не с удаления документов, а с измерения. Сначала узнайте, что именно раздуло базу, и только потом чистите. Иначе легко потратить вечер на удаление тысячи черновиков и выиграть 200 МБ из 80 ГБ.
С чего начать: измеряем, что занимает место
Без цифр очистка превращается в угадайку. Есть три способа понять, куда ушли гигабайты.
📊 Средствами платформы. С версии платформы 8.3.15 есть метод ПолучитьРазмерДанныхБазыДанных(). Он возвращает размер данных по указанным объектам метаданных. Администратор или программист запускает его из внешней обработки и получает таблицу «объект → объём».
🗄 Средствами СУБД. Для клиент-серверной базы на MS SQL Server размеры таблиц показывает стандартный отчёт «Disk Usage by Top Tables» в SQL Server Management Studio. Имена таблиц там служебные (_Reference45, _InfoRg1234). Сопоставить их с объектами 1С помогает метод ПолучитьСтруктуруХраненияБазыДанных().
💾 По размеру каталогов. Если файлы уже лежат в томах на диске, просто посмотрите размер папок томов. Это быстрее всего.
Что обычно оказывается в лидерах:
- 📎 таблицы присоединённых файлов и их версий;
- 📝 журнал регистрации (хранится отдельно, в каталоге
1Cv8Logрядом с базой или в каталоге кластера); - 🕓 история изменений объектов (версии объектов);
- 🔍 индекс полнотекстового поиска;
- ✉️ встроенная почта, если ею активно пользуются.
Запишите исходные цифры: размер базы, размер томов, размер журнала регистрации. После очистки сравните. Так вы увидите, какой шаг дал результат, и в следующий раз начнёте с него.
Удаление помеченных объектов: как работает «корзина» ДО
В Документообороте, как и в других программах на 8.3, удаление идёт в два этапа. Пользователь ставит на документ, файл или элемент справочника пометку на удаление. Объект остаётся в базе, в списке он перечёркнут. Пока пометка стоит, её можно снять, и объект вернётся в работу.
Физически объекты удаляет обработка «Удаление помеченных объектов». В конфигурациях на БСП она открывается из раздела администрирования, группа Обслуживание. Если не найдёте её в меню, наберите название в поиске по командам интерфейса.
Как пройти удаление без сюрпризов:
- Попросите пользователей завершить работу или выберите время, когда нагрузка минимальна.
- Откройте обработку и выберите режим с выборочным удалением, чтобы видеть список.
- Просмотрите, что попало в список. Иногда пометку ставят по ошибке на нужный договор.
- Запустите удаление.
- Разберите объекты, которые не удалились. Обработка покажет, на что они ссылаются, и где они используются.
Объект не удаляется, если на него есть ссылки. Пример: помечен вид документа «Служебная записка», а в базе 3 000 служебок этого вида. Пока они существуют, вид документа удалить нельзя. Это защита, а не сбой.
Удаление помеченных объектов необратимо. Вернуть удалённое можно только из резервной копии. Сделайте копию базы перед первым запуском, особенно если пометки копились годами и никто их не проверял.
Хранилище файлов и версии: где прячутся гигабайты
Каждое сохранение файла в ДО создаёт новую версию. Договор, который юрист правил 15 раз, хранится в базе 15 раз. При вложениях по 5 МБ это уже 75 МБ на один документ. Отсюда и рост базы на десятки гигабайт в год.
Удаление старых версий файлов
Версии видны в карточке файла, на закладке или в списке версий. Ненужные промежуточные версии можно пометить на удаление вручную и затем удалить обработкой из предыдущего раздела. Текущую версию программа не даст удалить, пока файл существует.
Для массовой очистки в актуальных редакциях на БСП 3.x есть настройка очистки ненужных файлов. Она удаляет устаревшие версии по правилам: например, версии старше заданного срока. Ищите её в настройках работы с файлами в разделе администрирования. Настройка запускается вручную или регламентным заданием.
Какие правила разумны на практике:
| Тип файлов | Что оставлять | Комментарий |
|---|---|---|
| Договоры и ОРД | все версии | спорные редакции могут понадобиться в суде |
| Входящая корреспонденция | последнюю версию | правок обычно нет |
| Внутренние черновики, служебки | версии за 6–12 месяцев | дальше не нужны |
| Сканы с повторным распознаванием | последнюю версию | копии одного скана |
Перенос файлов из базы в тома
Если файлы хранятся прямо в информационной базе, она растёт быстрее всего, а резервная копия становится тяжёлой. Правильная схема — хранить файлы в томах на диске, а в базе держать только ссылки.
Порядок такой:
- Создайте каталог для тома на сервере. Если сервер 1С работает под отдельной учётной записью (например,
USR1CV8), дайте ей полный доступ к каталогу. - В разделе администрирования откройте настройки работы с файлами и включите хранение файлов в томах на диске.
- Создайте том хранения файлов: укажите путь (для сервера — сетевой путь вида
\\fileserver\DO_Volumes\Vol01) и, при желании, максимальный размер. - Запустите перенос файлов из базы в тома. Это отдельная команда рядом с настройками томов.
- После переноса сожмите базу (см. раздел про технические методы), иначе освободившееся место останется внутри файлов СУБД.
Тома не входят в выгрузку .dt и в бэкап SQL-базы. После переноса копируйте базу и каталоги томов вместе и в один момент времени. Копия базы без томов — это копия без файлов.
Регламентные задания: очистка без ручного труда
Ручную очистку раз в год быстро забывают. Надёжнее настроить регламентные задания, которые работают по расписанию. Список открывается в разделе администрирования: Обслуживание → Регламентные операции → Регламентные и фоновые задания.
Что стоит проверить в списке:
- 🗑 Удаление помеченных объектов по расписанию. В БСП можно включить автоматическое удаление помеченных объектов. Удобно, если в базе дисциплина и пометки ставят осознанно. Если нет — оставьте ручной режим с просмотром списка.
- 📎 Очистка ненужных файлов. Применяет правила удаления устаревших версий.
- 🕓 Очистка устаревших версий объектов. Удаляет историю изменений карточек старше заданного срока.
- 🔍 Обновление и слияние индекса полнотекстового поиска. Индекс сам по себе не чистится, но без слияния он разрастается из множества мелких частей.
- 📄 Извлечение текста. Нужно для поиска по содержимому файлов. Если поиск по тексту файлов не используется, задание можно отключить и сэкономить место и ресурсы сервера.
Расписание тяжёлых заданий ставьте на ночь или выходные. Удаление тысяч объектов днём заметно тормозит работу пользователей.
В клиент-серверной базе регламентные задания выполняет сервер 1С. Проверьте, что для базы не установлена блокировка регламентных заданий в свойствах информационной базы в консоли кластера, иначе расписание будет красивым, но ничего не запустится.
Архив и «холодное» хранение старых документов
Не всё старое нужно удалять. Часть документов закон обязывает хранить годами. Здесь работают два механизма: холодное хранение файлов и законное уничтожение дел.
Холодное хранение файлов
Документы прошлых лет открывают редко. Хранить их на быстром SSD дорого. Практичный приём:
- Создайте новый том на быстром диске и поставьте его первым в порядке заполнения.
- Старому тому задайте максимальный размер, равный текущему. Новые файлы в него больше не попадут.
- Перенесите каталог старого тома на медленное и дешёвое хранилище и поправьте путь в настройках тома.
Файлы остаются доступны из карточек документов, просто открываются чуть медленнее. Перенос каталога делайте в нерабочее время: пока путь не исправлен, пользователи получат ошибку при открытии старых файлов.
Уничтожение дел по истечении сроков
Удалять из ДО документы, которые входят в номенклатуру дел, правильно через делопроизводство, а не обработкой удаления. В Документообороте документы раскладываются по делам номенклатуры, у каждой статьи номенклатуры есть срок хранения.
Когда срок истёк, экспертная комиссия отбирает дела к уничтожению, оформляется акт о выделении дел к уничтожению. Только после этого документы удаляют из базы. Сроки берут из перечня типовых управленческих документов, утверждённого приказом Росархива № 236, и из отраслевых перечней.
| Что удаляем | Каким способом |
|---|---|
| Черновики, дубли, ошибочно созданные карточки | пометка на удаление + удаление помеченных |
| Документы в деле с истёкшим сроком хранения | акт о выделении к уничтожению, затем удаление |
| Документы постоянного или длительного хранения | не удаляем, переносим файлы в «холодный» том |
Удаление документа, срок хранения которого не истёк, — нарушение правил архивного хранения. Отвечать за это будет организация, а не программа.
Технические методы очистки базы данных
После удаления объектов и переноса файлов база на диске может не уменьшиться. Место освобождается внутри файлов, а не возвращается операционной системе. Для этого нужны технические операции.
Файловая база
В Конфигураторе: Администрирование → Тестирование и исправление, флажок «Сжатие таблиц информационной базы». Операция требует монопольного доступа: все пользователи должны выйти из базы. Перед запуском сделайте копию каталога базы.
Клиент-серверная база на MS SQL
Сжатие выполняют средствами СУБД:
-- имя базы замените на своё
USE DO_PROD;
DBCC SHRINKDATABASE (DO_PROD);
После сжатия индексы фрагментируются, поэтому следом перестройте их. Удобнее всего настроить план обслуживания в SQL Server Management Studio с перестроением индексов и обновлением статистики. Сжатие делайте разово после крупной чистки, а не по расписанию: регулярный shrink лишь гоняет файл туда-обратно.
Журнал регистрации
Журнал регистрации живёт отдельно от базы и может весить десятки гигабайт. Сократить его можно в Конфигураторе: Администрирование → Журнал регистрации, команда сокращения с выбором даты, до которой удалить записи. Там же можно выгрузить удаляемые записи в файл, если их нужно сохранить.
Чтобы журнал не рос снова, уменьшите уровень детализации. Для рабочей базы обычно хватает регистрации ошибок и предупреждений, без всех событий.
Поиск дублей и мусора в справочниках
Дубли не столько занимают место, сколько мешают работе: два «ООО Ромашка» в справочнике, письма разнесены по обоим, поиск выдаёт половину переписки.
В конфигурациях на БСП есть обработка «Поиск и удаление дублей». Она находится в разделе администрирования, в группе корректировки данных. Порядок работы:
- Выберите справочник: контрагенты, физические лица, корреспонденты.
- Задайте правило сравнения: наименование по похожести, ИНН на точное совпадение.
- Просмотрите найденные группы и выберите в каждой оригинал.
- Запустите замену. Ссылки на дубли во всех документах заменятся на оригинал, а дубли пометятся на удаление или удалятся сразу.
Для контрагентов ищите по ИНН и КПП, а не только по наименованию. «Ромашка ООО» и «ООО “Ромашка”» по тексту похожи слабо, а по ИНН совпадают точно.
Отдельный вид мусора — одинаковые файлы, прикреплённые к разным карточкам. Типовой отчёт по дублям файлов есть не во всех редакциях. Если нужно найти такие файлы, программист может сравнить их по размеру и контрольной сумме внешней обработкой. Удалять их стоит осторожно: каждая копия может быть юридически самостоятельным приложением к своему документу.
Чего делать нельзя
Несколько способов «почистить» базу, которые приносят больше вреда, чем пользы:
- ❌ Удалять файлы из каталога тома вручную. База будет ссылаться на несуществующие файлы, пользователи получат ошибку при открытии. Проверку целостности тома потом придётся проводить заново.
- ❌ Чистить таблицы SQL-запросами
DELETE. Нарушается ссылочная целостность, а итоги регистров перестают сходиться. Только средствами 1С. - ❌ Удалять документы с действующими процессами. Сначала завершите или прервите процессы и задачи, иначе в базе останутся задачи без предмета.
- ❌ Запускать удаление помеченных днём в рабочей базе. Операция долгая, нагружает сервер и конфликтует с правками пользователей.
Сколько места освобождает удаление старых версий файлов?
Можно ли удалить документ, если он включён в дело?
Почему после удаления помеченных объектов база не уменьшилась?
Как часто нужна полная очистка?
Удаляются ли файлы из тома, когда удаляется карточка файла?
Источники
- Федеральный закон от 22.10.2004 № 125-ФЗ «Об архивном деле в Российской Федерации»
- Приказ Росархива от 20.12.2019 № 236 «Об утверждении Перечня типовых управленческих архивных документов, образующихся в процессе деятельности государственных органов, органов местного самоуправления и организаций, с указанием сроков их хранения»