При обслуживании и модернизации давно не обновлявшихся информационных баз 1С:Предприятие (в частности, конфигурации «Управление производственным предприятием» редакции 1.2) специалисты часто сталкиваются с ситуацией, когда база уже переведена на платформу 8.2, но для ее дальнейшего обновления требуются релизы, изначально выпущенные разработчиками еще для платформы 8.1. Попытка применить файл обновления .cfu штатным способом через механизм поддержки или развернуть архив .dt в более старой версии платформы приводит к ошибкам: «Структура конфигурации несовместима с текущей версией программы» или «Неверный формат файла для загрузки информационной базы». Разберем детально природу этой проблемы и пошаговый алгоритм ее решения.
Проанализируем технические причины, по которым платформа блокирует стандартные операции обновления и загрузки:
.cfu — это бинарный дельта-патч, содержащий только разницу метаданных между двумя конкретными релизами конфигурации. Он строго привязан к внутреннему формату метаданных платформы, на которой был собран. Конфигуратор 8.2 не умеет «на лету» конвертировать разностные пакеты, созданные для 8.1, при попытке обновления через Конфигурация — Поддержка — Обновить конфигурацию, что сразу вызывает системную ошибку о несовместимости структуры.1Cv8.1CD и архив выгрузки .dt, созданные на платформе 8.2, имеют новую структуру внутренних таблиц и формат хранения бинарных данных. Платформа 8.1 физически не может прочитать заголовок и структуру архива 8.2, сообщая о неверном формате файла. Понизить версию платформы простой загрузкой .dt назад в 8.1 невозможно..cf), файл обновления .cfu нельзя просто открыть через меню Файл — Открыть для последующего пересохранения или конвертации. Конвертировать между платформами допускается только полные файлы конфигураций или базы целиком.Поскольку рабочая база уже сконвертирована под платформу 8.2, а файлы обновлений ветки 1.2 рассчитаны на платформу 8.1, оптимальный путь заключается в подготовке промежуточных полных файлов конфигурации .cf на отдельном стенде с платформой 8.1 с последующей их конвертацией в формат 8.2.
Разберем данный процесс по шагам:
8.1.15) и создадим пустую информационную базу без конфигурации..cf того релиза, с которого начинались доработки в рабочей базе (в рассматриваемом примере это релиз 1.2.18). Для этого воспользуемся меню Конфигурация — Загрузить конфигурацию из файла.....cfu внутри платформы 8.1 через меню Конфигурация — Поддержка — Обновить конфигурацию:
1.2.19.11.2.22.31.2.23.21.2.24.21.2.25.11.2.27.1 (или финальный релиз ветки 1.2, с которого официально разрешен переход на редакцию 1.3)..cf, содержащий актуальные метаданные, но сформированный платформой 8.1..cf. Платформа 8.2 обнаружит предыдущую версию формата и выведет диалоговое окно с предложением выполнить конвертацию. Согласимся с конвертацией, после чего сохраним конфигурацию в новом формате через Файл — Сохранить как....Версия 8.1). Выполним сравнение и объединение: Конфигурация — Сравнить, объединить с конфигурацией из файла..., выбрав сконвертированный файл .cf.Рассмотрим ключевые нюансы, которые необходимо соблюдать при накатывании обновлений на сильно измененные конфигурации:
Если цепочка обновлений слишком велика, а трудозатраты на ручное разрешение конфликтов в модулях превышают целесообразность, рассмотрим другие практические подходы:
1.2.25+) и редакция УПП 1.3 выпускались фирмой «1С» в виде готовых полных дистрибутивов конфигураций (полноценных файлов .cf), созданных непосредственно под платформу 8.2. Использование готового дистрибутива позволяет пропустить промежуточную цепочку дельта-файлов .cfu и сразу перейти к процедуре трехстороннего объединения.Отражение зарплаты в регламентированном учете..dt не сработает. В таком случае перенос информации выполняется исключительно на уровне данных с помощью обработки «Универсальный обмен данными в формате XML» (по правилам обмена, созданным в конфигурации «Конвертация данных») либо через прямое COM-соединение между базами.