Почему при сравнении конфигураций отображаются изменения в параметрах СКД у объекта «на замке»?

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

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

Выясним причину: почему объект под замком считается измененным

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

Когда мы сравниваем старую конфигурацию поставщика и текущую основную конфигурацию, платформа сопоставляет два конкретных состояния метаданных:

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

Как детально увидеть различия в параметрах СКД

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

  1. Анализ веток сравнения в конфигураторе: Развернем в дереве сравнения проблемный отчет, перейдем к ветке Макеты и откроем макет с типом СхемаКомпоновкиДанных. Обратим внимание на ветку «Параметры». В ней платформа выделит строку, свойства которой отличаются.
  2. Проверка типов данных в конструкторе: Откроем макет СКД в основной конфигурации и аналогичный макет в старой конфигурации поставщика. Перейдем на вкладку Параметры. Посмотрим на колонку «Тип»: частой причиной ложных сомнений является именно смена примитивного типа (например, Строка) на ссылочный тип вновь добавленного справочника.
  3. Выгрузка и текстовое сравнение XML-схем: Если визуально параметры выглядят идентично, воспользуемся гарантированным способом выявления мелких расхождений:
    1. Откроем схему СКД и сохраним ее в файл на диск через кнопку выгрузки схемы компоновки (получим файл с расширением .xml).
    2. Повторим операцию для схемы из конфигурации сравнения.
    3. Сравним два полученных XML-файла любой внешней утилитой анализа текстовых различий (diff). В структуре тегов <parameter> сразу отобразится измененный узел <valueType>.

Проверяем актуальное состояние поддержки и устраняем рассинхронизацию

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

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