Переход с конфигурации 1С:Управление торговлей (УТ) на 1С:ERP Управление предприятием (ERP) — это не просто обновление версии, а полноценная смена прикладного решения. Одной из наиболее острых проблем, с которыми сталкиваются технические специалисты, является потеря данных в реквизитах, добавленных в основную конфигурацию пользователем. В этой статье мы подробно разберем, почему это происходит и как выполнить переход, сохранив всю накопленную информацию в кастомных полях.
Разберем первопричину проблемы. В платформе 1С:Предприятие 8.3 каждый объект метаданных (справочник, документ, реквизит) имеет два ключевых признака: имя и уникальный внутренний идентификатор (UUID). Для системы при реструктуризации таблиц базы данных первичным является именно UUID.
Когда мы используем штатный механизм «Переход на ERP» и подкладываем «чистый» файл поставки .cf от ERP, система видит, что реквизиты с вашими именами в новом файле отсутствуют. Если же вы предварительно добавили эти реквизиты в .cf файл ERP вручную (создав их заново), их UUID не совпадут с теми, что были в вашей рабочей базе УТ. В результате 1С примет решение удалить «старую» колонку в SQL-таблице и создать «новую» с тем же именем, но пустую. Чтобы избежать этого, нам необходимо обеспечить преемственность идентификаторов.
Рассмотрим методику, которая позволяет «обмануть» механизм обновления и заставить его считать ваши реквизиты в ERP теми же самыми объектами, что были в УТ. Для этого мы будем использовать предварительную подготовку файла конфигурации.
Шаг 1. Подготовка эталонного файла конфигурации
Нам потребуется файл .cf от целевой версии ERP, на которую планируется переход. Важно, чтобы релиз ERP соответствовал поддерживаемым версиям для перехода с вашего текущего релиза УТ.
.cf вашей текущей (доработанной) УТ..cf ERP ваши объекты с сохранением их оригинальных UUID из УТ.Шаг 2. Создание файла поставки
После того как мы «внедрили» ваши реквизиты в дерево метаданных ERP с правильными идентификаторами, необходимо создать файл, который будет использоваться мастером перехода.
Выполним команду Конфигурация — Поставка конфигурации — Создать файл поставки. Полученный файл будет содержать в себе логику ERP и структуру ваших данных из УТ.
Шаг 3. Выполнение перехода в режиме «Предприятие»
Теперь перейдем к основной базе УТ. Разберем ситуацию, когда мы используем штатный помощник перехода.
.cf.Проанализируем ситуацию, возникающую в процессе объединения: ошибка Записи регистра сведений «Реестр документов» стали неуникальными. Это происходит из-за того, что в ERP структура этого регистра (состав измерений) отличается от УТ.
Выясним причину: регистр РеестрДокументов является вспомогательным (индексирующим) и служит для быстрого построения списков документов. Данные в нем являются производными от самих документов. Если при обновлении возникает конфликт уникальности, самым эффективным методом будет полная очистка этого регистра в исходной базе УТ перед началом перехода.
Пример кода для очистки регистра (выполнять в обработке в исходной базе):
НаборЗаписей = РегистрыСведений.РеестрДокументов.СоздатьНаборЗаписей();
НаборЗаписей.Записать();
После успешного перехода на ERP данные в этом регистре можно будет восстановить штатными средствами через Обслуживание — Регламентные операции — Пересчет данных реестра документов.
Посмотрим на роль расширений в этом процессе. Если ваши реквизиты выведены на формы через расширения, это не защищает сами данные. Данные хранятся в основной конфигурации. Однако, если реквизиты были созданы внутри расширения, ситуация иная.
Рекомендуем на время самого процесса смены конфигурации (реструктуризации) отключать все расширения. После того как основная конфигурация будет успешно заменена на ERP и данные сохранятся, расширение следует подключить заново и адаптировать под новые типы данных ERP (например, заменить ссылки на типы, которые изменились или исчезли).
После того как переход завершен и данные в ваших реквизитах остались на месте, необходимо правильно вернуть базу на поддержку, чтобы в дальнейшем получать обновления ERP. Рассмотрим, как это сделать:
.cf ERP того же релиза.Важный совет: Перед любыми манипуляциями с конфигурацией всегда создавайте резервную копию базы данных. В случае перехода УТ -> ERP рекомендуется проводить «боевой» переход только после двух-трех успешных тестовых прогонов на копиях с полной проверкой заполнения ключевых регистров.