Файл 1Cv8.1CD раздулся: что из него можно убрать и как сжать

· 10 мин

Содержание

Быстрее всего уменьшить файловую базу 1С так: выгрузить её в файл .dt и загрузить обратно в пустой каталог. Второй вариант — в Конфигураторе открыть Администрирование → Тестирование и исправление и запустить проверку с галочкой «Сжатие таблиц информационной базы». Оба способа убирают пустые страницы внутри файла 1Cv8.1CD, но не трогают сами данные.

Если после сжатия размер почти не изменился, значит, база занята реальными записями. Тогда сжимать бесполезно: сначала нужно удалить лишнее — версии объектов, вложенные файлы, хвосты обмена, помеченные объекты — и только потом снова сжать.

Почему файл базы 1С растёт быстрее, чем данные

Файловая база — это один файл 1Cv8.1CD в каталоге информационной базы. Рядом лежат папка журнала регистрации 1Cv8Log и служебные файлы. Размер базы в проводнике — это сумма всего содержимого каталога, поэтому смотрите на каждый файл и папку отдельно.

Основные причины роста:

  • 🗑️ Пустые страницы. Когда запись удаляют, место в файле не освобождается, а помечается свободным. Файл не худеет, пока его не перестроить.
  • 📚 Версионирование объектов. В типовых конфигурациях на БСП каждое изменение документа может сохраняться как отдельная версия. За пару лет это гигабайты.
  • 📎 Присоединённые файлы. Сканы договоров, PDF счетов, вложения писем, картинки номенклатуры по умолчанию хранятся прямо в базе.
  • 🔄 Регистрация изменений для обменов. Если узел обмена перестал синхронизироваться, изменения копятся в таблицах регистрации бесконечно.
  • 🧾 Служебные регистры сведений. Очереди заданий, состояния электронных документов, кэши интеграций, данные загрузки выписок.
  • 📅 Годы истории. Документы за 5–10 лет, которые никто не открывает, но они проводятся в регистрах и участвуют в итогах.
  • 📝 Журнал регистрации. Он не входит в 1Cv8.1CD, но папка 1Cv8Log при детальном уровне логирования легко вырастает до размеров самой базы.

Перед любыми действиями выясните, что именно занимает место. Иначе можно потратить вечер на сжатие и получить минус 3 %.

Как найти самые тяжёлые таблицы

Есть три способа заглянуть внутрь.

  1. Встроенная функция платформы ПолучитьРазмерДанныхБазыДанных() (доступна с платформы 8.3.15). Её вызывают из внешней обработки или консоли кода, передавая объект метаданных, например регистр сведений . Возвращает размер в байтах и работает и в файловом, и в клиент-серверном варианте.
  2. Сторонняя утилита Tool_1CD. Она открывает файл 1Cv8.1CD на чтение и показывает список таблиц с размерами. Запускайте её только на копии базы.
  3. Простое сравнение. Выгрузите базу в .dt, загрузите в новый каталог и сравните размер с исходным. Разница — это пустые страницы, остаток — реальные данные.

Способ 1. Сжатие таблиц через «Тестирование и исправление»

Это штатный инструмент платформы. Работает без выгрузки и подходит для базы до нескольких гигабайт.

Перед запуском сделайте копию каталога базы целиком. Если процедура прервётся из-за сбоя питания или нехватки места на диске, файл может повредиться.

Порядок действий:

  1. Попросите всех пользователей выйти из программы. Режиму нужен монопольный доступ: открытые сеансы не дадут его запустить.
  2. Откройте базу в режиме Конфигуратор.
  3. Выберите Администрирование → Тестирование и исправление.
  4. Отметьте пункт «Сжатие таблиц информационной базы». Галочки «Реиндексация таблиц» и «Проверка логической целостности» тоже полезно оставить.
  5. В режиме проверки выберите «Тестирование и исправление», а не «Только тестирование».
  6. Нажмите «Выполнить» и дождитесь сообщения о завершении.

Сколько это займёт: база на 2 ГБ на обычном SSD обрабатывается примерно за 10–20 минут. На HDD и на сетевой папке — заметно дольше.

Не запускайте тестирование базы, лежащей в сетевой папке, с удалённого компьютера. Скопируйте каталог на локальный диск сервера или запустите Конфигуратор прямо на нём: обрыв сети посреди процедуры — частая причина повреждения файла.

Отдельно есть утилита chdbfl.exe в папке bin установленной платформы. Она проверяет физическую целостность файла 1Cv8.1CD и запускается, когда база не открыта никем. Это инструмент для диагностики повреждений, а не для уменьшения размера, но перед сжатием большой и старой базы её прогон не лишний.

