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

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

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

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

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

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

Что такое БСП и где она находится в конфигурации

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

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

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

Способ 1. Посмотреть свойство подсистемы «СтандартныеПодсистемы»

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

Щёлкните по ней правой кнопкой мыши и выберите «Свойства» (или нажмите Alt+Enter). В палитре свойств найдите поле «Версия» — там будет указан номер вида «3.1.9.123». Первые два числа обозначают редакцию библиотеки, третье — релиз, четвёртое — сборку.

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

Метод работает всегда, даже если база пустая или обновление ещё не запускалось: версия в свойствах подсистемы прописывается разработчиком при сборке конфигурации и не зависит от данных информационной базы.

Способ 2. Определить версию по общим модулям

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

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

Обратите внимание: если конфигурация сильно доработана, сторонний разработчик мог изменить текст модулей. В таком случае надёжнее ориентироваться на свойство подсистемы или на константу версии, о которой сказано ниже.

Способ 3. Узнать версию из константы информационной базы

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

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

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

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

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

Значения совпадают — обновление базы завершено полностью

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

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

Результат программного вызова
Норма

Функция вернула строку вида «3.1.x.x»

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

Ошибка вызова — конфигурация не на БСП или модуль переименован

Наличие подсистемы СтандартныеПодсистемы
Норма

Подсистема есть, свойство «Версия» заполнено

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

Подсистемы нет — конфигурация не использует БСП

Способ 4. Получить версию программно

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

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

Сообщить(ВерсияБСП);

Функция вернёт строку с номером версии, например «3.1.9.45». Для сравнения версий в коде удобно использовать функцию из того же модуля, которая проверяет соответствие требуемой версии, либо стандартное сравнение строковых представлений через разбор номера на части.

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

1c
ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки(); Сообщить("Версия БСП: " + ВерсияБСП);

Способ 5. Проверка через настройку поддержки

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

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

Зачем нужна версия БСП и типичные ошибки при её определении

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

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

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

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

Итог

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

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

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

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

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

Почему версия в константе отличается от версии в свойствах подсистемы?

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

Как понять, построена ли конфигурация на БСП вообще?

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

Можно ли узнать версию БСП по файлу выгрузки конфигурации?

Да. Выгрузите конфигурацию в файлы (Конфигурация → Выгрузить конфигурацию в файлы) и найдите XML-файл подсистемы «СтандартныеПодсистемы» — в нём будет элемент с номером версии. Это удобно, когда база недоступна, а есть только выгрузка или репозиторий с исходниками конфигурации.

Зависит ли версия БСП от версии платформы 1С?

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