Старая база 8.2 на платформе 8.3: запуск и режим совместимости

· 9 мин

Содержание

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

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

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

Какая версия платформы 8.3 нужна для базы 8.2

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

Узнать текущую версию платформы можно в окне запуска 1С: пункт Справка → О программе в самом окне списка баз либо в уже запущенной базе — там указан полный номер вида 8.3.XX.YYYY.

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

Сравнивайте версии строго по номеру, а не «старше/младше» на глаз: релиз 8.3.21 новее, чем 8.3.18, потому что число больше. Для разных баз на одной машине это важно — платформа всегда берётся самая свежая из установленных, если явно не указано иное.

Разрядность тоже имеет значение. Если база раньше работала под 32-разрядной платформой 8.2, под 8.3 её можно запускать как 32-, так и 64-разрядной версией сервера или клиента. Для клиент-серверной базы разрядность сервера 1С выбирается при установке; на объёмных базах 64-разрядный сервер заметно устойчивее по памяти.

Что такое режим совместимости и как 8.3 открывает старую базу

Режим совместимости — это свойство конфигурации, которое говорит платформе 8.3: «веди себя так, как вела бы себя платформа такой-то версии». Благодаря ему код и формы, написанные под 8.2, продолжают работать без переделки.

Значение режима хранится внутри базы. Когда вы открываете базу 8.2 платформой 8.3, она читает это значение и запускает базу в соответствующем поведении. Типичные варианты для старых баз:

  • 🔹 Версия 8.1 — для самых старых конфигураций;
  • 🔹 Версия 8.2.13 и Версия 8.2.16 — две контрольные точки внутри 8.2;
  • 🔹 Версия 8.3.1, Версия 8.3.2 и далее — по мере перевода базы на возможности 8.3;
  • 🔹 Не использовать — чистый режим 8.3 без оглядки на старые версии.

Пока режим стоит на Версия 8.2.13 или Версия 8.2.16, база де-факто работает как на 8.2, просто под более новым «движком». Это и есть самый безопасный сценарий запуска: ничего не трогаем, база открывается как была.

Отдельно существует свойство Режим совместимости интерфейса. Оно отвечает за внешний вид и может принимать значения Версия 8.2, Такси. Разрешить Версия 8.2 и Такси. Для старой базы обычно стоит Версия 8.2 — тогда интерфейс выглядит привычно по-старому.

Запуск базы 8.2 на платформе 8.3 по шагам

Порядок действий для файловой базы (каталог с файлом 1Cv8.1CD):

  1. Установите платформу 8.3 нужного релиза. Установщик 8.2 при этом удалять не нужно.
  2. В окне запуска 1С нажмите Добавить → выберите Добавление в список существующей информационной базы.
  3. Укажите каталог, где лежит база 8.2, и задайте ей понятное имя в списке.
  4. Выделите базу в списке и нажмите 1С:Предприятие.
  5. При первом запуске платформа может выполнить подготовку служебных структур — дождитесь окончания, не закрывая окно принудительно.

Для клиент-серверной базы (на сервере 1С) шаги те же, но базу добавляют через Добавление в список существующей с типом На сервере 1С:Предприятия, указывая имя кластера и имя базы. Саму базу на сервере заранее переносить или пересоздавать не нужно — достаточно, чтобы сервер работал на платформе 8.3.

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

Прежде чем первый раз открывать рабочую базу новой платформой, сделайте резервную копию: выгрузку в файл .dt (Администрирование → Выгрузить информационную базу в Конфигураторе) или копию каталога файловой базы целиком. Если что-то пойдёт не так при подготовке структур, будет куда откатиться.

Перед первым запуском базы 8.2 под 8.3
Выполнено: 0 / 5

Обновление конфигурации базы данных при запуске

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

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

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

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

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

Главная практическая засада при переходе с 8.2 — тип клиента. Базы 8.2 часто сделаны на обычных формах (обычное приложение), а не на управляемых.

Запомнить просто:

Тип клиентаИсполняемый файлКакие формы открывает
Толстый клиент1cv8.exeобычные и управляемые
Тонкий клиент1cv8c.exeтолько управляемые
Веб-клиентв браузеретолько управляемые

Отсюда вывод: базу 8.2 на обычных формах запускайте толстым клиентом. Тонкий клиент и веб-клиент обычные формы не покажут — вы либо не увидите привычный интерфейс, либо получите пустые окна.

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

Если при добавлении базы в список вы вручную выбрали тонкий клиент как основной способ запуска, а база оказалась на обычных формах, смените способ в свойствах базы: Изменить → на вкладке с основным режимом запуска укажите Выбирать автоматически или Толстый клиент. Тогда платформа сама запустит нужный тип клиента по настройке конфигурации.

Внешние отчёты и обработки из базы 8.2

Внешние отчёты (.erf) и обработки (.epf), написанные под 8.2 на обычных формах, продолжают работать, если открыть их толстым клиентом в базе, которая запущена в режиме совместимости.

Что учитывать:

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

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

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

Запустить базу 8.2 на 8.3 и постоянно работать в режиме Версия 8.2.16 — абсолютно рабочий вариант. Поднимать режим совместимости нужно только тогда, когда вам понадобились возможности новых версий платформы: управляемые формы, новые механизмы, объекты, доступные начиная с конкретного релиза.

Делается это так:

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

Поднимайте режим пошагово и тестируйте после каждого шага. Так проще понять, на каком уровне появилась проблема, и откатиться ровно на одну ступень, а не разбираться во всём объёме изменений сразу.

При повышении режима совместимости чаще всего всплывают два классических отличия платформы 8.3 от 8.2.

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

Второе — режим управления блокировкой данных. Это свойство конфигурации со значениями Автоматический, Управляемый и Автоматический и управляемый. Старые базы 8.2 нередко работают в автоматическом режиме; современные типовые конфигурации — в управляемом. Менять его стоит обдуманно: управляемые блокировки уменьшают число конфликтов при одновременной работе пользователей, но требуют корректной расстановки блокировок в коде.

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

Типичные ошибки при запуске базы 8.2 на 8.3

Диагностика: выберите симптом

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

Нужно ли конвертировать базу 8.2 в какой-то новый формат для 8.3?
Нет. Формат файловой базы (1Cv8.1CD) совместим. Платформа 8.3 открывает базу 8.2 как есть, при необходимости приводя внутренние структуры к новому формату при первом запуске или обновлении конфигурации.
Можно ли держать платформы 8.2 и 8.3 на одном компьютере?
Да, они устанавливаются и работают параллельно. Это удобно на период перехода: одну и ту же базу можно запускать то 8.2, то 8.3, пока не убедитесь, что всё в порядке.
Обязательно ли поднимать режим совместимости до версии 8.3?
Нет. База может долго работать в режиме Версия 8.2.13 или Версия 8.2.16 под платформой 8.3. Поднимать режим стоит только ради новых возможностей платформы или ради получения штатных обновлений типовой конфигурации.
Почему старые внешние обработки не открываются?
Скорее всего, они сделаны на обычных формах, а вы пытаетесь открыть их тонким клиентом. Используйте толстый клиент. Если обработка не открывается и в толстом клиенте после поднятия режима совместимости — в ней задействованы несовместимые с новым уровнем механизмы.
Удалять ли платформу 8.2 после перехода?
Не обязательно. Пока база стабильно работает под 8.3 и вы не планируете возврат, 8.2 можно удалить. Но на период тестирования её лучше оставить как путь отката.