Администрирование · 10 мин
Как уменьшить файловую базу 1С
Как уменьшить файловую базу 1С: тестирование и исправление, сжатие таблиц, свёртка, очистка версий объектов и журнала регистрации с проверкой результата.
Файловая база 1С хранится в одном файле 1Cv8.1CD, который со временем разрастается: накапливаются документы, версии объектов, записи журнала регистрации, удалённые, но физически не вычищенные данные. Симптомы типичны: база тормозит при открытии, долго выполняются отчёты, резервная копия занимает всё больше места, а при размере в несколько гигабайт возрастает риск повреждения файла.
Уменьшить файловую базу можно несколькими способами разной «глубины»: от безопасной очистки служебных данных до свёртки остатков и переноса данных в новую базу. Правильная последовательность — сначала безрисковые операции (сжатие таблиц, чистка журналов), затем, если эффекта недостаточно, более радикальные методы.
Перед любыми действиями сделайте резервную копию: закройте базу у всех пользователей и скопируйте файл 1Cv8.1CD в отдельную папку либо создайте выгрузку через конфигуратор («Администрирование → Выгрузить информационную базу»). Без копии откатить ошибку при свёртке или сжатии будет невозможно.
Как понять, что база разрослась и из-за чего
Первый признак — размер файла 1Cv8.1CD заметно превышает объём реально введённых данных. Например, в базе несколько тысяч документов, а файл занимает 3–4 ГБ. Обычно виноваты: журнал регистрации, хранение версий объектов, помеченные на удаление объекты, вложения и файлы в справочниках, а также «физический мусор» — место внутри файла, которое освободилось после удаления записей, но не вернулось операционной системе.
Второй косвенный признак — деградация скорости: медленное проведение документов, долгое открытие списков и формирование отчётов. Это не всегда связано напрямую с размером, но большие таблицы и разросшиеся индексы усугубляют проблему.
Оцените ситуацию до начала работ: посмотрите размер файла базы, размер папки с журналом регистрации (если он хранится отдельно) и проверьте, включено ли версионирование объектов и хранение присоединенных файлов в базе.
Поможет сжатие таблиц при тестировании и исправлении
Проверьте настройки и очистите историю версий
Переведите хранение файлов в тома на диске
Сократите журнал через выгрузку с отбором по периоду
Резервная копия и подготовка к работе
Все операции по уменьшению базы выполняются в монопольном режиме: пользователи должны выйти, фоновые задания — завершиться. Для файловой базы достаточно убедиться, что файл никем не открыт, и отключить общий сетевой доступ к папке на время работ.
Сделайте два вида копий: простое копирование файла 1Cv8.1CD и выгрузку в dt через конфигуратор. Копия файла позволяет мгновенно откатиться, а dt-выгрузка пригодится, если сам файл окажется повреждён.
Сжатие таблиц через тестирование и исправление
Основной штатный способ уменьшить файл — процедура «Тестирование и исправление» в конфигураторе. При удалении записей 1С помечает их как удалённые, но физическое место в файле не освобождается — сжатие таблиц убирает этот мусор и перестраивает таблицы.
Порядок действий: откройте базу в конфигураторе в монопольном режиме, выберите «Администрирование → Тестирование и исправление», отметьте пункты «Реиндексация таблиц» и «Сжатие таблиц информационной базы», установите режим «Тестирование и исправление» (не «Только тестирование») и запустите процесс. На больших базах операция может занять от десятков минут до нескольких часов — не прерывайте её.
- 1Завершите работу всех пользователей и фоновых заданий
- 2Сделайте копию 1Cv8.1CD и выгрузку в dt
- 3Откройте конфигуратор в монопольном режиме
- 4Запустите «Тестирование и исправление» с реиндексацией и сжатием таблиц
- 5Дождитесь завершения и сравните размер файла до и после
- 6Проверьте открытие базы и проведение тестового документа
После завершения сравните размер файла. Если база уменьшилась незначительно — значит, объём занимают реальные данные или служебные хранилища, и нужно переходить к следующим методам.
Очистка служебных данных: журнал регистрации, версии, помеченные объекты
Журнал регистрации
Журнал регистрации файловой базы может занимать сотни мегабайт. Сократить его можно через конфигуратор: «Администрирование → Настройка журнала регистрации → Сократить», выбрав дату, до которой удалить записи. Предварительно при необходимости выгрузите журнал в файл для архива.
Версии объектов
Если в типовой конфигурации включено версионирование (например, «История изменений» объектов), со временем накапливается большой объём версий. Откройте настройки версионирования в разделе администрирования, ограничьте срок хранения версий и выполните очистку устаревших версий штатной обработкой, если она предусмотрено конфигурацией.
Помеченные на удаление объекты
Удаление помеченных объектов («Операции → Удаление помеченных объектов» в монопольном режиме) убирает логически удалённые данные. После этой операции обязательно повторите сжатие таблиц — иначе место в файле не освободится физически.
Присоединенные файлы
Сканированные документы, изображения и вложения, хранящиеся в базе, — частая причина разрастания. В типовых конфигурациях есть возможность перевести хранение присоединенных файлов в тома на диске: файлы выносятся из базы в отдельную папку, а в базе остаются только ссылки. После переноса снова выполните сжатие таблиц.
Свёртка базы: когда сжатия уже недостаточно
Если основной объём занимают документы прошлых лет, которые нужны только для справочного просмотра, применяют свёртку: на дату свёртки формируются документы ввода остатков, а старые документы и обороты удаляются. База становится заметно легче, но история до даты свёртки теряется в разрезе документов — остаются только остатки.
В типовых конфигурациях (например, «1С:Бухгалтерия», «Управление торговлей») есть штатные обработки свёртки. Для нетиповых решений свёртку выполняют специализированными обработками. Общие правила: сворачивайте на границу закрытого периода (обычно начало года), убедитесь, что отчётность за сворачиваемый период сдана, и сохраните архивную копию базы «как есть» — она пригодится для налоговых проверок и поиска старых документов.
Перенос данных в новую базу и другие альтернативы
Самый радикальный вариант — создать новую чистую базу той же конфигурации и перенести в неё справочники и остатки через штатные механизмы обмена или обработки выгрузки/загрузки. Новый файл не содержит накопленного мусора и обычно заметно компактнее старого даже при том же объёме актуальных данных.
Если база продолжает расти и работать с ней становится тяжело, рассмотрите переход с файлового режима на клиент-серверный (PostgreSQL, MS SQL Server). В серверном варианте нет жёстких ограничений файлового формата, сжатием и обслуживанием таблиц управляет СУБД, а большие объёмы данных обрабатываются устойчивее. Это уже задача миграции, требующая отдельного планирования.
Как выбрать действие
Проверка результата и контроль размера
После каждого этапа фиксируйте размер файла 1Cv8.1CD и сравнивайте с исходным. Дополнительно проверьте работоспособность: откройте базу в режиме предприятия, сформируйте ключевой отчёт (например, оборотно-сальдовую ведомость или отчёт по остаткам склада) и сверьте итоги с данными до операций — они должны совпадать.
Чтобы база не разрасталась снова, настройте регламент: периодическое сжатие таблиц, ограничение глубины журнала регистрации, сроки хранения версий объектов и хранение вложений в томах на диске.
Как проверить результат
Файл заметно меньше исходного
Размер не изменился — мусор не удалён или объём занимают реальные данные
Остатки совпадают
Расхождения — откатитесь на копию и разбирайтесь с причиной
База открывается, документы проводятся без ошибок
Ошибки чтения — восстанавливайте из резервной копии
Что важно запомнить
Начинайте с резервной копии, затем сжатие таблиц через тестирование и исправление, очистка журнала, версий и помеченных объектов. Если объём занимают старые документы — свёртка на дату с архивной копией. После каждого шага проверяйте размер файла и итоги отчётов.
Частые вопросы
Почему после удаления документов размер файла базы не уменьшился?
1С помечает записи как удалённые, но физически место в файле 1Cv8.1CD остаётся занятым. Чтобы вернуть его, нужно выполнить сжатие таблиц через «Тестирование и исправление» в конфигураторе в монопольном режиме.
Опасно ли тестирование и исправление для базы?
При соблюдении условий — монопольный режим, резервная копия, стабильное питание — процедура безопасна. Риск появляется при прерывании записи в файл или запуске на уже повреждённой базе: в таком случае сначала копируйте файл и только потом запускайте проверку.
Что лучше: свёртка или перенос в новую базу?
Свёртка быстрее и сохраняет настройки, пользователей и актуальные документы в той же базе. Перенос в новую базу даёт максимально чистый файл, но требует настройки обмена и проверки полноты переноса. Для большинства случаев достаточно штатной свёртки.
Можно ли свернуть базу, а старые документы оставить доступными?
В свёрнутой базе документы до даты свёртки удаляются, остаются только остатки. Сохраните полную копию базы до свёртки как архив: её можно открыть отдельно для просмотра старых документов и отчётов.
Как часто нужно сжимать файловую базу?
Универсальной нормы нет: ориентируйтесь на динамику роста файла. Если база активно пополняется и из неё регулярно удаляют данные, имеет смысл выполнять сжатие с реиндексацией по регламенту — например, раз в месяц или квартал, в нерабочее время.
Когда файловую базу пора переводить на клиент-серверный вариант?
Повод задуматься — рост числа одновременных пользователей, регулярные блокировки, замедление работы и размер базы, при котором обслуживание файла становится долгим и рискованным. В клиент-серверном режиме обслуживанием таблиц управляет СУБД, и проблемы больших файлов уходят.