Как правильно перевести конфигурацию Розница 1.0 с платформы 8.1 на 8.3 для работы с онлайн-кассами

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

При необходимости интегрировать старые решения, такие как Розница 1.0, с современным торговым оборудованием (например, смарт-терминалами Эвотор или новыми онлайн-кассами с поддержкой ФФД 1.2), системные администраторы и программисты часто сталкиваются с техническим ограничением: современные драйверы и обработки обмена требуют платформу версии 8.3. Однако попытка обновить платформу «в лоб» с версии 8.1 до 8.3 часто заканчивается аварийным закрытием Конфигуратора без объяснения причин. В этой статье мы разберем, почему это происходит, и как выполнить миграцию корректно.

Выясняем причину: почему не работает прямая конвертация

Разберем ситуацию: при открытии старой базы (формата 8.1) современным Конфигуратором 8.3, система предлагает выполнить конвертацию. После нажатия кнопки «Да» процесс начинается, но через несколько секунд окно 1С просто закрывается. Проанализируем причины такого поведения. Основная проблема кроется в значительных изменениях в структуре таблиц базы данных (индексов, итогов и формата хранения метаданных), которые произошли между выпусками 8.1 и 8.3. Платформа 8.3 ожидает структуру, максимально приближенную к 8.2, и не всегда может корректно «переварить» объекты напрямую из 8.1.

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

Шаг 1. Подготовка и проверка физической целостности

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

Найдем в каталоге установленной платформы (обычно это C:\Program Files (x86)\1cv8\номер_версии\bin) файл chdbfl.exe. Запустим его, выберем файл нашей базы и установим флаг «Исправлять обнаруженные ошибки». Это позволит устранить поврежденные индексы, которые часто становятся причиной «вылета» Конфигуратора при конвертации.

Шаг 2. Промежуточная конвертация через платформу 8.2

Как показывает практика и советы опытных специалистов, наиболее стабильный путь — это использование «транзитной» версии. Разберем по шагам, как это сделать:

  1. Установим платформу версии 8.2 (рекомендуется использовать финальные сборки, например, 8.2.19.130).
  2. Добавим нашу базу 8.1 в список баз платформы 8.2.
  3. Запустим ее в режиме Конфигуратор. На вопрос о конвертации отвечаем «Да».
  4. После завершения процесса обязательно зайдем в меню Администрирование — Тестирование и исправление.
  5. Выберем пункты «Реиндексация таблиц», «Проверка логической целостности» и «Сжатие таблиц». Это подготовит структуру данных к следующему прыжку.

Шаг 3. Переход на платформу 8.3

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

  1. Запустим Конфигуратор версии 8.3.
  2. Снова подтвердим конвертацию. Теперь она должна пройти гладко и без ошибок.
  3. После конвертации проверим Режим совместимости. В дереве конфигурации щелкнем правой кнопкой на корневой элемент, выберем «Свойства» и в самом низу списка найдем поле РежимСовместимости.

Важный нюанс: Для конфигурации «Розница 1.0» рекомендуется оставить режим совместимости с версией 8.2.13 или 8.2.16. Если установить режим «Не использовать», многие процедуры в коде, написанные под обычное приложение, перестанут работать из-за ужесточения контроля типов и методов на сервере/клиенте в 8.3.

Шаг 4. Настройка работы с торговым оборудованием и Эвотор

Рассмотрим, зачем нам вообще понадобился этот переход. В случае с кассами Эвотор, обмен часто идет через облачные сервисы или специализированные драйверы. Платформа 8.3 обладает встроенными механизмами работы с протоколами https и библиотеками OpenSSL, которые необходимы для защищенного соединения с магазином приложений Эвотор. В платформе 8.1 реализовать это штатными средствами практически невозможно.

Проанализируем ситуацию с внешними компонентами. «Розница 1.0» использует старый механизм подключения торгового оборудования. После перехода на 8.3 обратим внимание на разрядность клиента:

Шаг 5. Очистка кэша и финальные штрихи

Выясним, почему после конвертации база может «глючить» или вести себя нестабильно. Старые файлы логов, индексов полнотекстового поиска и временные файлы от версии 8.1 могут конфликтовать с новой платформой. Выполним следующие действия:

  1. Удалим базу из списка в стартере 1С.
  2. Вручную очистим папки кэша в %AppData%\1C\1Cv8.
  3. В каталоге самой базы (для файлового варианта) удалим все файлы и папки, кроме основного файла 1Cv8.1CD. Все служебные файлы будут пересозданы платформой 8.3 автоматически при первом запуске.

Технический итог

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


СистемнаяИнформация = Новый СистемнаяИнформация;
ВерсияПлатформы = СистемнаяИнформация.ВерсияПриложения;

Если Найти(ВерсияПлатформы, "8.3") > 0 Тогда
    // Используем новые возможности работы с HTTP или SSL
    Попытка
        ОбменСЭвоторчерезSSL();
    Исключение
        Сообщить("Ошибка при работе через защищенное соединение");
    КонецПопытки;
Иначе
    // Старая логика для 8.1 или 8.2
    ЗапуститьСтарыйМеханизмОбмена();
КонецЕсли;

Таким образом, последовательная миграция через 8.2 — это единственный надежный способ сохранить работоспособность накопленных данных и при этом получить доступ к современным технологиям работы с онлайн-кассами. Не забывайте про утилиту chdbfl.exe и всегда работайте с 32-битным клиентом, если в вашей Рознице 1.0 подключено старое торговое оборудование.

← На главную