При сопровождении устаревших прикладных решений нередко возникает необходимость переноса конфигурации с платформы 1С:Предприятие 8.1 на актуальную платформу 8.3. Основная цель такого перехода — использование современных инструментов разработки, серверных механизмов и запуск базы в режиме совместимости с обычными формами без необходимости полной переработки интерфейса под управляемые формы.
Разберем по шагам, почему прямая конвертация завершается ошибкой, как технически правильно выполнить переход и какие нюансы работы кода и СУБД следует учесть.
Платформа 8.3 не поддерживает прямое открытие информационных баз формата 8.1. Внутренние структуры хранения метаданных и таблиц СУБД версии 8.1 кардинально отличаются от формата 8.3, а механизмы прямой конвертации из 8.1 были исключены еще на этапе развития ветки 8.3. Попытка открыть файл базы или загрузить файл выгрузки .dt из 8.1 напрямую в конфигураторе 8.3 приводит к аварийному завершению работы или ошибкам несовместимости формата.
Корректный переход выполняется исключительно через промежуточный шаг — платформу 1С:Предприятие 8.2 (рекомендуется релиз 8.2.14 или выше).
Перед началом любых манипуляций обязательно создадим резервную копию рабочей базы. Если база повреждена или содержит логические ошибки ссылочной целостности, процесс конвертации гарантированно прервется с ошибкой. Проанализируем обязательные шаги подготовки:
chdbfl.exe из каталога bin установленной платформы 8.1 и исправим найденные ошибки..cf) и файл информационной базы (.dt) для сохранения резервного слепка.Если требуется перенести информационную базу со всеми накопленными данными и историей, применим двухшаговую схему обновления:
В ситуациях, когда база содержит сильные повреждения таблиц или конвертация целиком дает сбой, разберем альтернативный путь: перенос чистой структуры метаданных и последующая перекачка данных обработками.
.cf конфигурации в платформе 8.2, сохраняем его, затем открываем и сохраняем в 8.3..cf через меню Конфигурация — Загрузить конфигурацию из файла....ВыгрузкаЗагрузкаДанныхXML.epf:
MD81Exp.epf и MD83Exp.epf, сформируем правила прямого переноса объектов («один в один») и выполним перенос через универсальный обмен в формате XML.После успешного запуска информационной базы на платформе 8.3 в режиме совместимости необходимо проверить ключевые технические моменты:
Управляемый или Автоматический и управляемый для предотвращения взаимоблокировок (deadlocks).ПО и ГДЕ. Кроме того, проверьте код модулей на совпадение локальных переменных с новыми глобальными свойствами платформы 8.3 (например, Сеанс, ПараметрыКлиента, Криптография).
ПолнотекстовыйПоиск.Очистить();
ПолнотекстовыйПоиск.Обновить(Истина);
Соблюдение описанной цепочки конвертации позволяет быстро запустить старое прикладное решение на платформе 8.3 без потери данных и без необходимости экстренного переписывания обычных форм в управляемые.