Промежуточные конфигурации, часть 1: зачем они нужны и как их правильно подобрать для обновления нетиповой 1С

04.06.25

База данных - Обновление 1С

Наша компания перманентно занимаемся обновлением «старых» и, к тому же, сильно нетиповых конфигураций. Хочется поделиться опытом по работе с важным этапом подобных проектов — поиску и оптимизации промежуточных конфигураций 1С. Первый материал будет полезен начинающим специалистам 1С, а в последующих, надеемся, найдется интересная информация и для матерых разработчиков.

Некоторые организации по ряду причин остаются на одном релизе так долго, как это возможно — пока позволяет фирма «1С» и законодательство. «Оттягивание» процесса обновления приводит к тому, что появляется большой разрыв в версиях между рабочей конфигурацией и целевым релизом.

Промежуточные конфигурации 1С — это конфигурации, разработанные на основе типовых ключевых релизов, и предназначенные для корректного обновления информационной базы до целевого релиза. 

Не всегда рабочую конфигурацию можно сразу обновить на целевую, пропустив несколько релизов. Между релизами добавляются новые объекты, меняется структура объектов, удаляются устаревшие объекты. В обработчиках обновления реализуется логика преобразования и заполнения информацией таких объектов.

Пропуск подобных релизов может привести к нарушению или потере данных. Работа в такой базе будет приводить к ошибкам, остатки в регистрах будут некорректные, новые объекты останутся пустыми, а объекты с данными могут быть удалены.

Однако не обязательно устанавливать все обновления в таком порядке, как это указано на сайте releases.1c.ru. Можно обновить последовательно только на ключевые релизы, без которых не будет корректной работы обновления. 

Есть несколько способов узнать, какие релизы при обновлении конфигурации 1С точно нельзя пропускать.
 

Способ №1: поиск информации о промежуточных конфигурациях на releases.1c.ru

Самый простой способ для большинства случаев. Для примера возьмем «1С:ERP 2.5». На странице продукта можно найти порядок обновления. 
 


Информация о релизах обновления для 1С:ERP 2.4 и выше

 

Однако этой информации будет недостаточно, если нужно обновить базу с «1С:ERP 2.2». В таком случае можно воспользоваться таблицей «Обновления» ниже, где для каждого релиза указы версии, с которых можно совершить «прыжок». На скриншоте показан пример, как с последней версии 2.2 можно перейти на 2.4.7, минуя 2.4.3, 2.4.4, 2.4.5, 2.4.6.
 


Фрагмент таблицы обновлений «1С:ERP» для релиза 2.2.4.227 
 

Также информация по обновлению может храниться в файле ReadMe.txt, приложенному к каждому комплекту поставки. 
 


Фрагмент ReadMe.txt для «1С:Бухгалтерия Предприятия»


 

Способ №2: подбор промежуточных конфигураций при помощи оценки версий библиотек

Косвенно сделать вывод о необходимости промежуточных конфигураций можно после анализа версий библиотек. Это особенно актуально для таких сложных конфигураций как, например, «1С: ERP. Управление холдингом».

Для сравнения нужен файл «Версии библиотек» из комплекта поставки конфигураций исходной и целевой версии. Например, если вопрос стоит так: «можно ли обновить «1С: ERP.УХ» с версии 3.1.5.7 на версию 3.2.7.9 без промежуточных?», то ответ будет «Нет», так как в составе «1С:ERP.УХ 3.1.5.7» — «1С:ERP 2.5.7.226», а в составе «1С:ERP.УХ 3.2.7.9» — «1С:ERP 2.5.21.111».
 


Пример содержимого файла «Версии библиотек» для «1С: ERP. Управление холдингом»

 

Согласно информации с releases.1c.ru «1С:ERP» нужно обновлять последовательно с 2.5.7 на 2.5.8, затем на 2.5.12, затем на 2.5.17 и только потом на актуальный релиз 2.5.21. 

Следовательно, релизы «1С:ERP.УХ» нужно подобрать таким образом, чтобы чтобы произошло последовательное обновление ERP: 3.1.5.7 → 3.1.12.25 → 3.1.13.24 → 3.2.7.9.
 

 

Способ №3: оценка сравнения конфигураций исходной и целевой версии 

Способ исключительно для разработчиков — придется анализировать код и структуры данных.

Для начала нужно сравнить конфигурации поставщика исходного и целевого релизов (конфигурации без доработок) по идентификаторам объектов.

Если между исходным и целевым релизами удалены значимые объекты (документы, регистры), и нет ни одного обработчика обновления, который бы перенес данные из удаляемого объекта в новый, то без промежуточных обновлять на этот релиз нельзя. Нужно обязательно найти релиз, в котором есть обработчик обновления (или найти информацию на its.1c.ru о том, что данные из этого объекта больше никогда не понадобятся). 

