Почему файл конфигурации 1С (.cf) такой большой и как его уменьшить?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В процессе работы с конфигурациями 1С, особенно при переходе на новые типовые решения, можно столкнуться с неожиданной ситуацией: почти пустая, новая конфигурация занимает в разы больше места, чем старая, которая дорабатывалась годами. Размер файла .cf может достигать сотен мегабайт, что создает неудобства при передаче обновлений по сети, хранении архивов и сравнении версий. Разберем, почему так происходит и какие шаги можно предпринять для оптимизации размера конфигурации.

Проанализируем типичный случай: имеется две базы на основе «Управление торговлей». Первая — старая, сильно переписанная, снятая с поддержки, ее файл .cf весит около 100 Мб. Вторая — новая, почти типовая, с парой новых справочников, но ее .cf файл достигает 900 Мб. Выясним, что «съедает» место и как это исправить.

Шаг 1: Диагностика — выгружаем конфигурацию в файлы

Первый и самый важный шаг — понять, что именно занимает столько места. «На глаз» определить это невозможно. Самый эффективный способ — выгрузить конфигурацию в виде набора XML-файлов. Это позволит увидеть структуру конфигурации и размеры каждого ее элемента.

Для этого выполним следующие действия в режиме «Конфигуратор»:

  1. Откройте меню «Конфигурация».
  2. Выберите пункт «Выгрузить конфигурацию в файлы...».
  3. Укажите пустую папку, куда будут сохранены файлы, и нажмите «Выгрузить».

После завершения процесса откройте эту папку в файловом менеджере. Вы увидите структуру, повторяющую дерево метаданных конфигурации: папки Catalogs (Справочники), Documents (Документы), CommonTemplates (Общие макеты) и так далее. Теперь можно проанализировать размеры папок и файлов, чтобы найти «тяжеловесов». Чаще всего самые объемные файлы находятся в папке CommonTemplates.

Шаг 2: Удаление объемных общих макетов

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

Что может храниться в общих макетах и занимать много места:

В нашем примере именно удаление макетов с драйверами торгового оборудования позволило сократить размер файла с 460 Мб до 150 Мб.

Как удалить ненужные макеты:

  1. В дереве конфигурации найдите ветку «Общие» -> «Общие макеты».
  2. Внимательно просмотрите список макетов. Имена часто подсказывают их назначение (например, ДрайверАТОЛККТ54ФЗ).
  3. Определите, какие макеты вам точно не нужны. Будьте предельно осторожны! Удаление макета, который используется в коде, приведет к ошибкам в работе программы.
  4. Выделите ненужный макет и удалите его (клавишей Delete или через контекстное меню).
  5. После удаления всех лишних макетов сохраните конфигурацию базы данных (F7).

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

Шаг 3: Снятие конфигурации с поддержки (радикальный метод)

Если ваша конфигурация находится на поддержке поставщика (типовая конфигурация от 1С), то внутри нее, по сути, хранятся две копии многих объектов: текущая (рабочая) и та, что была в версии поставщика. Это необходимо для корректного сравнения и объединения при обновлениях. Эта «конфигурация поставщика» и вносит огромный вклад в итоговый размер файла .cf.

В рассматриваемом случае снятие с поддержки уменьшило размер файла с 900 Мб до 460 Мб — почти вдвое.

Как снять конфигурацию с поддержки:

  1. В Конфигураторе откройте меню «Конфигурация» -> «Поддержка» -> «Настройка поддержки...».
  2. В открывшемся окне нажмите кнопку «Снять с поддержки».
  3. Система несколько раз предупредит вас о последствиях. Подтвердите свое намерение.

КРИТИЧЕСКИ ВАЖНО: Последствия снятия с поддержки

Этот шаг является необратимым в простом понимании. После снятия с поддержки вы теряете возможность автоматически обновлять конфигурацию на новые релизы от 1С. Все дальнейшие обновления придется выполнять вручную путем сравнения и объединения, что является крайне трудоемкой и сложной задачей, требующей высокой квалификации. Возвращение на поддержку также является нетривиальной задачей.

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

Дополнительные причины большого размера и альтернативные решения

Рассмотрим, что еще влияет на размер конфигурации, и как можно решить проблему с передачей обновлений, не прибегая к «хирургическим» методам.

Почему новые конфигурации такие большие?

Вопрос "неужели 1С так разрастилась за эти годы?" абсолютно закономерен. Основная причина — это повсеместное внедрение Библиотеки стандартных подсистем (БСП). БСП — это огромный набор универсального функционала: работа с пользователями и правами, версионирование, варианты отчетов, интеграции, работа с файлами и многое другое. Даже если вы используете 10% этих возможностей, все 100% кода, форм и макетов БСП находятся в вашей конфигурации, увеличивая ее размер.

Альтернатива: используйте файлы обновлений (.cfu)

Исходная проблема была в неудобстве передачи обновлений по сети. Вместо того чтобы каждый раз передавать полный файл .cf размером в сотни мегабайт, правильнее использовать файл обновления (.cfu).

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

Как создать файл обновления:

  1. Вам понадобятся два файла .cf: старой версии (old.cf) и новой (new.cf).
  2. В Конфигураторе новой версии откройте меню «Конфигурация» -> «Поставка конфигурации» -> «Создать файлы поставки и обновления конфигурации...».
  3. В мастере создания укажите путь к файлу новой конфигурации (текущей), а также к файлу предыдущей версии.
  4. Следуйте инструкциям мастера, и в результате вы получите файл .cfu, который будет легко передать и установить.

Использование .cfu решает проблему передачи данных, не требуя при этом вносить изменения в саму конфигурацию.

Итоги

Подведем итог. Для уменьшения размера файла конфигурации .cf следует действовать в такой последовательности:

  1. Провести диагностику: выгрузить конфигурацию в файлы и найти самые большие элементы, скорее всего, это будут общие макеты.
  2. Оптимизировать макеты: аккуратно удалить неиспользуемые двоичные макеты, например, с драйверами оборудования.
  3. Рассмотреть снятие с поддержки: это радикальный шаг, который дает существенное уменьшение размера, но лишает вас автоматических обновлений. Применяйте его с осторожностью.
  4. Использовать .cfu: для решения задачи передачи обновлений всегда используйте файлы обновлений, а не полные файлы конфигурации. Это самый правильный и безопасный подход.

Помните, что современные типовые конфигурации велики по своей природе из-за универсальности и наличия БСП. Зачастую, бороться с их размером менее эффективно, чем наладить правильный процесс доставки обновлений.

← На главную