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

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

Как определить версию БСП в 1С

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

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

Номер версии БСП не совпадает с номером версии конфигурации. Например, в конфигурации «Бухгалтерия предприятия 3.0» может быть встроена БСП версии 3.1.x, и обновление прикладного решения не всегда означает обновление библиотеки. Поэтому проверять нужно именно версию библиотеки, а не ориентироваться на номер релиза конфигурации.

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

Что такое БСП и зачем знать её версию

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

Типичные ситуации, когда требуется версия БСП:

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

Способ 1. Программный вызов через консоль кода

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

Откройте внешнюю обработку «Консоль кода» (или любую консоль, позволяющую выполнить произвольный код на сервере) и выполните:

bsl
Сообщить(СтандартныеПодсистемыСервер.ВерсияБиблиотеки());

Результат — строка вида «3.1.10.256». Это актуальная версия библиотеки, зафиксированная в информационной базе после последнего обновления. Метод работает и в толстом, и в тонком клиенте, главное — чтобы код выполнялся в серверном контексте, так как модуль серверный.

Если консоли кода под рукой нет, тот же вызов можно выполнить через внешнюю обработку, созданную в конфигураторе, либо через обработку «Выполнение произвольного кода» из состава инструментов разработчика. Не пытайтесь вызвать функцию в клиентском контексте формы без директивы «&НаСервере» — получите ошибку о недоступности модуля.

Способ 2. Поиск версии в конфигураторе

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

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

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

Для типовых конфигураций фирма «1С» также встраивает подсистему с описанием библиотеки: в модуле обновления информационной базы БСП при добавлении подсистемы указывается имя «СтандартныеПодсистемы» и её версия. Именно это значение используется механизмом отложенного обновления.

Способ 3. Через пользовательский режим и стандартные отчёты

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

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

Способ 4. Проверка версии в данных информационной базы

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

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

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

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

Версия из кода и версия из метаданных
Норма

Номера полностью совпадают

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

Версия из кода ниже — обновление данных не завершено

Запись по подсистеме «СтандартныеПодсистемы» в регистре версий
Норма

Запись есть, версия актуальна

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

Записи нет или версия старая — обновление прошло с ошибками

Отчёт «Прогресс отложенного обновления»
Норма

Все обработчики в статусе «Выполнено»

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

Есть ошибки или зависшие обработчики

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

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

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

Сравнение способов проверки

Программный вызов ВерсияБиблиотеки()

Самый быстрый и точный; требует права на выполнение кода и консоль кода.

Поиск в конфигураторе

Работает даже при неработающей базе; показывает версию в метаданных, а не факт обновления данных.

Отчёты в пользовательском режиме

Доступен без конфигуратора; не во всех конфигурациях показывает версию БСП явно.

Регистр «Версии подсистем»

Показывает фактическое состояние обновления данных; требует доступа к «Все функции».

Частые ошибки при определении версии БСП

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

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

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

Маршрут решения

Как выбрать действие

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

FAQ

Где посмотреть версию БСП без доступа к конфигуратору?

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

Совпадает ли версия БСП с версией конфигурации?

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

Почему версия из метаданных отличается от версии в базе?

Конфигуратор показывает версию, заложенную поставщиком в код, а регистр «Версии подсистем» — версию, до которой фактически выполнены обработчики обновления данных. Расхождение означает, что обновление данных не завершено: проверьте отчёт о прогрессе отложенного обновления.

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

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

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

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

Что означают четыре цифры в номере версии БСП?

Номер вида 3.1.10.256 читается как редакция (3.1), подверсия (10) и номер сборки (256). Совместимость расширений и обработок обычно проверяется по редакции и подверсии, но для точной диагностики ошибок стоит фиксировать номер целиком.

Итог

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

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