Пример на скриншоте ниже: слева «1С:ERP 2.5.8», справа 2.5.17. В сравнении видно, что удален регистр накопления «Распределение запасов движения» (именно удален, а не переименован в «УдалитьРаспределениеЗапасовДвижения»).
 


Сравнение «1С:ERP» 2.5.8 и 2.5.17

 

При последовательном обновлении на релизы в порядке 2.5.8 → 2.5.12 → 2.5.17 данные из регистра накопления «Распределение запасов движения» должны быть перенесены в регистр накопления «Запасы и потребности», но если совершить «прыжок» с 2.5.8 на 2.5.17, минуя 2.5.12, в котором есть нужный обработчик, то данные из регистра накопления «Распределение запасов движения» будут безвозвратно удалены, а регистр накопления «Запасы и потребности» останется незаполненным.

Проверить, все ли нужные обработчики обновления присутствуют в целевом релизе можно в сравнении текстов общих модулей исходного и целевого релизов «ОбновлениеИнформационнойБазы <Продукт1С>» в процедуре «ПриДобавленииОбработчиковОбновления». 

Ещё пример: требуется обновить 1С:УНФ с версии 1.6.25 на 3.0.4.

На сайте releases.1c.ru указано, что пропускать версии нельзя, нужно последовательно обновлять на каждую. По версии сайта обновление будет выглядеть следующим образом: 1.6.25 → 1.6.26 → 1.6.27 → 3.0.1 →  3.0.2 →  3.0.3 →  3.0.4, итого 5 промежуточных конфигураций.

Если построить сравнения между исходной 1.6.25 и финальной 3.0.4, то по обработчикам в общем модуле «ОбновлениеИнформационнойБазыУНФ» будет видно, что в финальной версии присутствуют не все обработчики обновления с предыдущих версий. На скриншоте слева исходная 1.6.25, справа финальная 3.0.4. В версии 3.0.4 есть обработчики обновления на версии 3.0.2, 3.0.3, 3.0.4. В версиях 3.0.2 и 3.0.3 тоже есть эти же обработчики и они совпадают с обработчиками в 3.0.4 и поэтому эти версии можно пропустить.
 


Сравнение «1С:УНФ» 1.6.25 и 3.0.4

 

Если построить сравнение между исходной 1.6.25 и 3.0.1, то в сравнении можно увидеть, что в версии 3.0.1 также есть не все обработчики обновления с предыдущих версий. Слева исходная 1.6.25, справа версия 3.0.1. В версии 3.0.1 есть обработчики обновления на версии 1.6.27, 3.0.1. В версии 1.6.27 обработчики обновления на эту версию совпадают с обработчиками в 3.0.1, и поэтому эту версию можно пропустить.
 


Сравнение «1С:УНФ» 1.6.25 и 3.0.1

 

Таким образом можно вычислить, что первый ключевым релизом, который нельзя пропускать при обновлении, будет 1.6.26. Конфигурацию следует обновлять в таком порядке: 1.6.25 → 1.6.26, версия 1.6.27 не нужна.

Аналогичным образом можно проанализировать и другие версии. Уже известно, что в финальной версии 3.0.4 содержатся обработчики для обновления на версию 3.0.2, 3.0.3 и 3.0.4, а значит, что следующим ключевым релизом должна быть версия 3.0.1.

Конечная цепочка обновления будет такой: 1.6.25 → 1.6.26 → 3.0.1 →  3.0.4, итого — всего 2 промежуточных релиза.
 

Как правильно подготовить промежуточные конфигурации 1С

Если конфигурация типовая, то можно обновиться последовательно на типовые конфигурации ключевых релизов.

Если конфигурация доработанная, то в типовые конфигурации ключевых релизов необходимо перенести доработки, которые влияют на целостность данных и логику их заполнения.

Доработку можно разделить на 2 этапа.
 

1 этап: перенос доработок структуры конфигурации

Для сохранения целостности данных необходимо перенести в промежуточную конфигурацию объекты, добавленные в рабочей конфигурации. Перенос необходимо выполнять с помощью сравнения и объединения конфигураций, для сохранения внутренних идентификаторов объектов. 

Кроме переноса добавленных объектов необходимо также перенести изменения свойств объектов: длина кода\наименования, типы, движения, предопределенные значения. 
 

2 этап: перенос доработок, влияющих на логику заполнения данных

К таким доработкам относятся, например, доработки в запросах формирования движений в 1С:УТ\ЕРП\КА. Обычно эти запросы находятся в процедурах «ТекстЗапроса<НазваниеРегистра>» в модуле менеджера документа, но также могут быть и в модулях набора записей регистров.

