Администрирование · 10 мин
Режим совместимости 1С 8.3: где включить и как настроить
Где включить режим совместимости в 1С 8.3: пошаговая настройка в конфигураторе, значения версий, влияние на работу базы, типичные ошибки и проверка результата.
Режим совместимости в 1С:Предприятии 8.3 определяет, с поведением какой версии платформы будет работать конфигурация. Этот параметр позволяет запускать старые прикладные решения на новых релизах платформы без немедленной доработки кода: механизмы, изменённые в новых версиях, продолжают функционировать по старым правилам.
Параметр задаётся на уровне всей конфигурации, а не отдельной базы или пользователя. Изменить его может только пользователь с правами на работу в конфигураторе и обновление конфигурации базы данных. Обычные пользователи в режиме «Предприятие» эту настройку не видят и изменить её не могут.
Чаще всего режим совместимости требуется в трёх ситуациях: при переходе базы на новую версию платформы, при установке старой конфигурации на свежую платформу и при отладке доработок, когда нужно проверить поведение системы на разных версиях. Ниже разберём, где именно находится настройка, какое значение выбрать и как проверить результат.
Что такое режим совместимости и зачем он нужен
Каждая новая версия платформы 1С вносит изменения: появляются новые объекты метаданных, меняется поведение существующих механизмов, ужесточаются требования к коду. Конфигурация, написанная под версию 8.3.10, может работать некорректно на платформе 8.3.22, если запустить её без совместимости.
Режим совместимости решает эту проблему: платформа «притворяется» старой версией, и прикладное решение работает в привычных условиях. Это даёт время на плановую адаптацию конфигурации без остановки бизнес-процессов.
Важно понимать обратную сторону: пока включён режим совместимости, недоступны новые возможности платформы. Например, если конфигурация работает в режиме совместимости с версией 8.3.9, вы не сможете использовать объекты и механизмы, появившиеся в более поздних релизах.
Где включить режим совместимости: пошаговая инструкция
Настройка выполняется в конфигураторе и занимает несколько минут. Перед началом убедитесь, что у вас есть права администратора базы и все пользователи предупреждены о возможном завершении сеансов при обновлении конфигурации базы данных.
- 1Откройте базу в режиме «Конфигуратор» под пользователем с полными правами.
- 2Через меню «Конфигурация» → «Открыть конфигурацию» загрузите дерево метаданных.
- 3Щёлкните правой кнопкой по корневому узлу (имя конфигурации вверху дерева) и выберите «Свойства».
- 4В палитре свойств найдите параметр «Режим совместимости» и выберите нужную версию из выпадающего списка.
- 5Сохраните конфигурацию (Ctrl+S) и выполните «Конфигурация» → «Обновить конфигурацию базы данных».
- 6Перезапустите клиентские сеансы и проверьте работу прикладного решения.
Палитра свойств открывается через контекстное меню корневого узла или через меню «Правка» → «Свойства», когда корневой узел выделен. Поле «Режим совместимости» находится в верхней части палитры, рядом с параметрами «Версия» и «Режим использования синхронных вызовов».
Значение «Не использовать» означает, что конфигурация работает в режиме текущей версии платформы без ограничений. Именно это значение является целевым для полностью адаптированных решений.
Какое значение выбрать
В выпадающем списке доступны версии, начиная с 8.1 и заканчивая версией установленной платформы. Выбор зависит от того, под какую версию изначально разработана конфигурация и какая цель стоит перед администратором.
Как выбрать действие
Практическое правило: режим совместимости не должен быть выше версии платформы, на которой реально работает база. Если на сервере установлена платформа 8.3.18, то и значение выше этой версии выбрать нельзя — платформа просто не даст такой вариант в списке.
Для типовых конфигураций (1С:Бухгалтерия, 1С:Управление торговлей и других) режим совместимости обычно задаёт поставщик в релизе. Самостоятельно менять его без необходимости не стоит: это может нарушить работу типового кода и усложнить последующие обновления.
Режим совместимости расширений и отдельные нюансы
Совместимость расширений конфигурации
У расширений конфигурации есть собственный режим совместимости, который задаётся в свойствах расширения аналогичным образом. Он не может быть выше режима совместимости основной конфигурации — платформа контролирует это ограничение при сохранении.
Если расширение разработано под другую версию, чем основная база, проверьте оба значения. Несоответствие режимов — частая причина ошибок «Метод не обнаружен» или недоступности объектов в коде расширения.
Совместимость с версией 8.2 и старше
Значения «Версия 8.2.13» и «Версия 8.2.16» используются для очень старых решений. В этих режимах платформа эмулирует поведение управляемого приложения ранних версий, включая особенности работы интерфейса. Применять их имеет смысл только при сопровождении устаревших конфигураций, переход на которые с новых разработок не планируется.
Проверка результата после изменения
После обновления конфигурации базы данных нужно убедиться, что новый режим применился и система работает корректно. Проверка занимает немного времени, но позволяет поймать проблемы до того, как с ними столкнутся пользователи.
Как проверить результат
Отображается выбранная версия, конфигурация базы данных обновлена без ошибок
При обновлении появляются ошибки реструктуризации или конфликты
База открывается, типовые операции (проведение документов, отчёты) выполняются
Ошибки при старте, падение клиента, сообщения о несовместимости
Нет новых ошибок после смены режима
Массовые ошибки исполнения встроенного языка
Расширения загружаются и функционируют
Расширения отключены или выдают ошибки о несоответствии режима
Дополнительно полезно программно проверить текущий режим через встроенный язык: значение доступно через свойство объекта метаданных конфигурации. Это удобно для автоматизированных проверок на серверах с несколькими базами.
Режим = Метаданные.РежимСовместимости;
Сообщить(Режим);Риски и ограничения
Повышение версии совместимости (например, с 8.3.9 на 8.3.20) — потенциально опасная операция. Новые механизмы платформы могут начать работать иначе: изменится поведение проведения документов, блокировок, работы с датами и запросами. Код, который годами работал стабильно, может начать выдавать ошибки.
Понижение режима тоже не всегда безобидно: если конфигурация уже использует объекты и методы новых версий, при понижении платформа откажется обновлять базу данных с сообщениями об ошибках. Придётся сначала убирать из кода несовместимые конструкции.
Типичные ошибки при работе с режимом совместимости
Отдельная ошибка — забыть про режим совместимости при обновлении платформы на сервере. После установки нового релиза платформы старые базы продолжают работать в прежнем режиме совместимости, и администраторы иногда годами не отключают его, лишая себя улучшений производительности и новых функций.
Удобно вести учёт режимов совместимости всех рабочих баз в одном документе: версия платформы, режим совместимости конфигурации и расширений, дата последней проверки. Это упрощает планирование обновлений и помогает быстро найти базы, требующие адаптации.
FAQ
Можно ли изменить режим совместимости, когда в базе работают пользователи?
Технически свойство конфигурации изменить можно, но обновление конфигурации базы данных в большинстве случаев потребует монопольного доступа — сеансы придётся завершить. Планируйте операцию на нерабочее время и заранее предупредите пользователей.
Что произойдёт, если установить «Не использовать» на старой конфигурации?
Платформа начнёт применять поведение текущей версии. Если код конфигурации рассчитан на старые механизмы, возможны ошибки при проведении документов, формировании отчётов и выполнении регламентных операций. Перед установкой протестируйте базу на копии.
Влияет ли режим совместимости на производительность?
Прямого замедления режим не вызывает, но при включённой совместимости недоступны оптимизации новых версий платформы. На практике отказ от устаревшего режима после адаптации кода часто даёт выигрыш в скорости работы.
Как узнать текущий режим совместимости без конфигуратора?
Через встроенный язык: свойство Метаданные.РежимСовместимости возвращает текущее значение. Это можно выполнить во внешней обработке или консоли кода в режиме «Предприятие» при наличии соответствующих прав.
Почему в списке нет нужной версии платформы?
Список содержит только версии не выше установленной платформы. Если нужного значения нет, обновите платформу на сервере или клиенте до требуемого релиза, после чего версия появится в выпадающем списке.
Нужно ли менять режим совместимости при каждом обновлении платформы?
Нет. Обновление платформы не требует автоматической смены режима — база продолжит работать в прежнем режиме. Переход на новый режим выполняют осознанно, после тестирования конфигурации на новой версии.
Что важно запомнить
Режим совместимости включается в конфигураторе через свойства корневого узла конфигурации и применяется после обновления конфигурации базы данных. Выбирайте версию по происхождению конфигурации, перед изменением делайте резервную копию и тестируйте на копии, а после — проверяйте работу базы, расширений и журнал регистрации.