Почему 1С выдает ошибку Файл не содержит доступных обновлений при выборе CF и как правильно перенести обновление

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

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

Выясним причину: почему платформа отклоняет обычный файл CF

Для понимания сути проблемы проанализируем различия между файлами, которые формирует платформа:

  1. Файл выгрузки конфигурации (обычный .cf): создается через команду Конфигурация — Сохранить конфигурацию в файл. Он содержит полный снимок текущей структуры метаданных и конфигурацию поставщика, находящуюся на поддержке, однако в нем отсутствует служебный манифест обновлений. В таком файле нет информации о том, для каких именно предыдущих номеров релизов он предназначен в качестве файла обновления.
  2. Файл поставки или файл обновления (.cfu или дистрибутивный .cf поставщика): формируется через специальный механизм поставки. В него зашивается список версий, с которых разрешен штатный переход через помощник обновления поддержки.

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

Способ 1. Полная загрузка конфигурации из подготовленного файла

Если обновление уже было корректно выполнено на тестовой копии рабочей базы (через штатный механизм поддержки с обновлением конфигурации поставщика и адаптацией нетипового функционала), выгруженный из тестовой базы файл .cf уже содержит и обновленную основную конфигурацию, и обновленную конфигурацию поставщика нужной версии.

Разберем по шагам, как применить такой файл к рабочей информационной базе:

  1. Обязательно создаем полную резервную копию рабочей базы данных.
  2. Убеждаемся, что в базе нет активных сеансов пользователей, и запускаем конфигуратор в монопольном режиме.
  3. В главном меню выбираем пункт Конфигурация — Загрузить конфигурацию из файла.
  4. Выбираем подготовленный файл .cf, выгруженный из тестовой базы.
  5. Подтверждаем предупреждение о полной замене конфигурации.
  6. Нажимаем клавишу F7 (или пункт меню Конфигурация — Обновить конфигурацию базы данных) и применяем изменения структуры данных.

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

Ограничение: переходить таким способом можно только в том случае, если между текущим релизом рабочей базы и новым релизом нет разрыва, нарушающего работу обработчиков обновления данных БСП (Библиотеки стандартных подсистем).

Способ 2. Двухэтапное обновление с сохранением настроек объединения

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

Рассмотрим порядок действий:

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

Способ 3. Обновление конфигурации поставщика с последующим накатом доработок

Еще один надежный способ, когда требуется обновить конфигурацию поставщика штатно, а доработки перенести отдельно:

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

Типичные ошибки и рекомендации по безопасности

Проанализируем ситуации, которых следует избегать:

  1. Создание собственной поставки для разовых обновлений: не следует создавать собственные файлы поставки конфигурации (через Поставка конфигурации), если вы не являетесь разработчиком тиражного тиражируемого решения. Использование механизма собственной поставки заменяет типовую конфигурацию поставщика (например, от фирмы «1С») на вашу собственную, что сделает невозможным дальнейшее автоматическое обновление типовыми релизами.
  2. Обновление только через сравнение/объединение без поддержки: простое объединение с файлом конфигурации без обновления конфигурации поставщика приводит к рассинхронизации версий — номер релиза в свойствах конфигурации изменится, а конфигурация поставщика останется старой, что вызовет серьезные ошибки при последующих обновлениях.
← На главную