В типовых конфигурациях часто встречается, что обработчиками обновления выполняется перезаполнение регистра новыми движениями, с учетом изменения логики в новой версии типовой конфигурации.

Если в рабочей конфигурации есть доработки в функционале формирования движений  и в новой версии типовой тоже происходит перезаполнение движений то эти доработки нужно перенести в промежуточную конфигурацию.

Важно понимать: в промежуточные конфигурации не нужно переносить все доработки форм, модулей, макетов и других объектов метаданных. Нужно оставить только те, которые влияют непосредственно на обновление данных. 

За счет отказа от переноса ненужных доработок можно сократить время на подготовку промежуточных конфигураций. Соответственно работать пользователям в базе во время установки промежуточных конфигураций нельзя, так как поведение конфигурации будет максимально приближено к типовому.

PS: На различных форумах и обсуждениях можно встретить мнение, что обновляться нужно строго последовательно на все релизы, как указано на официальном сайте релизов, иначе ошибки и потеря данных неминуемы.

Наш опыт говорит о том, что:

  1. Не важно, конфигурация типовая или доработанная.
  2. Важно определить ключевые релизы, без которых действительно возможна безвозвратная потеря данных.
  3. Важно правильно подготовить конфигурацию, если она доработанная, или используются расширения.
  4. Самое важное — тщательно протестировать обновление на копии базы, делая бэкапы на каждом этапе — после реструктуризации, после основных обработчиков, после отложенных обработчиков.

Иногда ошибки могут возникать даже при последовательном обновлении на все пропущенные релизы, причины подобного: пользователи допускают ошибки учета (с точки зрения типовой логики 1С), заводят данные задним числом, дорабатывают конфигурации в обход типовых механизмов. При правильном выборе ключевых релизов все ошибки поправимы, потери данных можно избежать даже на нетиповых конфигурациях.

***

Во второй части расскажем, как мы оптимизируем скорость отработки промежуточных конфигураций.

В третьей части опишем несколько примеров из реальной жизни про оптимизацию промежуточных конфигурации на наших проектах.

обновление 1с промежуточные конфигурации оптимизация обновления 1С

См. также

Обновление 1С Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

Добавление в Справочник "Статьи затрат" отсутствующих предопределённых элементов.

1 стартмани

23.05.2025    220    0    qrw    0    

0

БСП (Библиотека стандартных подсистем) Обновление 1С Программист 1C:ERP Бесплатно (free)

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

29.04.2025    1792    krasnoshchekovpavel    7    

16

Рефакторинг и качество кода Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

Методика, описанная в статье, выработана при переезде с 1С:ДО 2.1 на 1С:ДО 3.0. Может также применяться при переходе с 1С:УПП на 1C:ERP, 1C:ERP на 1C:ERP УХ и т. п. Учтены все необходимые доработки при переезде на новую конфигурацию и предупреждены возможные ошибки.

21.04.2025    1847    PROSTO-1C    4    

4

Обновление 1С Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1C:ERP Абонемент ($m)

Внешняя обработка для обновления расширений и дополнительных обработок 1С из GitHub. Поддерживает как публичные, так и приватные репозитории, фильтрацию релизов по версии конфигурации, скачивание .cfe, .epf, .erf.

1 стартмани

15.04.2025    1762    6    Aleksandr    0    

21

Обновление 1С Системный администратор Программист Платформа 1С v8.3 Абонемент ($m)

Скрипт для загрузки конфигурации в 1С, обновления базы и архивации файла с логированием.

1 стартмани

02.04.2025    910    3    DoubleT    8    

5

Обновление 1С Linux Системный администратор Программист Бесплатно (free)

Пошаговая инструкция для обновления платформы 1С на сервере Linux Debian.

28.03.2025    1541    California_Dreaming    2    

5

Обновление 1С Программист Платформа 1С v8.3 Россия Бесплатно (free)

При обновлении релиза конфигурации УТ появилась ошибка "Ошибка формата потока".

21.03.2025    1287    Gummi_pr    10    

8

Обновление 1С Программист Платформа 1С v8.3 1С:ERP. Управление холдингом Абонемент ($m)

Описан практический пример обновления через копию конфигурации 1С:ERP. Управление холдингом с версии 3.2.6.6 на версию 3.2.6.7, который можно применять на других конфигурациях и версиях.

10 стартмани

18.02.2025    1260    PetrovAnton    6    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. maxx 999 06.06.25 07:06 Сейчас в теме
Спасибо за статью. Скажите, а как быстро получаете список изменений в структуре базе данных для промежуточных релизов , то есть без изменений форм, модулей, макетов, обработок отчётов и т.д.? В стандартном сравнении/объединении ведь все вместе и приходится ковыряться
Оставьте свое сообщение