К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как обновить версию БСП в конфигурации 1С

Как обновить версию БСП (библиотеки стандартных подсистем) в конфигурации 1С: подготовка, сравнение и объединение, обработчики обновления, типичные ошибки.

Библиотека стандартных подсистем (БСП) — это набор типовых модулей фирмы «1С», на которых построены почти все современные конфигурации: Управление торговлей, ERP, ЗУП, Бухгалтерия и самописные решения. Обновление БСП требуется, когда нужно получить новые механизмы, исправления ошибок или совместимость со свежими версиями платформы. Процедура отличается от обычного обновления прикладной конфигурации: БСП — это не самостоятельная программа, а библиотека, которую встраивают в основную конфигурацию через сравнение и объединение.

Главная сложность работы — большой объём объектов (сотни общих модулей, подсистем, ролей) и наличие доработок в типовых модулях. Если конфигурация изменялась, прямое объединение «по умолчанию» может затереть доработки или сломать логику. Поэтому обновление БСП всегда начинают с копии базы и анализа изменённых объектов.

Ниже описан рабочий порядок действий: от подготовки дистрибутива до проверки результата, а также типичные ошибки и ситуации, когда обновление лучше поручить специалисту.

Что такое БСП и когда её нужно обновлять

БСП — это библиотека переиспользуемых подсистем: пользователи и права, обмен данными, печать, работа с файлами, валюты, контактная информация и десятки других механизмов. У каждой версии БСП есть номер, например 3.1.x, и он должен соответствовать требованиям прикладной конфигурации и платформы 1С:Предприятие.

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

Если конфигурация типовая и обновляется штатно через «Обновление версий программы», отдельно обновлять БСП не нужно — она приходит вместе с релизом конфигурации. Ручное обновление библиотеки актуально для самописных решений и нетиповых конфигураций, где БСП внедрялась отдельно.

Подготовка: копия базы и проверка совместимости

Первый обязательный шаг — полная резервная копия. Для файловой базы достаточно скопировать каталог или выгрузить dt через конфигуратор («Администрирование → Выгрузить информационную базу»). Для клиент-серверной базы делают выгрузку dt и/или бэкап средствами СУБД. Без копии откатить неудачное обновление будет невозможно.

Далее проверяют совместимость. У каждой версии БСП указана минимальная версия платформы 1С:Предприятие — она приводится в документации к дистрибутиву библиотеки. Также нужно узнать текущую версию БСП в вашей конфигурации: она хранится в константе или возвращается функцией СтандартныеПодсистемыСервер.ВерсияБиблиотеки(), а для самописных конфигураций — в модуле обновления информационной базы.

Полезно заранее составить список доработанных объектов БСП. В конфигураторе через «Конфигурация → Сравнить с конфигурацией поставщика» видно, какие модули изменены относительно типовой поставки. Эти объекты потребуют ручного переноса доработок после объединения.

Где взять дистрибутив БСП

Дистрибутив библиотеки публикуется на портале 1С и доступен по действующей подписке на информационно-технологическое сопровождение (ИТС). Скачивается комплект поставки, внутри которого находятся файлы конфигурации (.cf) и файлы обновления (.cfu), а также документация по внедрению и переходу между версиями.

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

Обновление через сравнение и объединение

Основной способ обновить БСП в самописной конфигурации — сравнение и объединение с файлом поставки. Порядок действий в конфигураторе:

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

При объединении важно не отмечать объекты, которые относятся к прикладной части вашей конфигурации, иначе они будут замещены пустыми или типовыми аналогами. Удобный признак объектов БСП — префиксы имён модулей (СтандартныеПодсистемы*, РаботаСФайлами*, ОбменДанными* и т.п.) и принадлежность к подсистемам библиотеки.

Если конфигурация стоит на поддержке типового поставщика, а БСП нужно поднять выше версии, заложенной в релизе, используют режим «Обновить конфигурацию» с файлом .cfu или снова объединение. В этом случае объём конфликтов будет больше, и работа требует опыта чтения кода БСП.

