← На главную
При совместной разработке в среде 1С:Предприятие часто возникает ситуация: разработчик выполняет захват конфигурации или группы объектов в хранилище, после чего у корня метаданных появляется признак модифицированности (значок редактирования или звездочка в заголовке). При этом прямое сравнение с хранилищем через контекстное меню корня не показывает видимых различий в текстах модулей. Разберем по шагам, почему так происходит, как устроена структура конфигураций в платформе и какими инструментами можно гарантированно найти все внесенные изменения.
Понимание архитектуры конфигураций в 1С
Для правильной диагностики необходимо понимать, с какими состояниями конфигурации работает разработчик в Конфигураторе:
- Основная конфигурация (редактируемая): рабочая копия, в которую вносятся правки и в которую автоматически помещаются актуальные версии объектов из хранилища при захвате.
- Конфигурация базы данных: реальная структура метаданных, на которой прямо сейчас работает информационная база в пользовательском режиме.
- Конфигурация хранилища: центральный репозиторий, хранящий историю версий и текущие заблокированные состояния объектов.
Когда мы захватываем объекты в хранилище, платформа обновляет основную редактируемую конфигурацию до состояния последней версии хранилища. Если в хранилище были изменения, которых еще не было в вашей конфигурации базы данных, основная конфигурация становится модифицированной по отношению к базе данных. При этом сравнение с хранилищем показывает идентичность, так как основная конфигурация уже приняла все правки из репозитория.
Способ 1. Сравнение основной конфигурации с конфигурацией базы данных
Проанализируем самый быстрый и надежный способ увидеть, что именно изменилось в вашей рабочей копии по сравнению с работающей базой:
- Откроем пункт главного меню
Конфигурация — Сравнение конфигураций....
- В окне выбора укажем для первой конфигурации вариант Основная конфигурация, а для второй — Конфигурация базы данных.
- Снимем флаг Сравнивать по именам. В этом режиме сопоставление выполняется по внутренним идентификаторам (UUID), что многократно ускоряет процесс анализа даже на тяжелых типовых конфигурациях.
- Нажмем кнопку Сравнить и изучим полученное дерево изменений.
Способ 2. Детальная настройка окна сравнения и объединения с хранилищем
Если требуется проверить различия непосредственно с репозиторием, используем специализированное окно сравнения:
- Перейдем в меню
Конфигурация — Хранилище конфигурации — Сравнить/Объединить конфигурацию с хранилищем.
- Чтобы отсечь неизмененные элементы и сосредоточиться на расхождениях, нажмем кнопку настройки фильтрации (значок фильтра/воронки) и выберем режим Показывать только различия.
- Для поиска неочевидных изменений сформируем отчет: перейдем в меню
Действия — Отчет о сравнении. В текстовом отчете будут зафиксированы даже те свойства, которые сложно заметить визуально в дереве метаданных.
Возможные скрытые причины появления признака модифицированности
Если тексты модулей идентичны, модифицированность могут вызывать следующие факторы:
- Изменение порядка объектов: перемещение реквизитов, табличных частей или форм вверх/вниз по дереву метаданных меняет внутренний порядок элементов, что регистрируется платформой как модификация структуры.
- Системные свойства и права: изменения в ролях, ограничениях на уровне записей (RLS), командном интерфейсе подсистем или свойствах поддержки конфигурации.
- Различия в служебных символах: изменение кодировок файлов, символов окончания строк (CRLF / LF) или наличие неразрывных пробелов.
- Локальный кэш конфигуратора: иногда платформа удерживает признак модификации из-за устаревших временных данных текущего сеанса.
Способ 3. Анализ истории хранилища и сравнение версий
Рассмотрим, как отследить точечные правки конкретного объекта через ревизии хранилища:
- Откроем
Конфигурация — Хранилище конфигурации — История хранилища. Если требуется проверить отдельный объект, нажмем по нему правой кнопкой мыши и выберем История объекта в хранилище.
- Выделим две интересующие версии (удерживая клавишу
Ctrl или Shift) и нажмем кнопку Сравнить версии.
- При анализе модулей обратим внимание на цветовую индикацию: синий цвет обозначает добавленный код, красный цвет — удаленные строки, желтый цвет — измененный фрагмент.
- В окне сравнения версий левая панель всегда отображает более раннюю версию, а правая — более позднюю. Если определенный модуль подсвечен серым цветом, это означает, что модуль физически отсутствует в одной из сравниваемых ревизий (например, модуль менеджера был создан только в новой версии).
Действия при отсутствии фактических изменений
Если после захвата выяснилось, что никаких изменений вносить не требуется, выполним следующие шаги:
- Отмена захвата: перейдем в меню
Конфигурация — Хранилище конфигурации — Отменить захват. Блокировка в репозитории снимется без создания пустой версии.
- Очистка кэша: если флаг модификации продолжает отображаться некорректно, закроем Конфигуратор и очистим каталоги временных файлов пользователя по путям
%LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8.