Как обновить сильно измененную конфигурацию 1С, снятую с поддержки?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

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

Почему снятие с поддержки усложняет обновление

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

Для корректного обновления требуется трехстороннее сравнение:

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

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

Пошаговый алгоритм возврата на поддержку и обновления

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

  1. Создание резервной копии. Перед любыми манипуляциями с конфигуратором обязательно сохраните выгрузку информационной базы (файл .dt) или сделайте копию файла базы данных 1Cv8.1CD.
  2. Подготовка исходного файла поставщика. Найдите оригинальный файл .cf той версии поставщика, которая сейчас фактически установлена в базе (до обновления).
  3. Постановка базы на поддержку:
    1. В конфигураторе выберите пункт меню Конфигурация — Сравнить, объединить с конфигурацией из файла....
    2. Укажите оригинальный файл .cf старой версии поставщика.
    3. На вопрос системы о постановке на поддержку ответьте согласием.
    4. В открывшемся окне сравнения и объединения снимите все галочки, чтобы случайно не перезаписать внесенные ранее доработки. Нажмите кнопку Выполнить.
    5. В окне настройки правил поддержки установите для объектов статус Редактируется с сохранением поддержки.
    6. Сохраните конфигурацию базы данных (клавиша F7).
  4. Запуск процедуры обновления на новый релиз:
    1. Выберите пункт Конфигурация — Поддержка — Обновить конфигурацию (либо Сравнить, объединить с конфигурацией из файла... и укажите .cf новой версии поставщика).
    2. Платформа выполнит трехстороннее сравнение и сформирует дерево изменений.

Использование фильтров для работы с доработанными объектами

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

Для настройки отображения откройте меню фильтров в окне сравнения и включите следующие параметры:

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

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

Альтернативные подходы к обслуживанию доработанных баз

Посмотрим на современные практики, которые позволяют упростить последующие обновления 1С:

  1. Вынос доработок в Расширения конфигурации. Если кастомный функционал, формы и программный код вынести в расширения, то основную конфигурацию можно вернуть на жесткую поддержку («Не редактируется»). В этом случае последующие обновления поставщика будут накатываться автоматически в один клик.
  2. Использование 1C:EDT и Git. Для сложных проектов с большим объемом доработок применяют выгрузку исходников в файлы. Использование утилит трехстороннего слияния (3-way merge) в средах разработки позволяет наглядно разрешать конфликты в коде перед сборкой итогового файла конфигурации.
← На главную