Обновление через копию 1С: ERP.УХ

03.03.26

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Расширение Обновление через копию
.cfe 26,53Kb
3 3 400 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Выражаю искреннюю благодарность Каратаеву Олегу Александровичу за оказанную помощь и поддержку в работе!

Введение.

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

Типовой механизм "Обновление через копию" - не работает. Объекты помечены префиксом "Удалить" и "Не используется" (Возможно в следующих релизах их удалять или доведут до ума). Поэтому было разработано расширение, которое адаптирует типовой механизм до рабочего состояния. 

Файл "Расширение Обновление через копию" адаптирует типовую подсистему "ОбновлениеЧерезКопию". Отдельная установка расширения будет бесполезна. Расширение не гарантирует полную работоспособность, возможно придется дорабатывать под частные особенности базы данных.

Краткое описание. 

В чем суть? 

В проде включаем регистрацию данных на узел плана обмена. Поднимаем копию прода и обновляем релиз вендора. В это время пользователи без проблем работают в проде. Загружаем данные из прода в копию. Меняем базы местами. Дальше пользователи работают так же в проде, но уже с новым релизом. 

Для чего это нужно?

Функционал используется для сокращения времени недоступности прод базы при обновления релиза вендора. Например, когда долго происходит обновление релиза вендора (5-40... часов).

Стоит ли использовать?

  1. Стоит использовать только когда долгий простой прод базы недопустим, или критически опасен для бизнеса, либо несет большие издержки.
  2. Можно сократить простой прода до 1-2 часов
  3. Но подготовка к такому обновлению займет намного больше времени, от 1 недели до 2х месяцев.
  4. С помощью "Обновления через копию" можно обновить только 1 релиз (можно больше, но потребуется анализ метаданных, что не было критических изменений между релизами, и гарантировать целостность данных).

Используемая информация.

 
 Инструкция механизма "Обновление через копию" от вендора из справки 1С
  • Полезная инструкция настройки обмена из справки 1С. 
 
 Инструкция "Настройки транспорта обмена данными" из справки 1С

Детальное описание механизма и поэтапного выполнения обновления и обмена.

Сначала выполните все описанные ниже действия на тестовом стенде.
После успешного обновления тестового стенда переходите к обновлению в проде.

1. Подготовка баз данных.

Подготовить базы для обновления:

  1. "update1" - Текущая рабочая прод БД - если это прод стенд, то она уже есть. На тестовом тесте разворачиваем тестовую базу для имитации прода на самом первом этапе.
  2. "update2" - Копия рабочей базы "update1", которую нужно сделать после включения обновления через копию на проде. Делается уже почти в самом конце, когда все готово для обновления.
  3. "test_update" - Копия прода для предварительного обновления релиза и адаптации доработок, и для разработки правил обмена. На выходе должны получить подготовленные CF-конфигурации, которые потом будем загружать в "update2".
  4. КД 3.1 – для разработки правил обмена между релизами.

Аналогичные базы данных нужно развернуть на тестовом стенде для тестирования. Не забываем блокировать рег. задания в кластере 1С и указывать признак "Копия" БД.  

2. Предварительные настройки рабочей БД.

 
 Скрин. Подсистема "ОбновлениеЧерезКопию".

Добавить нужные метаданные в состав подсистемы "ОбновлениеЧерезКопию":

  1. ПланОбмена.ОбновлениеЧерезКопию - в плане обмена отключаем авторегистрацию.
  2. ПодпискаНаСобытие.ОбновлениеЧерезКопиюРегистрация
  3. ПодпискаНаСобытие.ОбновлениеЧерезКопиюРегистрацияКонстанты
  4. ПодпискаНаСобытие.ОбновлениеЧерезКопиюРегистрацияНабора

Если в вашей БД имеются расширения, содержащие метаданные, которые тоже нужно включить в обмен, тогда нужно добавить план обмена и подписки в расширения, и включить эти объекты в состав подсистемы.   

Не рекомендуется добавлять в план обмена и в подписки весь вид метаданных целиком (корень/родитель), т.к. будут добавлены типовые объекты, которые не нужны. Например, если включить все регистры сведений, то будет возникать ошибка «Переполнение стека вызовов» при обновлении информационной базы данных. Какой конкретно регистр сведений вызывает ошибку я не обнаружил.

