Администрирование · 10 мин
Режим совместимости 1С: что это и как с ним работать
Что такое режим совместимости в 1С, зачем он нужен, где посмотреть и как изменить. Разбираем значения режимов, риски смены и типичные ошибки администраторов.
Режим совместимости в 1С — это параметр конфигурации, который указывает платформе, под поведение какой версии технологической платформы «1С:Предприятие» нужно выполнять прикладное решение. Проще говоря: даже если на сервере установлена новая платформа, конфигурация может работать «по правилам» старой версии, чтобы не сломаться после обновления.
Этот механизм появился потому, что типовые и самописные конфигурации обновляются медленнее, чем платформа. Фирма «1С» регулярно меняет поведение платформы: способы работы с данными, проверки, поведение механизмов блокировок, интерфейсные особенности. Если бы конфигурация сразу начинала работать по новым правилам, часть кода перестала бы функционировать корректно.
Понимать режим совместимости нужно в трёх ситуациях: при обновлении платформы, при обновлении конфигурации и при разработке, когда требуется использовать новые возможности платформы. Ниже разберём, где смотреть текущее значение, как его менять, какие значения встречаются и чем грозит неправильная настройка.
Что именно контролирует режим совместимости
Параметр задаётся в свойствах конфигурации в конфигураторе и хранится в самой конфигурации, а не в настройках информационной базы. Это важно: одна и та же конфигурация на разных серверах будет вести себя одинаково с точки зрения режима совместимости.
На поведение влияют два связанных свойства: «Режим совместимости» и «Режим совместимости расширения данных». Первый определяет общее поведение платформы при выполнении кода, второй — правила работы с расширениями, изменяющими структуру данных. Путать их нельзя: для расширений с собственными объектами данных важен именно второй параметр.
Значение режима обычно выглядит как «Версия 8.3.14», «Версия 8.3.22» и т.п. или «Не использовать». Вариант «Не использовать» означает, что конфигурация работает в режиме текущей установленной платформы без ограничений — это наиболее «современный» и одновременно наиболее требовательный к качеству кода вариант.
Зачем платформе вообще нужен этот механизм
Основная причина — безопасное обновление платформы. Администратор может установить новую версию платформы, не дожидаясь обновления конфигурации: бухгалтерия продолжит работать, пока поставщик конфигурации не выпустит адаптированный релиз. Без режима совместимости каждое обновление платформы было бы рискованным событием.
Вторая причина — постепенная миграция. Разработчик может поднимать режим совместимости поэтапно, проверяя на каждом шаге, не отвалился ли какой-то механизм. Это дешевле и безопаснее, чем одномоментный переход.
Обратная сторона — режим совместимости «замораживает» часть возможностей. Новые функции платформы, оптимизации производительности и исправления поведения могут быть недоступны, пока режим занижен. Поэтому держать его ниже необходимого без причины — плохая практика.
Где посмотреть текущий режим совместимости
Стандартный путь — через конфигуратор. Откройте конфигурацию, в дереве объектов выделите корневой узел с именем конфигурации, откройте палитру свойств и найдите пункты «Режим совместимости» и «Режим совместимости расширения данных».
Если конфигурация закрыта для изменений (типовая на поддержке без возможности редактирования), свойства всё равно доступны для просмотра. Для расширений конфигурации аналогичные свойства задаются в самом расширении и должны соответствовать параметрам основной конфигурации.
- 1Откройте конфигуратор под пользователем с правами администратора
- 2Через меню «Конфигурация» выберите «Открыть конфигурацию»
- 3Выделите корень дерева конфигурации и откройте палитру свойств
- 4Найдите свойства «Режим совместимости» и «Режим совместимости расширения данных»
- 5Запишите текущие значения перед любыми изменениями
Какие значения встречаются и что выбрать
Список доступных значений формируется установленной платформой: можно выбрать любую поддерживаемую версию вплоть до текущей или вариант «Не использовать». Выбрать версию выше установленной платформы нельзя.
| Значение | Что означает | Когда уместно |
|---|---|---|
| Конкретная версия (например, 8.3.x) | Платформа эмулирует поведение указанной версии | Конфигурация ещё не адаптирована под текущую платформу |
| Не использовать | Работа по правилам текущей платформы | Конфигурация протестирована на актуальной платформе |
Практическое правило простое: режим совместимости должен соответствовать рекомендациям поставщика конфигурации. Для типовых решений фирма «1С» указывает требуемые версии платформы в описании релиза — самостоятельно занижать или повышать режим относительно этих требований не следует.
Сравнение вариантов
Безопасно сразу после обновления платформы, но недоступны новые функции и оптимизации; со временем старые режимы перестают поддерживаться
Доступны все возможности платформы, но требуется тестирование и, возможно, доработка кода
Максимально современное поведение; подходит для конфигураций, которые вендор явно сертифицировал под текущую платформу
Как безопасно изменить режим совместимости
Изменение режима — это изменение конфигурации, поэтому оно выполняется в конфигураторе с последующим обновлением конфигурации базы данных. Перед началом обязательно сделайте выгрузку информационной базы (файл .dt) и убедитесь, что копия восстанавливается.
Идеальный порядок — сначала поднять режим на тестовой копии базы, прогнать ключевые сценарии (проведение документов, формирование отчётов, обмены данными, работу расширений) и только потом повторить на рабочей базе в окне обслуживания, когда пользователи не работают.
После смены режима платформа может потребовать реструктуризацию данных — это нормально, но на больших базах процесс занимает заметное время. Планируйте окно обслуживания с запасом и не прерывайте процесс обновления конфигурации базы данных.
Типичные ошибки и ограничения
Самая частая ошибка — забыть про расширения. Если расширение рассчитано на другой режим совместимости, чем основная конфигурация, оно может перестать применяться или работать некорректно. После смены режима проверяйте все подключённые расширения.
Вторая ошибка — считать, что заниженный режим «на всякий случай» безвреден. Старые режимы постепенно выводятся из поддержки платформы: при очередном обновлении можно обнаружить, что конфигурация требует режим, которого в новой платформе уже нет, и тогда придётся срочно дорабатывать решение.
Как проверить, что всё работает после смены режима
Проверка должна быть предметной, а не формальной. Недостаточно того, что база открылась — нужно пройти основные бизнес-сценарии: создать и провести документы, сформировать регламентные отчёты, выполнить обмен, запустить регламентные задания.
Как проверить результат
Все пользователи входят, интерфейс отображается корректно
Ошибки при старте, пустые формы, падение клиента
Документы проводятся, движения формируются как раньше
Ошибки проведения, отличия в движениях
Обмены выполняются без ошибок в журнале
Ошибки сериализации, отказ приёмника
Все расширения активны и применяются
Расширение отключено из-за несовместимости
Задания выполняются по расписанию без ошибок
Задания падают или зависают
Частые вопросы
Можно ли работать, если режим совместимости ниже установленной платформы?
Да, это штатная ситуация и основное назначение механизма. Проблемы начинаются только если режим занижен без необходимости надолго: вы теряете новые возможности и рискуете столкнуться с прекращением поддержки старого режима в будущих версиях платформы.
Что будет, если режим совместимости выше версии установленной платформы?
Такая ситуация невозможна при штатной настройке: конфигуратор не позволит выбрать версию выше установленной. Но если базу с высоким режимом попытаться открыть на старой платформе, платформа откажет в запуске — потребуется обновить платформу до нужной версии.
Нужно ли менять режим совместимости при каждом обновлении платформы?
Нет. Обновление платформы само по себе не требует смены режима. Менять его стоит только когда поставщик конфигурации это рекомендует или когда вам нужны возможности новой платформы, заблокированные текущим режимом.
Чем режим совместимости отличается от режима совместимости расширения данных?
Первый управляет общим поведением платформы при выполнении кода, второй — правилами работы расширений, которые добавляют или изменяют данные. Для конфигураций без расширений, меняющих структуру данных, второй параметр менее критичен, но проверять оба следует всегда.
Влияет ли режим совместимости на производительность?
Может влиять косвенно: в новых версиях платформы появляются оптимизации, которые при заниженном режиме могут не применяться. Однако ожидать драматического ускорения от смены режима не стоит — производительность в первую очередь зависит от кода конфигурации, индексов и нагрузки.
Как узнать, какой режим рекомендует поставщик типовой конфигурации?
Требования к версии платформы указываются в описании релиза конфигурации на портале поставщика и в сопроводительной документации. Ориентируйтесь на эти данные, а не на собственные предположения — отклонение от рекомендаций вендора снимает с вас гарантию предсказуемого поведения типового кода.
Что важно запомнить
Режим совместимости — свойство конфигурации, заставляющее новую платформу 1С работать по правилам старой версии. Смотреть его нужно в палитре свойств конфигурации, менять — только на копии базы с последующим тестированием документов, отчётов, обменов и расширений. Ориентир при выборе значения — рекомендации поставщика конфигурации, а не максимально новая или максимально старая версия.