← На главную
В практике сопровождения нетиповых баз 1С нередко возникает ситуация, когда доработки вносились напрямую в основную конфигурацию, а конфигурация поставщика годами оставалась без изменений. При попытке применить очередное обновление через файл обновлений .cfu платформа выдает ошибку о несоответствии версий, так как файл обновления ориентируется на номер релиза конфигурации поставщика, находящейся на поддержке, а не на версию основной конфигурации. Разберем, как синхронизировать конфигурацию поставщика с текущим релизом основной конфигурации, не повредив накопленные доработки.
Пошаговый алгоритм выравнивания конфигурации поставщика
Для корректного обновления конфигурации поставщика без изменения структуры и модулей основной конфигурации не требуется последовательно накатывать все промежуточные релизы за несколько лет. Достаточно использовать полный файл поставки .cf того релиза, которому сейчас фактически соответствует функционал основной конфигурации.
- Создаем резервную копию информационной базы перед выполнением любых операций с конфигурацией.
- Открываем меню «Конфигурация» — «Поддержка» — «Обновить конфигурацию».
- Выбираем вариант «Выбор файла обновления» и указываем путь к полному файлу конфигурации
.cf требуемого типового релиза.
- В окне подтверждения обновления проверяем, что предложен переход со старой версии конфигурации поставщика на целевую, и нажимаем «ОК».
- В открывшемся окне «Сравнение, объединение конфигураций» обязательно снимаем все флаги со всех объектов метаданных. Для этого нажимаем кнопку снятия всех отметок в верхней панели окна объединения. Снятие отметок гарантирует, что метаданные и модули основной рабочей конфигурации останутся нетронутыми.
- Нажимаем кнопку «Выполнить». Платформа обновит только конфигурацию поставщика и правила поддержки.
- Применяем изменения к базе данных через меню «Конфигурация» — «Обновить конфигурацию базы данных» (клавиша
F7).
После выполнения этих действий номер версии конфигурации поставщика станет равен версии файла .cf, а все доработки основной конфигурации останутся без изменений. Последующие обновления можно будет выполнять в штатном режиме, в том числе с использованием файлов .cfu.
Особенности выполнения процедуры в распределенной информационной базе (РИБ)
Если информационная база работает в режиме распределенной информационной базы (РИБ), необходимо учитывать механизм синхронизации изменений конфигурации:
- Обновление выполняется только в главном узле. Ни в коем случае не следует повторять процедуру обновления конфигурации поставщика вручную в подчиненных узлах.
- Штатный обмен данными. После применения изменений в центральном узле запускается штатный сеанс обмена. Измененная конфигурация поставщика автоматически упаковывается в пакет обмена и передается в периферийный узел.
- Применение в подчиненном узле. При приеме сообщения обмена в подчиненном узле обмен зарегистрирует изменение конфигурации. Пользователю или администратору подчиненного узла останется открыть Конфигуратор и применить изменения через меню «Конфигурация» — «Обновить конфигурацию базы данных».
- Запрет динамического обновления. При обновлении конфигурации поставщика или структуры объектов категорически запрещено использовать динамическое обновление информационной базы в центральном узле, так как это может привести к рассинхронизации таблиц регистрации изменений в узлах РИБ.
Альтернативный способ через повторную постановку на поддержку
Если штатное обновление через меню поддержки завершается ошибкой (например, из-за повреждения структуры метаданных поддержки или расхождения внутренних идентификаторов), применим альтернативный метод:
- Переходим в меню «Конфигурация» — «Поддержка» — «Настройка поддержки» и нажимаем кнопку «Снять с поддержки».
- Открываем меню «Конфигурация» — «Сравнить, объединить с конфигурацией из файла» и выбираем типовой файл
.cf нужного релиза.
- На вопрос платформы о постановке конфигурации на поддержку отвечаем утвердительно.
- В окне сравнения и объединения снимаем все флаги, чтобы не затереть доработки основной конфигурации. Правила поддержки для измененных объектов автоматически установятся в состояние
Редактируется с сохранением поддержки.
- Нажимаем «Выполнить» и сохраняем конфигурацию базы данных (
F7).
Технические нюансы трехстороннего сравнения и обработчиков данных
Проанализируем важные технические аспекты, которые следует учитывать при резком переходе на новую версию поставщика:
- Механизм 3-way merge (трехстороннее сравнение). При штатном обновлении платформа сопоставляет три состояния: старую конфигурацию поставщика, новую конфигурацию поставщика и текущую основную конфигурацию. При резком прыжке через множество релизов старый эталон сравнения заменяется. Если в промежуточных версиях поставщик удалял или переименовывал реквизиты, при последующих обновлениях автоматическое сопоставление таких объектов может потребовать ручного контроля.
- Свойства конфигурации и режим совместимости. При снятии всех флагов в окне объединения корневые свойства конфигурации (включая
РежимСовместимости) в основной конфигурации не меняются. Необходимо вручную проверить, соответствует ли установленный режим совместимости требованиям целевой конфигурации поставщика.
- Обработчики обновления данных. Обновление конфигурации поставщика со снятыми флагами затрагивает только метаданные поддержки и не запускает процедуры миграции данных. Когда в дальнейшем будет выполняться реальное обновление модулей и структуры данных основной конфигурации, пропуск промежуточных релизов может привести к тому, что встроенные алгоритмы обновления информационной базы в режиме
1С:Предприятие не смогут корректно сконвертировать данные со слишком старых форматов.