Загрузить расширение "ОбновлениеЧерезКопию", в котором исправлены ошибки типового механизма. Проверить расширение на возможность применения. Для расширения рекомендую сделать хранилище, т.к. скорее всего его придется дорабатывать, а применять его нужно как минимум на 3х базах.

3. Предварительное обновление релиза на тестовой базе. 

Делаем копию прода с учетом изменений 1 пункта, и делаем обновление на тестовой базе. Адаптируем все нетиповые доработки и расширения. Получаем полностью работоспособные конфигурации и расширения (Они нам обязательно понадобятся для следующего пункта, для формирования правил обмена). На этом этапе мы должны понять сколько длится обновление, и насколько целесообразно делать обновление через копию.

4. Правила обмена Конвертация данных, редакция 3.1 (3.1.5.33).

1. Выгружаем конфигурации текущего релиза (update1) и нового релиза (test_update), и их расширения, которые изменяют структуру метаданных, в файлы.

2. Загружаем файлы конфигураций в КД в две итерации: текущий релиз с его расширениями и новый релиз с его адаптированными расширениями:

 
 Скрин. Загрузка структуры конфигурации из файлов XML.

3. Делаем автогенерацию правил обмена из текущего релиза в новый релиз:

 
 Скрин. Автогенерация правил конвертации XML.

4. Делаем пустые правила обмена корреспондента (обратные), указать источник (новый релиз) и приемник (текущий релиз), и записать:

 
 Скрин. Создание пустых правил конвертации корреспондента. 

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

 
 Скрин. Создание правил регистрации.

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

  1. ExchangeRules.xml – автосгенерированные правил обмена из текущего релиза в новый релиз.
  2. CorrespondentExchangeRules.xml – пустые правила коррексподента.
  3. RegistrationRules.xml – пустые правила регистрации.

Создаем архив .zip с этими файлами (название архива не важно, просто можно называть "ПравилаОбновленияЧерезКопию"). 

5. Обновление через копию.

Все предварительные работы выполнены и можно приступать к обновлению через копию. 

  1. Начало. В Прод БД запустить обновление через копию.
  2. Загрузить правила обмена.
  3. Включить регистрацию данных.
  4. Сделать Копию Прода (бэкап).
  5. Создать новую копию БД, загрузить бэкап прода. Установить запрет сеансов и рег. заданий.
  6. В копию загрузить ранее подготовленные CF и CFE (конфигурацию и расширения), провести обновление копии. 
  7. В обоих базах (рабочей и копии) настроить транспорт обмена через файл.
  8. Заблокировать обе БД рабочую и копию. 
  9. В Рабочей базе запустить РЗ "Обновление через копию (отправка/получение)". Накопленные данные будут выгружены в файл. 
  10. в копии прода запустить РЗ "Обновление через копию (отправка/получение)". Данные будут загружены в БД. 
  11. Проверить журнал регистрации на наличие ошибок. Проверить выгруженные\загруженные данные. 
  12. Сделать бэкап прода и сохранить его.
  13. Сделать бэкап копии и загрузить его в прод базу. 
  14. Разблокировать прод базу.
  15. Проверить отложенные обработчики обновления. Конец.
 
 Скрины. Обновление через копию в 1С: Предприятие. 

 

Перспективы развития. 

  1. Доработать обратный обмен из обновленной копии в прод, чтобы снимать данные с регистрации и производить несколько итераций обмена. Это позволит еще больше минимизировать простой прода за счет предварительных загрузок больших объемов данных, тогда последняя загрузка данных будет минимальная. Но придется сделать обратные правила обмена и доработать сам механизм "Обновления через копию".
  2. Полностью выделить подсистему 'ОбновлениеЧерезКопию' в расширение для отдельных внедрений в конфигурации, в которых её нет.

Дополнительная информация.

В статье //infostart.ru/1c/tools/1576756/ рекомендуют в правилах обмена в правилах конвертации объектов (ПКО) для документов устанавливать режим записи документа "Запись". Я не устанавливал, на мой взгляд данные итак загружаются в режиме ОбменДанными.Загрузка = Истина. Если потребуется, то это не проблема добавить режим записи в ПКО с помощью самописной обработки (она кстати есть в той статье), ну или сделать самому доработку хоть на базе ЕРП в расширении, хоть в базе КД... 

