Почему резко вырос размер базы 1С:Управление торговлей 10.3 после обновления и как его уменьшить

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

Многие технические специалисты столкнулись с неожиданной проблемой при переходе на новые релизы 1С:Управление торговлей 10.3 (начиная с версии 10.3.49.4 и выше). Размер файла конфигурации .cf увеличился в несколько раз, а объем файловой базы после обновления может вырасти на несколько гигабайт. Разберем подробно, почему это происходит, проанализируем структуру хранения данных и выясним, какие шаги можно предпринять для оптимизации ресурсов системы.

Причины взрывного роста объема конфигурации

Проанализируем ситуацию: если раньше файл обновления весил около 70 Мб, то в новых редакциях он превышает 260 Мб, а сама конфигурация в развернутом виде занимает около 800 Мб и более. Основная причина кроется в изменении законодательства (внедрение системы маркировки «Честный знак», ЕГАИС 3.0, ФЗ-54 об онлайн-кассах).

Рассмотрим конкретные факторы, влияющие на вес базы:

  1. Интеграция БПО (Библиотеки подключаемого оборудования): Фирма «1С» была вынуждена внедрить современные механизмы работы с кассами и сканерами в старую архитектуру УТ 10.3. Теперь драйверы торгового оборудования хранятся непосредственно внутри конфигурации в виде бинарных макетов.
  2. Универсальность макетов: Каждый такой макет содержит в себе zip-архив с библиотеками под разные операционные системы (Windows x86, x64, Linux) и разные версии компонент. Суммарный объем этих макетов составляет сотни мегабайт.
  3. Подсистемы маркировки и прослеживаемости: Модули для работы с ИС МП (маркировка обуви, табака, одежды), ВетИС и ЕГАИС включают в себя огромные объемы программного кода и вспомогательных макетов.
  4. Конфигурации поставщика: При обновлении в базе данных сохраняется не только рабочая конфигурация, но и конфигурация поставщика, что фактически удваивает занимаемое метаданными место в таблице CONFIG.

Технический анализ таблиц CONFIG и CONFIGSAVE

Для понимания того, куда уходит дисковое пространство, проанализируем внутреннюю структуру файла базы данных .1cd с помощью специализированных утилит (например, Tool1CD). Основной рост приходится на две системные таблицы:

Выясним причину, почему CONFIGSAVE остается большой после обновления. Если сеанс конфигуратора был завершен некорректно или процедура обновления была прервана, временные данные могут не удалиться, продолжая занимать место. В норме после успешного выполнения команды «Обновить конфигурацию базы данных» (F7) таблица CONFIGSAVE должна очищаться.

Методы оптимизации и уменьшения размера базы

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

1. Очистка и сжатие таблиц базы данных

После проведения крупного обновления в файловой базе всегда остается много «пустого» места из-за особенностей работы формата .1cd. Выполним стандартные процедуры обслуживания:

  1. Запустим базу в режиме Конфигуратор.
  2. Перейдем в меню Администрирование — Тестирование и исправление.
  3. Установим флажок Сжатие таблиц информационной базы.
  4. Для достижения максимального эффекта рекомендуется выполнить полную выгрузку базы в файл .dt и последующую загрузку в новую чистую папку. Это позволит полностью перестроить индексы и физически удалить неиспользуемые блоки данных.

2. Удаление лишних конфигураций поставщика

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

  1. Зайдем в Конфигурация — Поддержка — Настройка поддержки.
  2. Посмотрим, нет ли в списке лишних записей. Если база была снята с поддержки или объединена с другой конфой некорректно, там могут висеть «хвосты».
  3. Использование кнопки Снять с поддержки (с предварительным созданием бэкапа!) и последующая обратная постановка на поддержку через сравнение с чистым .cf иногда помогает существенно уменьшить таблицу CONFIG за счет удаления истории изменений поставщика.

3. Оптимизация макетов драйверов (для разработчиков)

Если ваша организация не использует ЕГАИС или определенные виды кассовых аппаратов, можно прибегнуть к радикальному методу — замене тяжелых макетов «пустышками». Внимание: это лишает вас возможности автоматического обновления в будущем без ручного вмешательства.

  1. В дереве конфигурации найдем общие макеты, относящиеся к драйверам оборудования (например, начинающиеся с Драйвер...).
  2. Рассмотрим содержимое макета: если это ZIP-архив размером 10-20 Мб, и этот драйвер вами не используется, его можно заменить на пустой текстовый документ с тем же именем.
  3. Это позволит сократить размер .cf файла с 800 Мб до 150-200 Мб, что критически важно для скорости работы файловых баз.

4. Программное управление интерфейсом

При значительном усложнении конфигурации пользователи могут жаловаться на перегруженность форм новыми кнопками (например, «Акцизная марка» в чеках). Разберем пример, как скрыть ненужный функционал программно, чтобы не перегружать интерфейс:


Процедура ПриОткрытии()
    // Удаляем или скрываем кнопку, если функционал акцизных марок не используется
    ЭлементыФормы.КнопкаАкцизнаяМарка.Видимость = Ложь;
    
    // Аналогично можно поступить с другими элементами БПО
КонецПроцедуры

Рекомендации по дальнейшей эксплуатации

Проанализировав ситуацию с ростом конфигурации УТ 10.3, мы должны прийти к следующим выводам:

Таким образом, «раздувание» базы — это плата за поддержку современных требований законодательства в старой программной среде. Выполняя регулярное сжатие таблиц и оптимизацию конфигурации поставщика, вы сможете минимизировать негативные последствия этого процесса.

← На главную