При обновлении нетиповой конфигурации 1С программисты часто сталкиваются со странным behavior: в окне сравнения и объединения появляется внушительный список объектов, у которых единственным изменением является Справочная информация. При этом разработчик точно знает, что справку у этих метаданных никто вручную не редактировал. Попытка просто заместить объект из конфигурации поставщика часто не дает результата — при следующем сохранении или сравнении эти различия возникают снова.
Разберем подробно причинно-следственную связь этой проблемы и проанализируем практические способы её устранения.
Проанализируем техническую составляющую платформы «1С:Предприятие». Данное поведение не является ошибкой самой платформы или повреждением метаданных. Различие формируется системным компонентом MSHTML — движком Internet Explorer, который платформа использует для работы со встроенным HTML-редактором справки.
Когда объект метаданных хотя бы единожды открывается, пересохраняется или затрагивается платформой в конкретном окружении, генератор HTML автоматически добавляет или обновляет заголовок справки, вставляя служебный тег со сведениями о версии операционной системы и библиоктек:
<META name="GENERATOR" content="MSHTML 11.00.10570.1001">
Если доработку или обновление конфигурации выполняли на компьютерах с разными версиями Windows или обновлений Internet Explorer, значения тега GENERATOR будут различаться. При сравнении конфигураций платформа честно считывает текст HTML-файла справки и фиксирует разницу в коде, хотя визуально текст справки остается абсолютно идентичным.
Рассмотрим наиболее эффективный метод массового устранения различий без необходимости подгонять версии операционных систем на рабочих станциях разработчиков. Метод заключается в обработке исходных XML и HTML-файлов конфигурации.
META GENERATOR. Также можно полностью скопировать файлы справочной информации из каталога поставщика в каталог основной конфигурации.После этой процедуры платформенные различия в объектах исчезнут, так как код справки станет полностью идентичен поставщику.
Посмотрим на процесс обновления с точки зрения стандартного инструментария Конфигуратора. Если пересборка файлов конфигурации не требуется, а нужно быстро выполнить объединение без захвата лишней справки, настроим фильтрацию.
Справочная информация и снимем с него флажок объединения.Справочная информация, чтобы сфокусироваться исключительно на программном коде и структуре реквизитов.Проанализируем организационную причину проблемы. Чтобы различия не появлялись в будущем при коллективной разработке, рекомендуется привести рабочие места к единому стандарту:
MSHTML.Если в вашей конфигурации справочная информация объектов не используется конечными пользователями и не несет бизнес-ценности, логичным решением будет её очистка.
У объектов с пустой справочной информацией служебные HTML-теги не генерируются, что навсегда исключает их из списка различий при последующих обновлениях.