Переход между минорными версиями конфигурации «Управление торговлей», такими как 11.2 и 11.3, является сложным техническим процессом. Это не просто обновление «исправлений», а серьезная архитектурная переработка программы. Ситуация осложняется, если в базу внесены значительные изменения: добавлены новые реквизиты, регистры сведений или изменен типовой программный код. Рассмотрим подробно, как выполнить этот процесс максимально безопасно и эффективно.
Прежде всего, проанализируем объем изменений в вашей конфигурации. Нам необходимо разделить доработки на два типа:
Основная проблема при переходе с 11.2 на 11.3 заключается в том, что фирма «1С» в версии 11.3 существенно изменила архитектуру учета, в частности, внедрила методику партионного учета 2.2. Это влечет за собой масштабные регламентные операции в пользовательском режиме после обновления конфигурации базы данных.
Разберем главный вопрос: нужно ли переносить доработки в каждый «ключевой» релиз? Ответ зависит от того, что именно вы дорабатывали. Если вы добавили новые реквизиты в типовые объекты или создали свои объекты, их необходимо сохранять в каждом промежуточном релизе. Если вы пропустите добавленный реквизит при обновлении на промежуточный релиз, платформа пометит данные этого реквизита на удаление, и при обновлении конфигурации базы данных они будут безвозвратно потеряны.
Проанализируем ситуацию с программным кодом. Изменения, влияющие на проведение документов (в модулях объектов, подписках на события), крайне желательно переносить в каждый релиз. Это связано с тем, что при обновлении УТ 11 часто запускаются обработчики, которые могут инициировать перепроведение документов или пересчет движений. Если ваш специфический код не отработает в этот момент, данные в регистрах могут сформироваться некорректно.
Рассмотрим классический, наиболее надежный способ обновления по шагам:
1cv8.cf), а не файлы обновлений (.cfu). Это позволит более гибко управлять процессом сравнения и объединения.Выясним причину, по которой перескок через слишком большое количество релизов опасен именно в УТ 11. В версии 11.3 1С удалила множество устаревших реквизитов, которые использовались в 11.1 и 11.2. Если пытаться обновиться сразу на последний релиз 11.3, механизмы обработки данных могут не найти нужных исходных значений, что приведет к ошибкам в расчете себестоимости и остатков.
Для ускорения процесса в пользовательском режиме мы можем настроить количество потоков обновления. В крупных базах это значительно экономит время. Рассмотрим пример настройки в коде (если требуется программное вмешательство в процесс обновления):
// Пример получения параметров обновления для анализа состояния
ПараметрыОбновления = ОбновлениеИнформационнойБазы.ПараметрыОбновления();
Если ПараметрыОбновления.ТребуетсяОбновление Тогда
ЗаписатьЛог("Процесс обновления запущен...");
КонецЕсли;
Существует более быстрый, но рискованный способ, если изменений кода очень много, а данных в ваших реквизитах — мало. Рассмотрим его:
cf вашей доработанной базы.cf последнего целевого релиза УТ 11.3.cf с чистым целевым cf и переносим только свои объекты в новый файл.Внимание: Этот метод требует глубокого понимания структуры метаданных. Если вы ошибетесь в идентификаторах объектов или не учтете удаленные типовые поля, база может прийти в негодность. Также при таком подходе могут возникнуть проблемы с планами обмена (синхронизацией).
Чтобы упростить будущие обновления, рекомендуем придерживаться следующих правил:
Соблюдение последовательности запуска обработчиков в пользовательском режиме и внимательный контроль за сохранностью метаданных — залог успешного перехода на новые версии УТ 11.