Часто у разработчиков 1С возникает закономерный вопрос: почему при внесении правок в расширение конфигурации платформа позволяет применить их «на лету», даже если в базе работают пользователи, в то время как основная конфигурация при изменении структуры требует монопольного режима?
Важно понимать, что платформа 1С по-разному реагирует на изменения в зависимости от того, затрагивают ли они физическую структуру таблиц базы данных. Когда мы говорим о реструктуризации (добавление новых полей в справочники, изменение типов данных, создание новых таблиц), платформе критически необходим монопольный доступ. Это нужно для того, чтобы зафиксировать состояние базы и корректно перенести данные из старых структур в новые.
В случае с правками кода в Модуле объекта или Модуле менеджера, а также при изменении форм или макетов, физическая структура таблиц СУБД остается неизменной. В такой ситуации платформе нет необходимости блокировать работу всех сеансов, так как она может просто подменить исполняемый код в памяти сервера.
Обновление расширения по своей сути — это форма динамического обновления. В отличие от основной конфигурации, где платформа выводит диалоговое окно с предложением выполнить динамическое обновление, изменения в расширениях применяются практически незаметно для разработчика. Однако за этой «тишиной» скрываются серьезные технические риски:
Поле не найдено или непредсказуемому поведению программы.rphost, что потребует его принудительной перезагрузки и вызовет обрыв сеансов.Даже если платформа «разрешает» обновить расширение без монопольного доступа, помните: чтобы изменения вступили в силу для конкретного пользователя, ему необходимо перезапустить сеанс. Без перезахода в систему многие правки (например, изменения в формах) могут просто не отобразиться или работать некорректно, так как исполняемый код уже подгружен в сессию пользователя.
Хотя функционал позволяет обновлять код «на горячую», для профессиональной разработки рекомендуется придерживаться строгих правил, чтобы избежать «демонических» последствий:
Завершение работы пользователей. Это позволит корректно и вежливо закрыть все сеансы перед внесением изменений.кэш метаданных на клиенте и, при необходимости, кэш на сервере 1С.Подводя итог, можно сказать, что «молчаливое» обновление — это удобство, предоставляемое платформой, но пользоваться им стоит с осторожностью. Профессиональный подход к администрированию 1С всегда подразумевает минимизацию рисков, связанных с динамической подменой кода, поэтому лучшее время для любых правок — это период минимальной активности пользователей.