Как мы обновляли нетиповую конфигурацию 1С:ERP УХ 3.1 – 3.2
Продолжаем делиться опытом ICL SOFT – в этой статье рассказываем о сложном обновлении сильно доработанной конфигурации «1С:ERP Управление холдингом с версии 3.1.8.15» до актуальной версии редакции 3.2. Публикации о сложных обновлениях, которые можно найти в открытых источниках, содержат мало подробной информации об использованных инструментах и решениях. Часто в них отсутствует информация о том, что находится под капотом этих решений. Будем рады, если наша статья окажется полезной
- Описание
- Подробнее
Описание
Введение
Из-за ряда внутренних и внешних факторов конфигурация нашего Заказчика 1С:ERP Управление холдингом не обновлялась релизами вендора более двух лет.
В июле 2024 года нами было принято совместное решение о необходимости обновления программы до актуальной версии.
Помимо большого количества законодательных изменений, ожидавшихся в 2025 году, важным фактором принятия такого решения стало снятие платформы 3.1 ERP УХ с поддержки вендора с первого квартала 2025 года.
Проект перевода конфигурации ERP УХ с редакции 3.1 на 3.2 стартовал в августе 2024 года. До конца 2024 года успешно завершили обновление на релиз 3.2.5.2. На данный момент выстроен регулярный процесс выполнения обновлений, по регламенту новые релизы вендора доставляются в Продуктивную базу в течение двух недель после выхода.
Подходы и этапы работ
В связи со сложностью работ к организации был применен проектный подход.
По итогам предпроектного обследования были определены ключевые вызовы, влияющие на процесс обновлений:
- Наличие активного расширения;
- Наличие измененных объектов основной конфигурации. В основном, это частичные обновления из новых релизов вендора для добавления/изменения функциональности.
- Следует отметить, что нашим внутренним регламентом разработки частичные обновления запрещены за редким исключением (например, для приведения отчетности или алгоритмов расчета в соответствие с ведомственными нормативными актами);
- Общее количество объектов, добавленных и измененных в основной конфигурации и расширении, составило 4600, измененных модулей – 1100;
- Большое количество ключевых промежуточных релизов – 34;
- Короткий технологический перерыв – заказчик был согласен остановить работу с продуктивной средой для пользователей только на выходные дни (суббота, воскресенье), что накладывало дополнительные ограничения на возможную длительность работ.
После анализа и оценки временных затрат работы по обновлению на целевой релиз работы были разделены на три ключевых этапа:
- Подготовка файлов конфигурации для промежуточных обновлений на версию 3.2.4.5.
- Минимизация количества промежуточных релизов.
- Подготовка файла конфигурации (релиз 3.2.5.2) для финального обновления, с адаптацией доработок из конфигурации текущей версии (3.1.8.15) к архитектуре и функционалу типовой обновленной конфигурации актуальной версии (3.2.5.2).
- Сплошное тестирование обновленной конфигурации нашими аналитиками, исправление логических ошибок; проверка корректности работы наших доработок.
- Сплошное тестирование ключевыми пользователями Заказчика путём воспроизведения рабочего дня.
- Финальные согласования, проверка следующих зон:
- Все выявленные ошибки устранены, база консистентна;
- Все выполненные доработки работают корректно;
- Внутренний план действий согласован (план обновления и тестирования продуктива);
- Внешний план действий согласован (пользователи предупреждены о сроках работ; инфраструктура доступна).
- Подготовка и проведение обновления рабочей базы на актуальную версию конфигурации 1C:ERP УХ (3.2.5.2).
Первую часть работ, с учетом ее значительной трудоемкости и рутинности, было решено передать партнеру — компании «1С-ИЖТИСИ», которая специализируется на подобных задачах и имеет большой опыт обновления сложных нетиповых конфигураций. В ходе проведенной партнером оптимизации количество промежуточных версий обновления 1C:ERP УХ с 3.1.8.15 до версии 3.2.4.5 было уменьшено с 34 до 7, по итогу выполненного демообновления мы получили комплект файлов конфигураций для промежуточных обновлений на версии: 3.1.8.24, 3.1.9.8, 3.1.10.8, 3.1.11.9, 3.1.12.25, 3.2.3.8 и 3.2.4.5:
Таблица 1:
Этапы оптимальные | Версии промежуточные и обновления | Обновление с версии |
1 | 3.1.8.24 | 3.1.8.15 (исходная) |
2 | 3.1.9.8 | 3.1.8.24 |
3 | 3.1.10.8 | 3.1.9.8 |
4 | 3.1.11.9 | 3.1.10.8 |
5 | 3.1.12.25 | 3.1.11.9 |
6 | 3.2.3.8 | 3.1.12.25 |
7 | 3.2.4.5 | 3.2.3.8 |
Здесь следует дать пояснения про услугу демообновления. При таком варианте обновления компания «1С-ИЖТИСИ» не предоставляет гарантий на результаты работы и не обеспечивает техническую поддержку обновленных таким образом продуктов. Все риски использования результатов демообновления берет на себя заказчик (в этой работе заказчиком выступали мы).
В рамках демообновления выполняется автоматическое обновление только части изменений без их адаптации к типовой конфигурации:
- типовые объекты остаются в типовом виде;
- добавленные нетиповые объекты остаются в исходном виде (без адаптации);
- обновляются все метаданные (остаются измененные и добавляются новые типовые изменения, риски потери данных в данном случае минимальны), дважды измененные модули и формы замещаются на типовые при конфликтах;
- дважды измененные макеты остаются в типовом варианте.
Рассмотрим подробнее наш практический опыт подготовки финального обновления. Эта часть работ выполнялась параллельно с демообновлением и представляла собой адаптацию доработок из исходной конфигурации версии 3.1.8.15 к актуальной конфигурации версии 3.2.5.2:
- Работа проводилась группой из трех разработчиков под руководством ТехЛида;
- Первым шагом в основную конфигурацию исходной версии были перенесены все доработки из расширения. Всего было перенесено из расширения 6800 процедур и функций.
Решение отказаться от расширения и перейти к одной сущности (к основной конфигурации) было принято для того, чтобы сделать проще все последующие обновления. На тот момент мы рассматривали два варианта обновлений после перехода на целевую версию 3.2.5.2 – обновления своими силами или передача на сопровождение (автоматизированные обновления) партнеру «1С-ИЖТИСИ». Второй вариант предполагал сопровождение конфигурации без расширений;
- Групповая разработка по подготовке конфигурации для финального обновления велась в среде 1С с использованием Git-репозитория и (частично) EDT;
- В Git была загружена целевая типовая конфигурация 1C:ERP УХ версии 3.2.5.2, в которую разработчики переносили адаптированные изменения из исходной версии конфигурации. Выбор нестандартного метода обновления с использованием ручного переноса (с адаптацией) всех доработок непосредственно в типовую конфигурацию новой версии был обусловлен тем, что сроки проекта были ограничены, и была необходимость максимально распараллелить работу на проекте;
- Пока в «1С-ИЖТИСИ» готовили промежуточные релизы, мы всей командой готовили конфигурацию целевого релиза. У разработчиков на проекте не было простоев, за каждым был закреплен свой набор объектов. Поскольку конфигурация не обновлялась более двух лет, каждый объект требовал перепроверки;
- Схема работы с Git позволяла выполнять работу независимо друг от друга. Техлид проекта распределял задачи между членами команды по списку объектов. В состав типовой задачи на данном этапе обычно входила адаптация для определенного количества однотипных объектов. Учет обработанных объектов команда вела в общей таблице на сетевом ресурсе, там же отмечались объекты, которые требовали дополнительного анализа или обсуждения. Все вопросы, требующие оперативного решения, обсуждались на ежедневных митингах команды с ТехЛидом проекта;
- Параллельно с этапом адаптации на проекте основная команда продолжала вести функциональную разработку в своем независимом Хранилище 1С. Изменения по таким задачам также с определенной периодичностью переносились в ветку с новой версией (3.2.5.2) адаптированной конфигурации:
Скрин 1:

На скрине 1 — пример переноса из хранилища 1С в обновляемую конфигурацию изменений, выполненных за определенный период в контуре разработки основной командой проекта сопровождения (с 408 по 430 версии хранилища 1С). Перенос выполнен в конфигураторе базы разработки методом сравнения-объединения основной конфигурации версии ERP УХ 3.2.5.2, соответствующей версии 408 хранилища 1С, с файлом конфигурации, соответствующей версии 430 хранилища 1С (исходной версии ERP УХ 3.1.8.15): Объединенная конфигурация ERP УХ 3.2.5.2 с изменениями за период была перенесена в ветку Update Git- репозитория скриптом полной выгрузки конфигурации базы в рабочий каталог (см. Скрин 2):
Скрин 2:

Применение скриптов для выполнения рутинных операций по выгрузке и загрузке конфигураций в базах разработки позволило упростить часть процессов и значительно ускорило действия с конфигурацией. В скриптах используется утилита командной строки "ibcmd". Код скрипта полной выгрузки конфигурации базы в рабочий каталог локального репозитория в виде XML-файлов приведен под спойлером:

