При длительной эксплуатации информационных систем, которые часто обновляются и дорабатываются, разработчики сталкиваются с проблемой «шума» при сравнении конфигураций. Часто после выгрузки или стандартного обновления конфигуратор показывает тысячи различий в документах или справочниках, хотя фактически изменений логики не было. Это происходит из-за того, что платформа 1С считает микроскопические изменения в тегах форматированных строк (например, порядок тегов или служебные атрибуты) полноценными модификациями объекта. Разберем, как очистить этот «информационный шум» и увидеть реальные доработки.
Одним из способов решения проблемы является использование специализированных инструментов для сравнения файлов. Конфигуратор 1С позволяет настроить внешнюю программу для сравнения, что дает больше возможностей для фильтрации данных.
KDiff3, WinMerge или Beyond Compare.Если штатные средства не справляются, наиболее надежным способом является выгрузка конфигураций в файлы и их предварительная «очистка» от мусорных тегов оформления. Рассмотрим пошаговый алгоритм выполнения этой задачи с помощью текстового редактора Notepad++.
Notepad++ и используйте функцию поиска и замены во всех файлах (комбинация Ctrl + Shift + F).*.xml, так как именно в XML-структуре хранятся свойства объектов.Пример регулярного выражения для поиска избыточных тегов:
(<font.+>)|(<.>)|(<.?.?color.+>)|(<link .+>)
После ввода выражения запустите замену на пустое значение. Программа автоматически удалит все найденные теги форматирования во всех файлах конфигурации. После завершения очистки вы сможете провести полноценное сравнение конфигураций, где будут видны только реальные изменения кода и структуры объектов.
Когда мы работаем с выгруженными файлами .xml, важно помнить о нескольких аспектах:
Git. Это позволит хранить изменения в «чистом» виде. Инструменты вроде GitKraken или Sourcetree позволяют сравнивать код на уровне веток, игнорируя служебные метаданные, которые вносит платформа..bsl.Python или PowerShell. Скрипт может самостоятельно обходить дерево каталогов, находить нужные файлы и применять к ним регулярные выражения, что избавит вас от рутинной работы в текстовом редакторе.Многих разработчиков интересует вопрос, почему компания 1С до сих пор не внедрила встроенную опцию для игнорирования таких различий. Дело в том, что для платформы любой XML-тег является частью структуры объекта. У 1С нет четкого разделения на «данные» и «оформление» внутри системы хранения метаданных. Внедрение такого механизма потребовало бы от разработчиков платформы создания сложного парсера, который должен был бы учитывать структуру всех типов объектов. Учитывая, что внутренние форматы могут меняться от релиза к релизу, это решение было бы трудно поддерживать.
Подводя итог: для качественного анализа изменений используйте подход с выгрузкой в файлы и их предварительной обработкой. Это позволит вам сосредоточиться на реальных доработках, которые необходимо перенести в расширения или в новую версию конфигурации, не отвлекаясь на артефакты оформления.