При работе с базами «1С:Бухгалтерия 3.0» (БП 3.0) в течение многих лет системные администраторы и программисты часто сталкиваются с проблемой критического роста объема файла информационной базы (.1CD). Когда размер базы начинает исчисляться десятками гигабайт, возникают тормоза, ошибки при обновлении и риск превышения лимитов файловой системы. Первое интуитивное решение, которое приходит в голову — «почистить» старые документы, например, выданные счета-фактуры 4-5 летней давности. Разберем подробно, почему это может быть опасно и какие методы очистки на самом деле эффективны.
Прежде чем приступать к удалению любых объектов, проанализируем ситуацию с точки зрения учета и ссылочной целостности системы. Удаление документов «в лоб» несет в себе несколько критических рисков:
Рассмотрим ситуацию, когда база разрослась до гигантских размеров. Прежде чем что-то удалять, необходимо выполнить замер самых больших таблиц. Выясним причину роста, используя типовой отчет или внешние обработки для анализа объема данных.
Как показывает практика, в 99% случаев топ-10 самых тяжелых таблиц в БП 3.0 выглядит так:
РегистрСведений.ЗамерыВремени — статистика производительности, которая может разрастаться до нескольких гигабайт, если сбор данных не был отключен или настроен неверно.РегистрСведений.ВерсииОбъектов — история изменений каждого реквизита документов и справочников. Если включено версионирование «для всех объектов», эта таблица может занимать до 70% объема всей базы.РегистрСведений.ДокументыПоТребованиюФНС — служебная информация, связанная с электронным документооборотом и отчетностью.Справочники ПрисоединенныеФайлы — сканы актов, счетов и договоров, хранящиеся прямо в теле базы данных.РегистрСведений.ДанныеОбъектовДляРегистрацииВИнформационныхБазах — остатки от планов обмена (РИБ), которые не очистились вовремя.Разберем последовательность действий, которая поможет реально уменьшить размер базы без удаления бухгалтерских документов.
Проанализируем регистр ЗамерыВремени. Если вы не занимаетесь профессиональным анализом производительности системы прямо сейчас, эти данные вам не нужны. В типовых конфигурациях существует регламентное задание по очистке замеров времени, но иногда оно дает сбой. Очистить его можно вручную через консоль запросов или специальную обработку. После очистки обязательно проверьте настройки в разделе «Администрирование — Обслуживание — Оценка производительности» и снимите галочку «Дата актуальности замеров».
Посмотрим на регистр ВерсииОбъектов. Если он занимает много места, воспользуйтесь стандартной обработкой «Очистка устаревших версий объектов» (раздел «Администрирование — Обслуживание — История изменений»). Настройте правило хранения версий (например, хранить только за последние 6 месяцев), и система сама удалит лишние мегабайты данных.
Выясним, остаются ли в базе настройки удаленных пользователей. В 1С данные хранилища настроек (позиции окон, история выбора и т.п.) привязаны к идентификаторам пользователей. Если программист просто удалил пользователя из справочника, его настройки остаются висеть «мертвым грузом». Также полезно проверить таблицы итогов на наличие пустых записей. Рассмотрим выполнение процедуры «Тестирование и исправление» (ТиИ) с включенными пунктами «Реиндексация таблиц» и «Сжатие таблиц».
Важный технический момент: в файловой версии 1С (формат .1CD) при удалении данных место физически не освобождается. Внутри файла образуются «пустоты». Чтобы файл реально уменьшился в размере, необходимо запустить Конфигуратор и выполнить «Администрирование — Тестирование и исправление — Сжатие таблиц информационной базы». Только после этой процедуры вы увидите реальный результат на диске.
Если же база действительно перегружена оборотами за 10 лет и работает крайне медленно, рассмотрим вариант использования механизма «Свертка информационной базы». Проанализируем, как это работает:
// Пример логики свертки (упрощенно):
1. Формируются документы "Операция (бухгалтерский и налоговый учет)" на дату свертки.
2. В эти операции записываются входящие остатки по всем счетам и регистрам.
3. Документы до даты свертки помечаются на удаление.
4. После удаления помеченных объектов и сжатия таблиц база значительно уменьшается.
Важно: Свертка — это сложный процесс, требующий тщательной проверки бухгалтерских итогов до и после процедуры. Лучшей практикой считается создание копии базы для архивного хранения (где останутся все счета-фактуры для проверок) и создание новой «обрезанной» рабочей базы.
Удаление конкретно выданных счетов-фактур — это борьба с симптомами, а не с болезнью. Чтобы эффективно оптимизировать базу БП 3.0, выполните следующие действия:
ЗамерыВремени, Версионирование и Регистрацию изменений в планах обмена.