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