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

Администрирование · 10 мин

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

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

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

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

Важно понимать направление изменения: поднять режим совместимости — значит указать более новую версию платформы (например, с «Версия 8.3.14» на «Версия 8.3.22» или «Не использовать»). Обратное понижение тоже возможно, но только если в конфигурации не используются объекты и механизмы, появившиеся в новых версиях.

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

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

Значение «Не использовать» означает, что конфигурация работает в режиме текущей установленной платформы без каких-либо ограничений совместимости. Любое другое значение ограничивает поведение платформы рамками указанной версии. Отдельно существует «Режим совместимости интерфейса», который управляет внешним видом (такси vs интерфейс версии 8.2) — его не путайте с основным режимом совместимости.

Когда поднимать режим совместимости, а когда не стоит

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

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

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

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

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

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

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

Порядок действий
  1. 1
    Сделайте резервную копию базы (выгрузку в dt или средствами СУБД)
  2. 2
    Откройте конфигуратор и разблокируйте конфигурацию от поддержки, если она на замке и изменение разрешено
  3. 3
    В дереве конфигурации щёлкните правой кнопкой по корневому узлу (имя конфигурации) и выберите «Свойства»
  4. 4
    Найдите свойство «Режим совместимости» и выберите нужную версию или «Не использовать»
  5. 5
    Сохраните конфигурацию (Ctrl+S)
  6. 6
    Выполните обновление конфигурации базы данных (F7 или меню «Конфигурация — Обновить конфигурацию базы данных»)
  7. 7
    Запустите тестирование и исправление либо проверку конфигурации для поиска ошибок

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

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

Как изменить режим без конфигуратора

Для автоматизации режим совместимости можно менять пакетно. Основной путь — выгрузка конфигурации в файлы XML, правка файла Configuration.xml (тег CompatibilityMode) и загрузка обратно через командную строку конфигуратора. Это удобно для обслуживания множества однотипных баз.

bash
"C:\Program Files\1cv8\8.3.22.XXXX\bin\1cv8.exe" DESIGNER /F"D:\bases\trade" /N"Администратор" /LoadConfigFromFiles "D:\cf_files" /UpdateDBCfg

Также существуют инструменты на базе OneScript и внешние обработки, меняющие режим программно. Независимо от способа обязательны два условия: резервная копия до изменения и проверка после. Значение режима в XML указывается в виде, например, Version8_3_22 или DontUse.

Проверка результата и типичные ошибки после повышения

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

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

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

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

Значение свойства «Режим совместимости» в конфигураторе
Норма

Установлена требуемая версия или «Не использовать»

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

Значение осталось прежним — обновление конфигурации БД не выполнено

Проверка конфигурации
Норма

Нет критических ошибок, связанных с режимом совместимости

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

Ошибки модальности, устаревших методов, недоступных объектов

Запуск пользовательских сеансов
Норма

Основные формы открываются, типовые операции выполняются

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

Ошибки при открытии форм, падение отчётов и обработок

Расширения и внешние обработки
Норма

Загружаются и работают как раньше

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

Сообщения о несовместимости, отказ загрузки расширений

Ограничения и границы безопасной самостоятельной работы

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

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

Итог

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

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

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

Что будет, если поднять режим совместимости до «Не использовать»?

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

Можно ли поднять режим совместимости без монопольного доступа?

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

Где посмотреть текущий режим совместимости базы?

В конфигураторе: свойства корневого узла конфигурации, поле «Режим совместимости». Программно значение можно получить через объект Метаданные: Метаданные.РежимСовместимости. Также режим виден в свойствах информационной базы в консоли кластера для серверных баз.

Почему поле «Режим совместимости» недоступно для редактирования?

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

Влияет ли режим совместимости на скорость работы?

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

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

Автоматически режим не меняется — платформа продолжит работать в старом режиме совместимости. Менять его нужно осознанно: когда конфигурация готова к новому режиму и это требуется для обновлений или новой функциональности. Само по себе обновление платформы не обязывает поднимать режим.