В конфигураторе удобно делать сортировку по подсистеме "ОбновлениеЧерезКопию".

Рекомендую делать обмен через файл.
Если делать обмен через COM (прямое соединение), то у многих типовых серверных модулей отсутствует свойство "ВнешнееСоединение", и не работает аутентификация ОС.  

Чтобы вернуться назад по этапу обновления через копию, нужно изменить константу "ОбновлениеЧерезКопиюСостояние"
или некоторые реквизиты на форме обработки "ОбновлениеЧерезКопию"
или значения реквизитов плана обмена "ОбновлениеЧерезКопию". 

 
 Скрины. Константа и реквизиты плана обмена.

 

Ошибки, которые возникали при обновлении 3.2.6.6 - 3.2.6.7.

1 - Ошибка "Переполнение стека вызова". Связана с тем, что в подписку на событие "ОбновлениеЧерезКопиюРегистрацияНабора" был включен корень Регистров сведений. И в состав подписке оказался включен какой-то типовой РС, который не должен там находиться. Из-за этого происходило зацикливание при записи этого регистра. Решение: в состав плана обмена и подписок на события включать только нужные объекты. Я не стал тратить время на выявление какой конкретно регистр вызывает ошибку. 

 
 Скрины. Ошибка "Переполнение стека вызова"

 

2 - При COM-соединении (прямом соединении) настройки транспорта обмена могут возникать ошибки инициализации модуля и не определенной переменной (общего модуля). 
Связана с тем что у многих серверных модулей отсутствует свойство "ВнешнееСоединение". Решение: установить свойство общих модулей в соответствии стандарта 1С https://its.1c.ru/db/v8std/content/469/hdoc

 
 Скрины. Ошибка "инициализации модуля и не определенной переменной".

 

3 - Ошибка "Попытка передачи с клиента на сервер мутабельного значения". Возникает при КОМ-соединении (прямом соединении). При обмене через файл не возникает. Связана с тем что у общего модуля "ллл_API_out" отсутствует свойство "ВнешнееСоеднинение". По хорошему это архитектурная ошибка, нужно рефакторить общий модуль и разделять на два: один ВызовСервера, другой ВнешнеееСоединение, в соответствии с стандартом 1С https://its.1c.ru/db/v8std/content/469/hdoc
По плохому - можно установить свойство "ВнешнееСоединение" для этого модуля. 

 
 Скрин. Ошибка "Попытка передачи с клиента на сервер мутабельного значения".

 

4 - Ошибка "Поле объекта не обнаружено" при загрузке данных из файла в копию базы. Связана с тем что в типовом решении при загрузке данных система берет Правила обмена корреспондента, которые пустые, и не находит в них правила конвертации объектов.
Решение: ошибка исправлена через расширение, чтобы система брала нужные (прямые) правила обмена, а не обратные.  

 
Скрин. Ошибка подсистемы при загрузке файла выгруженных данных.

 

5 - Ошибка "Поле объекта не обнаружено" при загрузке\выгрузке данных. Связано с тем что реквизит переименовали. Решение: в расширении сделал проверку через попытку\исключение свойства источника и приемника. Частная ошибка между релизами. В других релизах может возникать аналогичная ошибка. 

 
 Скрин. Ошибка "Поле объекта не обнаружено".

 

6 - Доработан типовой функционал Обновления через копию. Получение настроек транспорта обмена из регистра и заполнение их в обработку выгрузки\загрузки данных. 

 
 Скрины. Доработки настроек транспорта обмена.

 

7 - Исправлены ошибки значений перечислений и общего реквизита 

 
 Скрин. Ошибки перечислений. 

 

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.20.101, 2.5.20.97

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.

03.11.2026    465    nedomolkov.ivan    11    

5

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

