К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как поменять режим совместимости в расширении 1С

Как изменить режим совместимости в расширении конфигурации 1С через конфигуратор, зачем это нужно, какие ограничения действуют и как проверить результат.

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

Изменить режим совместимости расширения можно только через конфигуратор — в пользовательском режиме «1С:Предприятие» такой настройки нет. Процедура занимает несколько минут, но требует понимания зависимости между режимом совместимости расширения, основной конфигурации и версией платформы. Ниже разобраны пошаговые действия, ограничения и типичные ошибки.

Что такое режим совместимости расширения и когда его нужно менять

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

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

Как узнать текущий режим совместимости расширения

Прежде чем что-то менять, проверьте текущее значение — возможно, проблема вообще не в режиме совместимости. Для этого запустите конфигуратор, откройте нужную информационную базу и перейдите в меню «Конфигурация» → «Расширения конфигурации». В списке выберите расширение и откройте его двойным щелчком или через команду «Открыть конфигурацию расширения».

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

Ошибка при подключении расширенияНесовпадение режимов

Сравните режим совместимости расширения и основной конфигурации

Недоступен нужный объект метаданныхРежим слишком низкий

Проверьте, в какой версии платформы появилась нужная возможность

Расширение работало, после обновления сломалосьСменился режим основной конфигурации

Проверьте свойства основной конфигурации после обновления

Пошаговая инструкция по смене режима совместимости

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

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

Порядок действий
  1. 1
    Сделайте резервную копию информационной базы или выгрузите расширение в файл
  2. 2
    Откройте конфигуратор и перейдите в «Конфигурация» → «Расширения конфигурации»
  3. 3
    Откройте нужное расширение и выделите корень его дерева конфигурации
  4. 4
    В палитре свойств измените «Режим совместимости расширения» на нужное значение
  5. 5
    Сохраните расширение и обновите конфигурацию базы данных
  6. 6
    Перезапустите сеанс и проверьте работу функций расширения

Если расширение подключается из файла

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

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

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

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

Проверка результата после изменения

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

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

Контрольные точки

Как проверить результат

Статус расширения в списке
Норма

Расширение активно, без пометок об ошибке

Тревожный признак

Расширение отключено или помечено как неприменимое

Журнал регистрации
Норма

Нет ошибок о несовместимости режимов

Тревожный признак

Ошибки применимости расширения при подключении

Работа функций расширения
Норма

Формы, отчёты и обработчики открываются и выполняются

Тревожный признак

Ошибки при обращении к объектам расширения

Типичные ошибки и как их избежать

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

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

Типичные ошибки
01
Установка режима расширения выше режима основной конфигурации — платформа отклоняет сохранение, время теряется на поиск несуществующей неисправности
02
Забытое обновление конфигурации базы данных — новый режим не применяется, расширение ведёт себя по-старому
03
Понижение режима без проверки кода — расширение перестаёт сохраняться из-за использования новых возможностей платформы
04
Правка расширения прямо в рабочей базе без копии — при ошибке применимости пользователи теряют функциональность до устранения проблемы

Альтернативные способы решения проблем совместимости

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

Если расширение разрабатывается для нескольких баз с разными версиями платформы, практичный подход — вести отдельные версии расширения под каждый целевой режим совместимости и хранить их в виде файлов .cfe с понятными именами. Это надёжнее, чем каждый раз править свойства в рабочей базе, и упрощает откат при проблемах.

Маршрут решения

Как выбрать действие

Расширение не подключается с ошибкой несовместимости режимовСравните режимы расширения и конфигурации, приведите режим расширения к допустимому значению
Нужна возможность платформы, недоступная в текущем режимеПовысьте режим совместимости расширения; если упирается в режим конфигурации — планируйте повышение режима конфигурации на тестовой копии
Нужного значения нет в списке режимовОбновите версию платформы 1С на сервере и клиентах
Расширение применяется в нескольких базах с разными версиямиПодготовьте отдельные файлы .cfe под каждый режим совместимости

Частые вопросы

Можно ли поменять режим совместимости расширения в режиме «1С:Предприятие»?

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

Что означает значение «Не использовать» в режиме совместимости?

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

Почему после смены режима расширение отключилось?

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

Нужно ли монопольным доступом менять режим совместимости?

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

Влияет ли смена режима совместимости расширения на данные в базе?

Напрямую — нет: режим совместимости меняет только правила проверки и поведение платформы по отношению к коду расширения. Однако косвенный эффект возможен, если после смены режима расширение перестанет применяться и его функции станут недоступны пользователям.

Итог

Что важно запомнить

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