Перед объединением выгрузите текущую конфигурацию в файлы (Конфигурация → Выгрузить конфигурацию в файлы) и сохраните в систему контроля версий. Тогда любой конфликт после объединения можно будет сверить с исходным состоянием и быстро откатить отдельный модуль.
ПЗ
Практическое замечание

Обработчики обновления и запуск в режиме предприятия

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

Во время выполнения обработчиков база может быть недоступна для других пользователей — планируйте обновление на нерабочее время. Ход выполнения виден в форме «Результаты обновления программы» (раздел «Администрирование»). Отложенные обработчики могут выполняться в фоне длительное время на больших базах — не прерывайте их принудительно.

Если обновление завершилось ошибкой, текст ошибки фиксируется в журнале регистрации и в форме результатов обновления. Чаще всего причины — незаполненные обязательные данные, отключённые функциональные опции подсистем или доработки, конфликтующие с новым кодом библиотеки.

Контрольные точки

Как проверить результат

Версия библиотеки
Норма

В «Администрирование → Обслуживание» или через функцию ВерсияБиблиотеки() отображается новая версия

Тревожный признак

Версия не изменилась — обновление конфигурации БД не выполнено

Обработчики обновления
Норма

Все оперативные обработчики выполнены, отложенные — в работе или завершены без ошибок

Тревожный признак

Статус «Ошибка» у обработчиков, вход в базу блокируется

Ключевые механизмы
Норма

Вход пользователей, печать, обмены и права работают как раньше

Тревожный признак

Ошибки прав доступа, не открываются формы печати или синхронизации

Типичные ошибки при обновлении БСП

Большинство проблем связано не с самой процедурой объединения, а с нарушением порядка подготовки и проверки.

Типичные ошибки
01
Обновление сразу на рабочей базе без тестового прогона — при ошибке откат занимает часы вместо минут
02
Попытка перейти через несколько редакций БСП за один шаг, хотя маршрут не поддерживается — обработчики обновления не находят исходных данных
03
Автоматическое объединение доработанных модулей — доработки затираются, логика конфигурации ломается
04
Игнорирование требований к версии платформы — новая БСП не запускается на старой платформе
05
Прерывание отложенных обработчиков — данные остаются в промежуточном состоянии, повторный запуск даёт ошибки

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

Когда лучше привлечь специалиста

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

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

Итог

Что важно запомнить

Обновление БСП — это сравнение и объединение с файлом поставки нужной версии, а не установка отдельной программы. Обязательные условия: резервная копия, тестовый прогон, совместимость версий платформы и библиотеки, ручной перенос доработок и контроль выполнения обработчиков обновления после запуска.

Частые вопросы

Можно ли обновить БСП отдельно от прикладной конфигурации?

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

Как узнать текущую версию БСП в базе?

Самый надёжный способ — выполнить в консоли кода вызов функции СтандартныеПодсистемыСервер.ВерсияБиблиотеки(). Также версия часто видна в разделе «Администрирование → Обслуживание» в форме результатов обновления программы.

Что делать, если после обновления пользователи не могут войти в базу?

Обычно причина — незавершённые обработчики обновления или конфликт ролей. Войдите под пользователем с полными правами, откройте результаты обновления и проверьте статусы обработчиков. Если вход заблокирован полностью, запустите базу с параметром отключения логики начала работы через конфигуратор или восстановите копию и повторите обновление с анализом ошибки.

Можно ли перенести доработки БСП в расширение вместо изменения модулей?

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

Сколько времени занимает обновление БСП?

На тестовой копии небольшой базы объединение и обновление конфигурации БД занимают от получаса до нескольких часов. Основное время уходит на ручной разбор конфликтов в доработанных модулях и на отложенные обработчики обновления, которые на больших базах могут выполняться много часов в фоновом режиме.