Способ 2. Выгрузка в .dt и загрузка в новую базу

Этот способ даёт самый ощутимый эффект. Платформа записывает данные в новый файл последовательно, без пустот и фрагментации.

  1. Все пользователи выходят из базы.
  2. В Конфигураторе: Администрирование → Выгрузить информационную базу. Сохраните файл .dt на локальный диск.
  3. Создайте пустой каталог, например D:\Base\Buh_new.
  4. Добавьте в список баз новую пустую базу в этом каталоге.
  5. Откройте её в Конфигураторе: Администрирование → Загрузить информационную базу, выберите сохранённый .dt.
  6. Запустите базу в режиме «1С:Предприятие», проверьте остатки и несколько отчётов.
  7. Только после проверки переименуйте каталоги или поменяйте путь в списке баз.

Почему не загружать .dt поверх старой базы: если загрузка оборвётся, вы останетесь без рабочей копии. С отдельным каталогом старая база лежит нетронутой до конца проверки.

Загрузка в базу в новом формате файла сама по себе обновляет и формат хранения. Формат версии 8.3.8 позволяет выбрать размер страницы при создании базы, а у старого формата 8.2.14 было ограничение на размер отдельной таблицы. Для крупных баз это повод пересоздать их через .dt.

Сравнение двух способов сжатия

МетодКогда подходитРиски и минусы
Сжатие таблицРегулярное обслуживание, база до 3–5 ГБМонопольный доступ, при сбое возможна порча файла
Выгрузка/загрузка .dtСильная фрагментация, переход на новый форматНужно место под .dt и вторую копию базы, время на проверку
Оба после чистки данныхКогда сначала удалили версии, файлы, хвосты обменовСамый долгий, но единственный, что даёт заметный результат

Удаление помеченных объектов и чистка служебных регистров

Сжатие убирает только пустоты. Чтобы файл действительно уменьшился, сначала уберите ненужные записи.

Помеченные на удаление

В БП 3.0, ЗУП 3.1 и УТ 11 обработка находится в разделе Администрирование → Обслуживание. Она проверяет, нет ли ссылок на объект, и удаляет только то, что можно удалить безопасно.

  • ✅ Запускайте её вне рабочего времени: на большой базе проверка ссылок идёт долго.
  • ✅ Объекты, на которые остались ссылки, обработка покажет списком. Их не удаляйте принудительно — разберитесь, кто на них ссылается.

Версии объектов

Это самый частый «пожиратель» места в типовых конфигурациях. Настройка хранения истории изменений находится в Администрирование → Общие настройки. Там задаётся, для каких объектов хранить версии и сколько времени.

Что сделать:

  1. Отключите хранение версий для объектов, где история не нужна. Например, для загружаемых банковских выписок.
  2. Задайте срок хранения устаревших версий: год, полгода.
  3. Запустите удаление устаревших версий. В БСП это делает регламентное задание, а также команда очистки рядом с настройкой.

На базах, где версии хранились годами без ограничений, после очистки и выгрузки в .dt размер нередко сокращается вдвое.

Хвосты обменов

Если в базе настроены обмены с другой базой, сайтом или мобильным приложением, проверьте, работают ли они.

  • 🔍 Откройте настройки синхронизации данных в разделе Администрирование.
  • 🔍 Узел, который не синхронизировался месяцами, копит регистрацию изменений всех объектов.
  • 🔍 Если обмен больше не нужен, удалите настройку синхронизации. Регистрация изменений по узлу исчезнет вместе с ней.

Не удаляйте действующий узел обмена «на минутку». После повторного создания потребуется полная начальная выгрузка, а при ошибке сопоставления появятся дубли справочников.

Журнал регистрации

Журнал хранится в папке 1Cv8Log рядом с файлом базы. Его сокращают в Конфигураторе: Администрирование → Журнал регистрации → Сократить. Можно выгрузить старые записи в файл перед удалением.

Там же через Администрирование → Настройка журнала регистрации выберите уровень логирования. Для бухгалтерии на 5 человек обычно хватает уровня «Ошибки» или «Предупреждения» вместо «Регистрировать все события».

Архивация старых периодов и свёртка базы

Когда в базе 8–10 лет документов, никакая чистка служебных данных не даст большого эффекта. Остаются два пути.

Свёртка средствами конфигурации

В части типовых конфигураций есть обработка свёртки: она удаляет документы до выбранной даты и вводит остатки на эту дату. В БП 3.0 её ищите в разделе Администрирование → Обслуживание.

