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