К статье
Практический материал

Разработка и Конфигурация · 12 мин

Как в 1С сравнить конфигурацию с конфигурацией поставщика

Как в 1С сравнить рабочую конфигурацию с конфигурацией поставщика: пошаговая инструкция, настройка поддержки, разбор отличий, типичные ошибки и FAQ.

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

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

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

Что такое конфигурация поставщика и когда нужно сравнение

Конфигурация поставщика — это эталонная версия типового решения, которую фирма «1С» или партнёр-разработчик поставляет в файле обновления. Она хранится внутри информационной базы отдельно от рабочей конфигурации и служит точкой отсчёта: по ней платформа определяет, какие объекты изменены пользователем, а какие остались типовыми.

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

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

Подготовка: что сделать до запуска сравнения

Первое и обязательное действие — создать резервную копию. Для файловой базы достаточно выгрузки через «Администрирование → Выгрузить информационную базу» в конфигураторе. Для клиент-серверной базы желательно сделать копию средствами СУБД, потому что выгрузка в dt больших баз занимает много времени и не всегда корректно восстанавливается под нагрузкой.

Второй шаг — убедиться, что конфигурация базы данных соответствует рабочей конфигурации. Если в конфигураторе есть несохранённые в базу изменения (звёздочка в заголовке окна конфигурации), сначала выполните «Обновить конфигурацию базы данных» или отмените правки. Иначе сравнение будет показывать неактуальную картину.

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

Как запустить сравнение с конфигурацией поставщика

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

Для сравнения с текущей конфигурацией поставщика, хранящейся в базе, откройте меню «Конфигурация → Поддержка → Настройка поддержки» и нажмите кнопку «Сравнить с конфигурацией поставщика». Этот способ показывает, какие объекты доработаны относительно установленной типовой версии.

Для сравнения с файлом нового релиза используйте «Конфигурация → Сравнить, объединить с конфигурацией из файла» и укажите путь к .cf-файлу. Платформа загрузит файл и построит дерево сравнения. Если конфигурация находится на поддержке, тот же результат даёт команда «Конфигурация → Поддержка → Обновить конфигурацию» с выбором файла обновления.

Порядок действий
  1. 1
    Сделайте выгрузку базы (dt) или копию средствами СУБД
  2. 2
    Откройте конфигуратор и убедитесь в отсутствии несохранённых изменений
  3. 3
    Выполните «Конфигурация → Сравнить, объединить с конфигурацией из файла» и укажите .cf поставщика
  4. 4
    Дождитесь построения дерева сравнения и изучите статусы объектов
  5. 5
    Снимите флажки с объектов, которые не должны обновляться
  6. 6
    Выполните объединение и проверьте результат на копии базы

Как читать окно сравнения и статусы объектов

Окно сравнения показывает два дерева объектов: слева — текущая (основная) конфигурация, справа — загружаемая конфигурация поставщика. Напротив каждого объекта отображается статус, который определяет, что произойдёт при объединении.

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

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

Построчное сравнение модулей

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

Режимы объединения и настройка поддержки объектов

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

Настройка поддержки определяет поведение объектов при будущих обновлениях. Объект с правилом «Обновлять автоматически» заменится версией поставщика без вопросов. Правило «Не обновлять автоматически» сохранит ваши изменения, но переложит ответственность за актуальность объекта на вас. Для объектов, которые вы сознательно доработали, корректно ставить именно второй вариант — тогда при следующем обновлении платформа не затрёт их молча.

Сравнение вариантов

Взять из конфигурации поставщика

Подходит для типовых объектов без ваших доработок. Ограничение: безоговорочно уничтожает любые внесённые изменения в отмеченных объектах.

Объединить с приоритетом поставщика

Подходит для объектов, где изменения поставщика важнее ваших правок. Ваши добавления частично сохраняются, но требуют проверки.

Объединить с приоритетом текущей конфигурации

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

Ручной перенос через построчное сравнение

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

Проверка результата после объединения

После выполнения объединения не спешите обновлять конфигурацию базы данных. Сначала выполните синтаксическую проверку модулей: «Конфигурация → Проверка конфигурации» с включённой проверкой логической целостности и поиска некорректных ссылок. Ошибки компиляции после объединения — типичный признак того, что ваша процедура ссылается на переименованный или удалённый поставщиком объект.

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

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

Контрольные точки

Как проверить результат

Проверка конфигурации в конфигураторе
Норма

Нет ошибок компиляции модулей и битых ссылок

Тревожный признак

Ошибки в модулях, ссылки на несуществующие объекты

Собственные доработки
Норма

Все изменённые процедуры, формы и макеты содержат ваши правки

Тревожный признак

Доработка отсутствует или перезаписана типовым кодом

Запуск в режиме предприятия
Норма

База открывается, ключевые документы и отчёты работают

Тревожный признак

Ошибки при открытии форм, падение при проведении документов

Настройка поддержки
Норма

Доработанные объекты помечены правилом «Не обновлять автоматически»

Тревожный признак

Доработанные объекты стоят на автообновлении и будут затёрты следующим релизом

Типичные ошибки и ограничения механизма

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

Ограничения штатного механизма тоже стоит учитывать. Сравнение форм выполняется формально, по структуре, и не всегда наглядно показывает суть изменений. Сравнение прав ролей громоздко — при массовых изменениях прав проще анализировать их отдельно. Для баз, где доработки велись без комментариев и учёта, анализ расхождений может занять значительное время — это нормально, и торопиться здесь опасно.

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

Типичные ошибки
01
Объединение без резервной копии — потерянные доработки невозможно восстановить
02
Сравнение с файлом другой редакции или версии — дерево из тысяч ложных различий и риск испортить конфигурацию
03
Оставленные флажки на доработанных объектах — типовая версия затирает ваши изменения
04
Пропуск проверки конфигурации после объединения — ошибки компиляции обнаруживаются уже у пользователей
05
Игнорирование окна реструктуризации — удаление реквизитов приводит к потере данных в базе

FAQ

Как узнать, какие объекты конфигурации доработаны?

Откройте «Конфигурация → Поддержка → Настройка поддержки» — в дереве объектов доработанные элементы помечены специальными пиктограммами (изменён, не редактируется и т.п.). Быстрый способ — кнопка «Сравнить с конфигурацией поставщика» в том же окне: все различия в дереве и есть ваши доработки относительно типовой версии.

Чем отличается сравнение с конфигурацией поставщика от сравнения с файлом?

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

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

Да, но только через файл. Получите .cf-файл типового релиза нужной версии и выполните «Конфигурация → Сравнить, объединить с конфигурацией из файла». Внутренней конфигурации поставщика в снятой с поддержки базе нет, поэтому штатная кнопка сравнения с ней будет недоступна.

Что делать, если поставщик изменил процедуру, которую я дорабатывал?

Откройте построчное сравнение модуля двойным щелчком по объекту. Перенесите свои изменения в новую версию процедуры вручную, сохранив логику поставщика. Не пытайтесь оставить старую версию целиком — вы потеряете исправления поставщика, а соседние объекты могут ссылаться на новое поведение.

Безопасно ли обновлять рабочую базу сразу после сравнения?

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

Почему после обновления пропали мои изменения в форме?

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

Итог

Что важно запомнить

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