Как подготовиться:

  • 📦 Сделайте полную выгрузку .dt и сохраните её как архив «до свёртки». Именно к этому файлу вы будете обращаться за старыми документами.
  • 📊 Сформируйте оборотно-сальдовую ведомость на дату свёртки и сохраните её.
  • 🔒 Установите дату запрета изменения данных так, чтобы свернутый период нельзя было случайно править.
  • 🧪 Проведите свёртку сначала на копии базы и сверьте ОСВ до и после.

Свёртка необратима. Восстановить удалённые документы можно только из архивной копии.

Новая база с переносом остатков

Альтернатива свёртке — завести новую базу с начала года и перенести в неё справочники и остатки. Старую базу оставляют как архив только для чтения.

Плюсы: новая база маленькая и быстрая, ошибки прошлых лет не тянутся за собой. Минусы: отчёты за несколько лет придётся строить по двум базам, а возвраты и корректировки прошлых периодов — делать в архиве.

Что делать с вашей базой?

Вынос файлов в тома и другие способы освободить место

Хранение присоединённых файлов на диске

В конфигурациях на БСП вложения можно хранить не в базе, а в томах — обычных папках на диске. Настройка находится в Администрирование → Общие настройки, в группе, отвечающей за работу с файлами.

Порядок:

  1. Включите хранение файлов в томах на диске.
  2. Создайте том: укажите путь к папке, например D:\1C_Files\Buh, и максимальный размер.
  3. Запустите перенос уже имеющихся файлов из базы в тома командой в той же группе настроек.
  4. После переноса выполните сжатие таблиц или выгрузку в .dt — иначе освобождённое место останется пустыми страницами.

Папку с томами нужно добавить в резервное копирование. Копия одного каталога базы без томов — это база без вложений.

Чего делать не стоит

  • ❌ Включать NTFS-сжатие на папке с базой. Файл станет меньше на диске, но 1С будет работать медленнее, а риск повреждения при сбое выше.
  • ❌ Удалять из каталога базы «непонятные» файлы и папки. Кроме 1Cv8Log там могут лежать служебные данные полнотекстового поиска и другие файлы платформы.
  • ❌ Очищать таблицы сторонними утилитами напрямую в 1Cv8.1CD. Tool_1CD хорош для анализа, но запись в файл в обход платформы ломает логическую целостность.

Индекс полнотекстового поиска

Если в базе включён полнотекстовый поиск, его индекс хранится в отдельной папке в каталоге базы и может весить сотни мегабайт. Его можно очистить и перестроить в режиме «1С:Предприятие» через управление полнотекстовым поиском в разделе Администрирование. Если поиском никто не пользуется, отключите его совсем.

Когда пора уходить с файлового варианта

Файловая база хорошо работает для небольших команд. Ориентиры, после которых стоит считать переход на клиент-серверный вариант с СУБД:

  • 👥 одновременно работают больше 5–10 пользователей;
  • 💾 файл 1Cv8.1CD больше 10–15 ГБ и продолжает расти;
  • 🐢 частые ошибки блокировок при проведении и долгое закрытие месяца .

Это ориентиры, а не жёсткие границы: всё зависит от диска, сети и нагрузки.

Как не допустить повторного разрастания базы

Обслуживание раз в квартал занимает час и снимает проблему на годы.

Регламент обслуживания файловой базы
Выполнено: 0 / 7

Ещё несколько привычек:

  • 📏 Записывайте размер 1Cv8.1CD после каждого обслуживания. Резкий скачок за месяц почти всегда означает зависший обмен или массовую загрузку вложений.
  • 📎 Сразу после внедрения настройте хранение файлов в томах, пока вложений немного.
  • 🧹 Не держите в базе тестовые документы и «пробные» загрузки — удаляйте их в тот же день.

Частые вопросы

Насколько уменьшится база после сжатия?
Зависит от доли пустых страниц. Если в базе много удаляли или перепроводили, экономия бывает 20–50 %. Если база просто большая от данных, выигрыш составит единицы процентов.
Можно ли сжать файловую базу, не выгоняя пользователей?
Нет. И сжатие таблиц, и загрузка .dt требуют монопольного доступа. Планируйте обслуживание на вечер или выходной.
Удаляет ли сжатие таблиц какие-либо данные?
Нет. Оно перестраивает хранение записей и освобождает пустые страницы. Документы, справочники и регистры остаются на месте.
Почему после очистки версий размер файла не изменился?
Удалённые записи превратились в пустые страницы. Чтобы файл действительно уменьшился, после очистки выполните сжатие таблиц или выгрузку и загрузку .dt.
Влияет ли размер журнала регистрации на скорость работы?
На скорость проведения почти нет, но огромный журнал долго открывается и занимает место в резервных копиях. Сокращайте его и снижайте уровень логирования.