Почему при обновлении УТ 11.5 справочная информация отображается как измененная и как правильно обновить доработанную базу

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

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

Выясним причины появления ложных различий в справочной информации

Когда мы запускаем процесс сравнения и объединения конфигураций, система анализирует объекты побайтово. Существует несколько ключевых факторов, из-за которых справочная информация (HTML-тексты встроенной справки) помечается как измененная:

  1. Смена движка рендеринга HTML: В современных версиях платформы 1С:Предприятие произошел переход с устаревшего движка Internet Explorer на более современный WebKit. При этом переходе платформа может автоматически переформатировать внутренний HTML-код справки: изменять регистр тегов, порядок атрибутов (например, менять местами width и style), добавлять или удалять кавычки. Для пользователя текст справки выглядит идентичным, но для механизма сравнения — это измененный объект.
  2. Использование среды разработки EDT (Enterprise Development Tools): Если предыдущие доработки или само обновление от вендора готовились с использованием EDT, структура XML-файлов справки может отличаться от той, которую генерирует классический Конфигуратор. Различия могут крыться в служебных атрибутах или последовательности тегов в XML-представлении объекта.
  3. Невидимые символы и кодировки: Проанализируем ситуацию с символами переноса строк. Разные инструменты могут использовать CRLF (Windows) или LF (Unix-style). Также на наличие различий влияет метка BOM в кодировке UTF-8. Если в одном файле она есть, а в другом нет — объекты будут признаны разными.
  4. Автоматическая перегенерация UUID: Иногда при значительных изменениях в поставке вендора идентификаторы разделов справки перегенерируются, что вызывает срабатывание триггера «объект изменен».

Как проверить реальность изменений в объекте

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

Рассмотрим использование функции «Отчет о сравнении объектов». В окне сравнения и объединения выделим подозрительный объект, вызовем контекстное меню и выберем пункт формирования отчета. В настройках крайне важно установить флаг «Подробный отчет по свойствам». Если в тексте отчета мы видим только незначительные изменения в стилях оформления (например, замену width="100%" на style="width: 100%") при сохранении смысла текста — такие изменения можно смело игнорировать и замещать данными поставщика.

Методика обновления: работа с фильтрами

Для того чтобы не тратить время на просмотр сотен объектов с «техническими» изменениями справки, воспользуемся встроенными фильтрами окна сравнения:

  1. Установим фильтр «Показывать только дважды измененные объекты». Это самый важный шаг. Если объект изменен только в новой версии поставщика, но не менялся в вашей базе, он не требует пристального внимания.
  2. Если же объект «дважды изменен», но изменения касаются только справки, мы можем выполнить массовое действие. Разберем по шагам: можно выделить группу таких объектов и через контекстное меню выбрать режим «Взять из конфигурации поставщика» для свойства «Справочная информация».

Совет: Если в вашей компании не принято писать инструкции непосредственно внутри конфигурации (а это современный стандарт — выносить справку во внешние базы знаний), вы можете просто «забить» на эти различия и разрешить системе обновить всю справочную информацию данными из нового релиза. Это очистит историю изменений и упростит последующие обновления.

Стратегия обновления: «Золотой CF» против прямого обновления

Рассмотрим наиболее безопасный алгоритм обновления доработанной УТ 11.5, который используют профессиональные разработчики 1С. Мы настоятельно рекомендуем использовать методику подготовки файла конфигурации (.cf) на копии базы.

Шаг 1: Подготовка на копии

Создадим полную копию рабочей базы. Именно на ней мы будем выполнять основную работу по сравнению и объединению. Это позволит нам:

Шаг 2: Тестирование обработчиков обновления

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

Шаг 3: Перенос в «боевую» базу

После того как конфигурация на копии успешно обновлена и протестирована, выгрузим её в файл (Конфигурация -> Сохранить конфигурацию в файл...). Теперь перейдем к рабочей базе.

Важный технический момент: Загружать полученный файл в рабочую базу следует через Конфигурация -> Сравнить, объединить с конфигурацией из файла..., а не через простую загрузку (LoadCF). Это необходимо для того, чтобы сохранить настройки поддержки и избежать потенциальных проблем с идентификаторами объектов, если в процессе подготовки были задействованы механизмы постановки на поддержку новых объектов поставщика.

Оптимизация: перенос доработок в расширения

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

Как только вы перенесете логику в расширение, основной объект конфигурации можно (и нужно) вернуть на полную поддержку («замочек»). В этом случае справочная информация этого объекта больше никогда не будет появляться в списке различий, так как система будет обновлять её автоматически, не спрашивая вашего участия. Это кардинально ускоряет процесс перехода на новые релизы УТ.

Резюме для технического специалиста

Подведем итог нашей совместной работы по анализу обновления:

  1. Изменения в справочной информации чаще всего являются артефактами платформы (смена движка WebKit) или следствием использования EDT.
  2. Используйте фильтр «Дважды измененные», чтобы отсеять информационный шум.
  3. Смело замещайте справку данными поставщика, если в вашей организации не ведется уникальное документирование внутри 1С.
  4. Всегда готовьте обновление на копии, проверяйте выполнение фоновых заданий обновления и только потом переносите .cf в рабочую базу.
  5. Стремитесь к минимизации изменений в основной конфигурации путем выноса кода в расширения.
← На главную