Как эффективно сравнивать конфигурации 1С, игнорируя лишние изменения в форматировании?

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

При длительной эксплуатации информационных систем, которые часто обновляются и дорабатываются, разработчики сталкиваются с проблемой «шума» при сравнении конфигураций. Часто после выгрузки или стандартного обновления конфигуратор показывает тысячи различий в документах или справочниках, хотя фактически изменений логики не было. Это происходит из-за того, что платформа 1С считает микроскопические изменения в тегах форматированных строк (например, порядок тегов или служебные атрибуты) полноценными модификациями объекта. Разберем, как очистить этот «информационный шум» и увидеть реальные доработки.

Подключение внешних средств сравнения

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

  1. Откройте настройки конфигуратора.
  2. Найдите раздел, отвечающий за внешние инструменты (инструменты сравнения).
  3. Укажите путь к исполняемому файлу программы для сравнения, например, KDiff3, WinMerge или Beyond Compare.
  4. В настройках выбранной программы настройте правила игнорирования специфических XML-тегов или пробельных символов. Это позволит программе при сравнении «не видеть» изменения, которые не влияют на бизнес-логику.

Метод массовой очистки файлов конфигурации

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

  1. Выгрузите обе сравниваемые конфигурации в разные папки на диске.
  2. Откройте Notepad++ и используйте функцию поиска и замены во всех файлах (комбинация Ctrl + Shift + F).
  3. На вкладке «Замена в файлах» укажите путь к общей папке, где лежат выгрузки, и задайте фильтр *.xml, так как именно в XML-структуре хранятся свойства объектов.
  4. В поле поиска используйте регулярные выражения, чтобы найти служебные теги форматирования. Включите опцию «Регулярное выражение».

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

(<font.+>)|(<.>)|(<.?.?color.+>)|(<link .+>)

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

Особенности использования инструментов для сравнения

Когда мы работаем с выгруженными файлами .xml, важно помнить о нескольких аспектах:

Почему платформа 1С не добавляет кнопку «Игнорировать форматирование»?

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

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

← На главную