При обновлении нетиповых конфигураций 1С:Предприятие специалисты часто сталкиваются с необъяснимым на первый взгляд поведением: при использовании одинаковых файлов поставки и одинаковой конфигурации на разных серверах или разных версиях платформы окно сравнения и объединения показывает разное количество измененных объектов. Особенно это заметно при использовании фильтра «Показывать только дважды измененные». Рассмотрим подробнее, почему возникают такие расхождения и как версия платформы влияет на процесс обновления.
Представим ситуацию: у нас есть две идентичные копии информационной базы с одним и тем же релизом конфигурации. Мы запускаем процесс обновления, используя один и тот же файл .cfu или .cf. Однако в одной базе (например, на платформе 8.3.9) система находит 4 измененных справочника, а в другой (на платформе 8.3.13) — уже 10. Проанализируем ситуацию: если мы заглянем внутрь этих «лишних» объектов, мы действительно обнаружим изменения, которые платформа старой версии просто игнорировала.
Основная причина кроется в том, что разработчики платформы 1С постоянно совершенствуют механизмы сравнения и объединения. Начиная с версий 8.3.12 и выше, алгоритмы стали более чувствительными к деталям. Выделим ключевые факторы, влияющие на результат:
Авто вместо жестко заданных Да или Нет.Одним из наглядных примеров является свойство ИспользованиеТекущейСтроки у команд или элементов управления. Разберем по шагам, что происходит в процессе обновления:
В старых версиях платформы это свойство часто имело булево значение. В новых релизах платформы и конфигураций поставщика это свойство было заменено на системное перечисление, где появилось значение Авто. Когда вы сравниваете конфигурации на платформе 8.3.13, она видит различие между «старым» значением в вашей базе и «новым» системным значением в поставке. Старая же платформа (например, 8.3.9) может не видеть разницы, считая эти значения идентичными по смыслу, и не выводит объект в список «дважды измененных».
Еще один важный момент — это справочная информация (Help) объектов. Посмотрим на ситуацию, когда визуально текст справки не изменился, но платформа помечает объект как модифицированный. Это происходит из-за «прыжка на грабли», знакомого еще со времен версии 7.7:
<p>, <br> или кодировки спецсимволов.8.3.13 и выше может распознать изменение в расстановке тегов как реальное отличие в метаданных, в то время как более старая платформа проигнорирует разницу в форматировании.С выходом новых версий платформы у объектов метаданных (справочников, документов) появляются новые свойства. Например, ИсторияДанных (Data History) или настройки полнотекстового поиска. Проанализируем, как это влияет на сравнение:
Если база была создана или долгое время работала на платформе 8.3.9, в её структуре метаданных могут отсутствовать поля, отвечающие за ИсторияДанных. При сравнении на платформе 8.3.13, система видит, что в конфигурации поставщика эти свойства инициализированы, а в вашей базе — нет или имеют другие значения по умолчанию. Для платформы это является модификацией состава свойств объекта, и она включает его в отчет о сравнении.
Многие полагают, что установка режима совместимости решает все проблемы с различиями версий. Однако это не совсем так. Даже если в свойствах конфигурации установлен Режим совместимости с версией 8.3.9, само исполняемое приложение 1cv8.exe версии 8.3.13 будет использовать свои обновленные алгоритмы сравнения XML-структур. Платформа 8.3.13 проводит более глубокую проверку целостности, чем её предшественницы.
Для минимизации ошибок и корректного переноса всех изменений, мы рекомендуем придерживаться следующих правил:
ReadMe.txt или на сайте поддержки).8.3.13 показывает больше изменений, чем 8.3.9, скорее всего, эти изменения действительно существуют на уровне системных свойств. Игнорирование их может привести к тому, что после обновления свойства объектов сбросятся в значения «по умолчанию», что может нарушить логику работы форм.ИспользованиеТекущейСтроки или ИзменяетСохраняемыеДанные. Если они изменились на Авто, это нормально для современных конфигураций.Подводя итог, можно сказать, что разница в количестве объектов при обновлении — это не ошибка, а следствие повышения точности инструментов сравнения в новых версиях платформы 1С. Совместная работа с актуальными инструментами позволит вам избежать «потерянных» настроек метаданных и обеспечит стабильную работу системы после обновления.