В процессе работы с конфигурациями 1С, особенно при переходе на новые типовые решения, можно столкнуться с неожиданной ситуацией: почти пустая, новая конфигурация занимает в разы больше места, чем старая, которая дорабатывалась годами. Размер файла .cf может достигать сотен мегабайт, что создает неудобства при передаче обновлений по сети, хранении архивов и сравнении версий. Разберем, почему так происходит и какие шаги можно предпринять для оптимизации размера конфигурации.
Проанализируем типичный случай: имеется две базы на основе «Управление торговлей». Первая — старая, сильно переписанная, снятая с поддержки, ее файл .cf весит около 100 Мб. Вторая — новая, почти типовая, с парой новых справочников, но ее .cf файл достигает 900 Мб. Выясним, что «съедает» место и как это исправить.
Первый и самый важный шаг — понять, что именно занимает столько места. «На глаз» определить это невозможно. Самый эффективный способ — выгрузить конфигурацию в виде набора XML-файлов. Это позволит увидеть структуру конфигурации и размеры каждого ее элемента.
Для этого выполним следующие действия в режиме «Конфигуратор»:
После завершения процесса откройте эту папку в файловом менеджере. Вы увидите структуру, повторяющую дерево метаданных конфигурации: папки Catalogs (Справочники), Documents (Документы), CommonTemplates (Общие макеты) и так далее. Теперь можно проанализировать размеры папок и файлов, чтобы найти «тяжеловесов». Чаще всего самые объемные файлы находятся в папке CommonTemplates.
Анализ выгруженных файлов часто показывает, что львиную долю размера занимают общие макеты. В современных типовых конфигурациях в них хранится множество двоичных данных, которые могут быть не нужны в вашей конкретной базе.
Что может храниться в общих макетах и занимать много места:
В нашем примере именно удаление макетов с драйверами торгового оборудования позволило сократить размер файла с 460 Мб до 150 Мб.
Как удалить ненужные макеты:
ДрайверАТОЛККТ54ФЗ).Delete или через контекстное меню).F7).Важно: перед массовым удалением обязательно сделайте резервную копию базы данных.
Если ваша конфигурация находится на поддержке поставщика (типовая конфигурация от 1С), то внутри нее, по сути, хранятся две копии многих объектов: текущая (рабочая) и та, что была в версии поставщика. Это необходимо для корректного сравнения и объединения при обновлениях. Эта «конфигурация поставщика» и вносит огромный вклад в итоговый размер файла .cf.
В рассматриваемом случае снятие с поддержки уменьшило размер файла с 900 Мб до 460 Мб — почти вдвое.
Как снять конфигурацию с поддержки:
КРИТИЧЕСКИ ВАЖНО: Последствия снятия с поддержки
Этот шаг является необратимым в простом понимании. После снятия с поддержки вы теряете возможность автоматически обновлять конфигурацию на новые релизы от 1С. Все дальнейшие обновления придется выполнять вручную путем сравнения и объединения, что является крайне трудоемкой и сложной задачей, требующей высокой квалификации. Возвращение на поддержку также является нетривиальной задачей.
Прибегайте к этому методу, только если вы полностью осознаете последствия и уверены, что конфигурация будет развиваться и поддерживаться исключительно вашими силами.
Рассмотрим, что еще влияет на размер конфигурации, и как можно решить проблему с передачей обновлений, не прибегая к «хирургическим» методам.
Вопрос "неужели 1С так разрастилась за эти годы?" абсолютно закономерен. Основная причина — это повсеместное внедрение Библиотеки стандартных подсистем (БСП). БСП — это огромный набор универсального функционала: работа с пользователями и правами, версионирование, варианты отчетов, интеграции, работа с файлами и многое другое. Даже если вы используете 10% этих возможностей, все 100% кода, форм и макетов БСП находятся в вашей конфигурации, увеличивая ее размер.
Исходная проблема была в неудобстве передачи обновлений по сети. Вместо того чтобы каждый раз передавать полный файл .cf размером в сотни мегабайт, правильнее использовать файл обновления (.cfu).
Этот файл содержит не всю конфигурацию, а только различия между двумя ее версиями. Соответственно, его размер обычно в десятки раз меньше. Это стандартный и рекомендуемый способ распространения обновлений.
Как создать файл обновления:
.cf: старой версии (old.cf) и новой (new.cf)..cfu, который будет легко передать и установить.Использование .cfu решает проблему передачи данных, не требуя при этом вносить изменения в саму конфигурацию.
Подведем итог. Для уменьшения размера файла конфигурации .cf следует действовать в такой последовательности:
.cfu: для решения задачи передачи обновлений всегда используйте файлы обновлений, а не полные файлы конфигурации. Это самый правильный и безопасный подход.Помните, что современные типовые конфигурации велики по своей природе из-за универсальности и наличия БСП. Зачастую, бороться с их размером менее эффективно, чем наладить правильный процесс доставки обновлений.