Как правильно обновить библиотеки БСП и БИП в конфигурациях 1С и исправить ошибку «Файл не содержит доступных обновлений»?

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

Разработчики собственных («самописных») или отраслевых решений на платформе «1С:Предприятие 8» часто сталкиваются с трудностями при обновлении встроенных стандартных библиотек, таких как Библиотека стандартных подсистем (БСП) или Библиотека интернет-поддержки (БИП). Типичная ситуация: при попытке обновиться по официальной инструкции система выдает ошибку «Файл не содержит доступных обновлений», а в скачанном дистрибутиве отсутствуют привычные файлы обновлений с расширением *.cfu.

В этой статье мы подробно разберем, почему так происходит, как устроена поддержка библиотечных конфигураций и приведем детальный пошаговый алгоритм, который поможет вам успешно обновить БСП или БИП в вашей конфигурации без потери собственных доработок.

Выясняем причину: почему для библиотек 1С нет файлов *.cfu?

Фирма «1С» принципиально не выпускает файлы обновлений с расширением *.cfu для своих технологических библиотек. В дистрибутивах БСП, БИП, БЭД (Библиотека электронного документооборота) и других аналогичных продуктов всегда присутствуют только полные файлы конфигураций 1Cv8.cf и демонстрационные базы в формате *.dt.

Дело в том, что файл *.cf библиотеки сам по себе является полноценным файлом поставки. Архитектура платформы «1С:Предприятие» позволяет выполнять обновление конфигурации поставщика напрямую из полного файла *.cf. Для разработчика это огромное преимущество: нет необходимости последовательно «накатывать» цепочку промежуточных обновлений *.cfu. Вы можете обновиться на актуальную версию библиотеки абсолютно с любого предыдущего релиза за один шаг.

Анализируем ситуацию: откуда берется ошибка «Файл не содержит доступных обновлений»?

Если вы попытаетесь обновить конфигурацию стандартным путем через меню Конфигурация – Поддержка – Обновить конфигурацию и выберете файл *.cf новой библиотеки, система выдаст ошибку. Рассмотрим две главные причины этого поведения:

  1. Несовпадение основного поставщика конфигурации. Если ваша база является оригинальной разработкой или отраслевым решением, ее основным поставщиком числится ваша организация (или сторонний разработчик родительской конфигурации). Платформа пытается найти обновление именно для этого основного поставщика. Когда вы указываете файл *.cf от фирмы «1С» (где прописан идентификатор поставщика «БиблиотекаСтандартныхПодсистем»), система не сопоставляет эти продукты и сообщает, что файл не содержит подходящих обновлений.
  2. Неправильный выбор объекта обновления. В вашей конфигурации может находиться на поддержке несколько конфигураций поставщиков одновременно (например, основная отраслевая конфигурация, БСП и БИП). Глобальное меню обновления ищет новые версии только для главной конфигурации. Для обновления конкретной встроенной библиотеки необходимо обращаться к механизму настройки поддержки отдельных поставщиков.

Пошаговый алгоритм правильного обновления библиотек в конфигураторе

Рассмотрим детально, как выполнить обновление встроенной библиотеки (на примере БСП), если конфигурация изначально была корректно поставлена на поддержку.

Шаг 1. Резервное копирование и подготовка к удалению устаревших объектов

Перед началом любых манипуляций обязательно создайте резервную копию базы данных (выгрузите файл *.dt). В новых релизах библиотек разработчики «1С» периодически удаляют устаревшие объекты метаданных. Если их не выявить заранее, в вашей конфигурации останутся неиспользуемые объекты («сироты»), которые могут засорять базу и вызывать ошибки компиляции.

Для предотвращения этой проблемы выполним предварительное сравнение:

  1. Откройте конфигурацию и перейдите в меню Конфигурация – Сравнить, объединить с конфигурацией из файла.
  2. Выберите файл 1Cv8.cf новой версии библиотеки.
  3. В открывшемся окне сравнения сразу снимите все флажки (кнопка Снять все).
  4. Установите фильтр отображения: «Показывать присутствующие только в старой конфигурации поставщика» (направление сравнения: Новая конфигурация поставщика <- Старая конфигурация поставщика).
  5. Проанализируйте выявленные объекты. Если они не используются в вашем собственном коде, удалите их из вашей основной конфигурации перед запуском основного процесса обновления.

Шаг 2. Запуск обновления конкретного поставщика

Теперь переходим к непосредственному обновлению конфигурации поставщика библиотеки:

  1. Перейдите в меню Конфигурация – Поддержка – Настройка поддержки.
  2. В открывшемся дереве конфигурации найдите строку нужного вам поставщика. Например, для БСП это будет «БиблиотекаСтандартныхПодсистем».
  3. Выделите эту строку и нажмите кнопку Обновить, расположенную в верхней панели окна настройки поддержки.
  4. В появившемся диалоговом окне выбора источника обновления укажите вариант Выбор файла обновления и нажмите Далее.
  5. Укажите путь к файлу 1Cv8.cf из каталога шаблонов новой версии библиотеки и подтвердите выбор. Платформа успешно распознает файл поставщика и предложит выполнить обновление.

Шаг 3. Интеграция по подсистемам

После сопоставления объектов откроется стандартное окно сравнения и объединения. Крайне важно выполнить объединение избирательно:

  1. Используйте команду меню Действия – Отметить по подсистемам файла (или новой конфигурации поставщика).
  2. В появившемся дереве подсистем отметьте только те подсистемы библиотеки, которые реально внедрены и используются в вашем прикладном решении, а также обязательные базовые подсистемы. Это позволит избежать перегрузки вашей конфигурации лишними объектами.
  3. Снимите флажки с тех объектов, которые вы намеренно дорабатывали и логика которых не должна быть перезаписана кодом поставщика, либо подготовьтесь к их ручному слиянию.

Шаг 4. Настройка и перенос логики в переопределяемые модули

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

Выполните сравнение этих модулей вручную. Перенесите новые процедуры и функции, появившиеся в обновлении, сохранив при этом вашу собственную логику инициализации подсистем. Рассмотрим пример заполнения переопределяемого модуля при регистрации вашей конфигурации в БСП:


Процедура ПриДобавленииПодсистем(ОписаниеПодсистем) Экспорт

    // Регистрируем нашу собственную отраслевую конфигурацию в БСП
    Описание = ОписаниеПодсистем.Добавить();
    Описание.Имя = "НашаОтраслеваяКонфигурация";
    Описание.Версия = "2.4.1.15";
    
    // Обязательно указываем зависимость от базовых подсистем БСП
    Описание.ТребуемыеПодсистемы.Добавить("СведенияОПрограмме");

КонецПроцедуры

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

Использование вспомогательных инструментов из дистрибутива

Разработчики фирмы «1С» существенно облегчают процесс интеграции обновлений, поставляя в составе дистрибутивов библиотек полезные утилиты и документацию, о которых часто забывают разработчики:

Таким образом, следуя предложенному алгоритму и используя штатный механизм обновления конкретного поставщика через настройки поддержки, вы сможете быстро и безопасно обновлять библиотеки БСП и БИП до актуальных версий, сохраняя стабильность работы вашей информационной системы.

← На главную