Как сравнить изменения в конфигурации 1С 7.7

Программист 1С v7.7 IT и автоматизация бизнеса
← На главную

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

Способ 1. Встроенный механизм «Объединение конфигураций»

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

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

Выполним следующие шаги:

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

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

Ограничения и особенности встроенного метода 1С 7.7

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

  1. Отсутствие построчного сравнения кода (Diff): Встроенный диалог объединения помечает факт различия в модуле (например, в модуле документа или справочника), но не показывает конкретные измененные или добавленные строки кода.
  2. Ложные срабатывания на диалогах форм: Если файлы конфигураций редактировались на компьютерах с разными системными шрифтами, размерами экранов (DPI) или версиями Windows, платформа может помечать диалоги как «измененные» из-за пересчета системных метрик элементов, хотя визуально и программно они идентичны.
  3. Внешние обработки и отчеты: Встроенный механизм сравнивает только внутренние объекты конфигурации (входящие в состав MD-файла). Внешние файлы отчетов и обработок с расширением .ert таким образом сравнить нельзя.
  4. Сопоставление по идентификаторам: 1С 7.7 связывает объекты по внутренним идентификаторам. Если объект метаданных был пересоздан заново с тем же именем, система определит его как новый, а старый пометить как удаленный.

Способ 2. Декомпиляция MD-файла и сравнение сторонними утилитами

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

Для этого применяется утилита GComp (или аналогичные инструменты работы с метаданными 1С 7.7), которая разбирает бинарный файл 1Cv7.MD на набор текстовых файлов модулей и структурных описаний.

Алгоритм действий следующий:

  1. С помощью GComp декомпилируем типовой MD-файл в отдельный каталог.
  2. Декомпилируем измененный MD-файл в другой каталог.
  3. Используем любую программу для визуального сравнения файлов и папок (например, WinMerge, Beyond Compare или встроенные инструменты систем контроля версий Git/SVN).

Такой подход позволяет увидеть каждую измененную строчку кода в процедурах и функциями, а также отслеживать историю изменений в системах контроля версий.

Сравнение внешних обработок (.ert)

Файлы внешних обработок и отчетов 1С 7.7 (.ert) являются бинарными. Чтобы сравнить два файла .ert между собой, выполним их предварительную распаковку (с помощью утилит декомпиляции, таких как GComp или ert_diff) на модули и ресурсы диалога, после чего сравним полученные текстовые файлы в WinMerge.

← На главную