Как получить типовую конфигурацию поставщика и обновить доработанную базу 1С?

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет Финансы и профессиональные услуги
← На главную

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

Шаг 1. Получение эталонной конфигурации поставщика из рабочей базы

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

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

Шаг 2. Выявление пользовательских доработок

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

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

Шаг 3. Штатное обновление и фильтр «Показывать только дважды измененные»

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

  1. Перейдем в меню Конфигурация — Поддержка — Обновить конфигурацию.
  2. Выберем файл обновления .cfu или полный файл новой версии .cf.
  3. После сопоставления версий откроется окно Сравнение и объединение.
  4. В нижней части окна настроим фильтр отображения: в раскрывающемся списке установим режим Показывать только дважды измененные свойства.

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

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

Все остальные объекты распределяются платформой автоматически:

  1. Если объект менялся только поставщиком (а в рабочей базе не трогался), платформа автоматически выставляет правила для его полного обновления.
  2. Если объект менялся только локальным разработчиком (а поставщик в новом релизе его не затрагивал), платформа автоматически оставляет пользовательские доработки без изменений.

Шаг 4. Попроцедурное объединение модулей и разрешение конфликтов

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

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

Шаг 5. Работа с окном «Неразрешимые ссылки» и формы

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

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

Шаг 6. Контроль качества и фиксация изменений

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

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