Нужно ли отключать режим совместимости конфигурации для работы с расширениями в 1С

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

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

Правило соответствия режима совместимости

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

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

Разберем по шагам, как правильно настроить совместимость при разработке собственного расширения:

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

Ограничения функциональности в зависимости от версии платформы

Выясним причину, почему возникает миф о необходимости обязательного отключения совместимости. В ранних версиях платформы (начиная с 8.3.6) механизм расширений позволял изменять только управляемые формы и их модули. Полноценная доработка серверной логики, добавление собственных реквизитов и объектов метаданных появлялись поэтапно в версиях 8.3.8, 8.3.9 и последующих релизах.

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

Работа с расширениями в базовых версиях

Рассмотрим особенности использования механизма в базовых версиях программных продуктов 1С:

  1. Разработка: В базовых версиях конфигуратор заблокирован для изменения структуры метаданных и разработки собственных расширений. Создавать и редактировать файлы .cfe непосредственно в базовой версии нельзя.
  2. Подключение готовых расширений: Готовые расширения (файлы формата .cfe) можно подключать к базовым версиям непосредственно в режиме «1С:Предприятие» через стандартный интерфейс (раздел «Администрирование» — «Печатные формы, отчеты и обработки» — «Расширения»), если задействованная функциональность поддерживается платформой и конфигурацией.

Свойства назначения и порядок применения расширений

При создании и подключении нескольких расширений важно учитывать свойство Назначение, которое определяет приоритет и очередность их применения платформой. Платформа 1С поддерживает три вида назначения:

  1. Исправление (Patch): Применяются платформой в первую очередь. Используются для оперативного устранения критических ошибок в коде.
  2. Адаптация (Customization): Применяются во вторую очередь. Предназначены для изменения существующей логики типовых алгоритмов под специфику предприятия.
  3. Дополнение (Addon): Применяются в последнюю очередь. Служат для внедрения совершенно новой функциональности, отсутствующей в базовом решении.

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

Безопасный режим и контроль целостности

Проанализируем параметры безопасности и сопровождения расширений:

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

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

← На главную