В практике обслуживания и сопровождения конфигураций 1С специалисты часто сталкиваются с ситуацией, когда типовая база была частично или полностью снята с поддержки, а последующие обновления накатывались через механизм Сравнить и объединить с конфигурацией из файла. В результате такого обновления основная конфигурация получает актуальный релиз (например, 52.42), однако встроенная конфигурация поставщика остаётся на старом релизе (например, 52.32). Рассмотрим подробно, почему так происходит, чем это грозит при дальнейшей эксплуатации базы и как правильно вернуть конфигурацию на поддержку с актуализацией релиза поставщика.
Для того чтобы понять механику решения, проанализируем устройство информационной базы 1С. В любой базе с поддержкой одновременно хранятся три слоя конфигурации:
Конфигурация — Поддержка — Обновить конфигурацию.Если обновление выполнялось через команды Сравнить и объединить с конфигурацией из файла без обновления конфигурации поставщика, изменяется исключительно Основная конфигурация. Скрытый снимок Конфигурации поставщика остается зафиксированным на старой версии. При попытке стандартного обновления через файл .cfu платформа будет выдавать ошибки несовместимости или некорректно показывать доработки в окне сравнения.
Самым безопасным и надежным способом выравнивания версий является процедура объединения с «чистым» типовым файлом .cf нужного релиза (в нашем примере — 52.42) со снятием абсолютно всех флажков изменений. Рассмотрим этот алгоритм пошагово:
.cf через меню Конфигурация — Сохранить конфигурацию в файл. Крайне важно, чтобы эта база-донор находилась на полной поддержке.Конфигурация — Поддержка — Настройка поддержки. Если база находится в некорректном состоянии, снимем ее с поддержки полностью.Конфигурация — Сравнить, объединить с конфигурацией из файла... и выберем подготовленный файл .cf версии 52.42.Что происходит в этот момент: Платформа не затронет ни один объект и ни одну строчку кода вашей основной конфигурации, но обновляемый служебный блок Конфигурации поставщика будет полностью перезаписан на версию 52.42.
Выполнить. Платформа обновит только конфигурацию поставщика и установит правила поддержки.F7).Рассмотрим еще один способ, когда конфигурация не полностью снята с поддержки, а лишь включена возможность редактирования. В таком случае можно воспользоваться штатным мастером обновления:
Конфигурация — Поддержка — Обновить конфигурацию..cf релиза 52.42.Проанализируем моменты, которые требуют особого внимания администратора или программиста 1С при выполнении данной процедуры:
1. Сопоставление по уникальным идентификаторам (UUID)
Если конфигурация донора была взята из неофициального источника или создана путем сбора из других веток, внутренние идентификаторы UUID метаданных могут не совпасть с объектами рабочей базы. При выполнении сравнения обязательно убедитесь, что объекты сопоставились по именам и типам, а не создаются дублирующие элементы.
2. Проверка констант и обработчиков БСП
После процедуры выравнивания конфигураций необходимо проверить значение константы ВерсияКонфигурации. Если основная конфигурация и данные базы требуют выполнения процедур обновления Библиотеки Стандартных Подсистем (БСП), запустите базу в режиме «1С:Предприятие» с параметром командной строки:
1cv8.exe ENTERPRISE /IBConnectionString "..." /C ЗапуститьОбновлениеИнформационнойБазы
Это гарантирует, что все служебные регистры сведений и параметры учета приведутся в соответствие с релизом 52.42.
Разберем лучшую практику обслуживания типовых решений на платформе 1С:Предприятие 8.3. Чтобы предотвратить подобную рассинхронизацию версий в будущем, рекомендуется:
.cfe).