Можно ли откатить платформу 1С с 8.3.18 на 8.3.17 и как это сделать правильно?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Иногда возникают ситуации, когда необходимо вернуться на предыдущую версию платформы 1С:Предприятие. Например, после обновления обнаружились критические ошибки, или стороннее оборудование перестало корректно работать. Рассмотрим насущный вопрос: возможен ли безопасный откат клиент-серверной базы SQL с платформы 8.3.18 на 8.3.17? Проанализируем два ключевых сценария и разберем все шаги, чтобы избежать потери данных и не столкнуться с ошибками.

Сценарий 1: База уже работает в режиме совместимости с 8.3.17

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

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

Тем не менее, даже в этом простом случае необходимо соблюдать осторожность. Разберем по шагам:

  1. Создание резервной копии. Это золотое правило любых административных действий. Перед началом работ сделайте полную резервную копию базы данных средствами SQL Server, а также выгрузите информационную базу в файл .dt. Это ваша страховка на случай непредвиденных проблем.
  2. Удаление новой платформы. Корректно удалите платформу 8.3.18 с сервера 1С и со всех клиентских машин.
  3. Установка старой платформы. Установите целевую версию платформы 8.3.17 на сервер и клиенты.
  4. Очистка кэша. Перед первым запуском базы на новой-старой платформе обязательно очистите локальный кэш 1С. Часто именно "остатки" данных от новой версии в кэше приводят к трудно диагностируемым ошибкам, в том числе к знаменитой "ошибке формата потока".

После выполнения этих шагов база данных должна запуститься и работать корректно.

Сценарий 2: База работает на 8.3.18 без режима совместимости

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

Что произойдет при прямом откате? Вы увидите сообщение об ошибке, чаще всего — "Ошибка формата потока". Это означает, что платформа 8.3.17 пытается прочитать данные, но не понимает их формат, потому что он был изменен более новой версией.

Рассмотрим правильную и безопасную последовательность действий для этого случая:

  1. Не удаляйте платформу 8.3.18! Все подготовительные операции нужно выполнять именно на ней.
  2. Создайте резервную копию. Повторимся, этот шаг обязателен.
  3. Измените режим совместимости. Запустите базу в режиме "Конфигуратор" на платформе 8.3.18. Откройте свойства конфигурации (правый клик по корневому элементу дерева) и на вкладке "Совместимость" установите свойство "Режим совместимости" в значение "Версия 8.3.17".
  4. Обновите конфигурацию базы данных. После изменения режима совместимости сохраните конфигурацию (F7). Система обнаружит изменения и предложит обновить конфигурацию базы данных. Согласитесь. Начнется процесс реструктуризации. Платформа будет приводить внутреннюю структуру таблиц к формату, совместимому с версией 8.3.17. Будьте готовы, что для больших баз этот процесс может занять очень много времени!
  5. Проведите тестирование. После успешной реструктуризации тщательно проверьте работоспособность базы. Запустите ее в пользовательском режиме на платформе 8.3.18 и убедитесь, что все ключевые операции выполняются корректно.
  6. Выполните откат платформы. Только теперь, когда база структурно готова к переходу, можно удалять платформу 8.3.18 и устанавливать 8.3.17 на сервере и клиентах.
  7. Очистите кэш. Как и в первом сценарии, очистка кэша перед первым запуском — обязательная процедура.

Самый надежный способ: откат через выгрузку и загрузку в .dt

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

В чем его надежность? Файл .dt содержит не физическую структуру таблиц SQL, а их логическое описание и данные. Когда вы загружаете этот файл в новую, пустую базу, платформа 8.3.17 создает всю структуру "с нуля" по своим собственным правилам. Это гарантирует 100% совместимость физической структуры базы с версией платформы.

Пошаговый процесс:

  1. Находясь на платформе 8.3.18, зайдите в "Конфигуратор" и выгрузите информационную базу в файл (Администрирование -> Выгрузить информационную базу).
  2. Создайте на сервере 1С новую, абсолютно пустую информационную базу.
  3. Установите платформу 8.3.17.
  4. Зайдите в конфигуратор новой пустой базы уже на платформе 8.3.17.
  5. Выполните загрузку из ранее созданного .dt файла (Администрирование -> Загрузить информационную базу).

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

В итоге, успешный откат платформы 1С — задача выполнимая, но требующая четкого понимания текущей ситуации и строгого следования процедуре. Всегда начинайте с резервного копирования и не пренебрегайте очисткой кэша.

← На главную