Вторая часть серии о переходе ERP 2.5 на 2.6. Я сравнил чистые выгрузки 2.5.27.88, 2.6.1.70 и 2.6.2.59 и выписал то, чего нет в официальных описаниях версий: какие экспортные методы удалены поимённо, какие документы больше нельзя создать и при каком условии, что переименовали без предупреждения. Из двенадцати механизмов, от которых отказывается 1С, к 2.6.2 удалены только два, а большая часть удалённого к ним не относится. Отдельно разбираю, почему перехватчики &ИзменениеИКонтроль ломаются на процедурах, где поменялся только английский текст, и почему доработки выгоднее готовить сразу под 2.6.2. Будет полезно разработчикам, которые сопровождают расширения и внешние обработки на ERP 2.5.27, и тем, кто планирует сроки перехода.

20.10.2026    893    lexatsch    6    

8

Обновление 1С Разработчик 1С 8.3 1С 8.5 Абонемент ($m)

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

3 стартмани

19.10.2026    300    1    InShallaH    0    

3

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

1С считает, что перейти с ERP 2.5 на 2.6 не сложнее, чем обновиться между версиями длительной поддержки, а обязательным переход станет не раньше 30 апреля 2027 года. Я решил проверить это заранее на нашей доработанной ERP 2.5.27, где есть два больших расширения и 517 внешних отчётов и обработок. Форма готовности нашла четыре механизма, которые надо перевести, а про код промолчала. Проверка применимости на чистой 2.6.1 выдала 478 проблем, и настоящих среди них меньше сотни. А сверка кода со словарём изменений нашла ещё 63 проблемы, которых проверка применимости вообще не видит. Часть из них не даст открыть модуль, остальные вылезут уже у пользователей. Рассказываю, как проверить применимость расширения к 2.6.1 без записи в базу, что ловит компилятор, что ломается чаще всего и чем это заменить.

16.10.2026    608    lexatsch    0    

3

Инструментарий разработчика Обновление 1С Разработчик 1С 8.3 Бесплатно (free)

Бесплатная внешняя обработка: до обновления типовой показывает, какие ваши внешние обработки и печатные формы после него упадут. Находит в их коде вызовы общих модулей и менеджеров типовой и сверяет каждый с текущей конфигурацией и с выгрузкой нового релиза: есть ли метод, экспортный ли, сходится ли число параметров. Обработки берёт из справочника или из папки .epf и .erf, без конфигуратора. У каждого вызова статус, строка и причина.

29.09.2026    1169    140    nedomolkov.ivan    2    

9

Рефакторинг и качество кода Обновление 1С Разработчик 1С 8.3 Бесплатно (free)

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

22.09.2026    1155    1c-izh    2    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sevenor 18.02.25 18:05 Сейчас в теме
Эпический труд! Надеюсь у вендора этот механизм не забросят и ошибки поправят😇
PetrovAnton; +1 – Ответить
2. PetrovAnton 27 20.02.25 12:22 Сейчас в теме
(1) да, тут непонятно, такое ощущение, что его хотят выпилить. Было бы неплохо сделать отдельную подсистему. Если появится задача в работе, то можно будет раскрутить я думаю.
3. user690463_mike124 28.02.25 14:51 Сейчас в теме
Прода, вендора... Автор русского языка не знает?
4. PetrovAnton 27 03.03.25 17:28 Сейчас в теме
(3) В техническом сообществе ИТ-специалистов такие термины, как «прод» и «вендор», давно вошли в обиход и помогают лаконично передавать смысл.
Legionary; +1 – Ответить
5. Stiks1911 06.03.25 12:20 Сейчас в теме
На обновляемой копии при попытке выбрать "Действие выполняется в обновляемой копии" вылетает следующая ошибка. При этом галка, что это копия установлена. Он проверяет наличие узла корреспондента в плане обмена "Обновление через копию", но там ничего не заполнено и при попытке создать новый узел выдает аналогичную ошибку. Подскажите пожалуйста, кто-нибудь сталкивался с данной проблемой и как ее решали?
Прикрепленные файлы:
6. PetrovAnton 27 10.03.25 09:33 Сейчас в теме
(5) В какой базе вы это делаете и на каком этапе обновления?
На сколько я понимаю, узел корреспондента создается на начальном этапе, когда делаем загрузку правил обмена. Нужно смотреть почему он не создался. У меня в ЕРПУХ такой ошибки не было, были созданы два узла, туда и обратно. Либо, стоит убрать проверку узла корреспондента, если вы не планируете грузить данные обратно.
Для отправки сообщения требуется регистрация/авторизация