Как безопасно вернуть конфигурацию 1С на полную поддержку и ускорить обновление?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Проанализируем ситуацию, с которой часто сталкиваются разработчики и администраторы баз 1С:Бухгалтерия 3.0 и других современных конфигураций. Кто-то из предыдущих специалистов включил редактирование с сохранением поддержки абсолютно для всех объектов дерева метаданных. В результате процесс планового обновления конфигурации стал занимать недопустимо много времени. Разберем по шагам, почему это происходит, и рассмотрим подробнее, как безопасно вернуть конфигурацию обратно на поддержку (повесить «замок»), не потеряв при этом данные компании.

Причины падения скорости обновления конфигурации

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

  1. Текущая конфигурация базы данных;
  2. Старая конфигурация поставщика;
  3. Новая загружаемая конфигурация поставщика.

Даже если в объектах фактически нет изменений кода или добавленных реквизитов, сам факт включенного режима редактирования заставляет платформу детально анализировать каждый такой объект. Проверяется всё: дерево свойств, модули, макеты, формы. Для конфигураций уровня БП 3, содержащих десятки тысяч объектов метаданных, это многократно увеличивает время математического сопоставления и потребление оперативной памяти процессом Конфигуратора.

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

Почему нельзя просто переключить статус в настройках поддержки?

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

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

Риски прямой загрузки конфигурации и возможная потеря данных

Проанализируем риски этого метода. Команда Загрузить конфигурацию из файла действует жестко: она безвозвратно удаляет любые добавленные метаданные (документы, справочники, реквизиты, табличные части), которых нет в загружаемом файле .cf.

Как показывает практика, могут возникнуть критические ситуации. Например, если реквизит был добавлен разработчиком вручную (даже если он имеет схожее имя с типовым), при загрузке чистой конфигурации произойдет несовпадение внутренних идентификаторов. Это приведет к удалению колонки в СУБД с полной потерей накопленных данных при реструктуризации. Также встречаются проблемы с типами данных в регистрах, когда платформа может молча проглотить изменения, что в итоге приведет к падению базы.

Безопасный алгоритм возврата на типовую конфигурацию поставщика

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

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

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

Альтернативные решения без снятия с поддержки

Часто программисты снимают базу с поддержки ради настройки старых обменов (например, между свежей БП 3 и старой УТ 11.1). Разберем, как решать такие задачи правильно, не ломая поддержку.

Регламентные действия после успешного возврата

Завершим процедуру правильным обслуживанием базы.

  1. Очистка кэша: После масштабных операций по смене статуса поддержки в локальных каталогах клиентского и серверного кэша могут сохраняться фантомные описания структуры. Кэш необходимо очистить во избежание сбоев при последующих запусках и обновлениях.
  2. Проверка конфигурации: Запустим встроенную проверку через меню Конфигурация -> Проверка конфигурации, обязательно включив поиск синтаксических ошибок и некорректных ссылок.
  3. Запуск регламентных процедур БСП: Первый запуск информационной базы в режиме «1С:Предприятие» выполним с полными правами администратора. Это необходимо для корректного завершения фоновых процедур обновления версий подсистем.

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

← На главную