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

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

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

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

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

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

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

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

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

Узнаём версию через конфигуратор

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

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

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

Программный способ: функция ВерсияБиблиотеки

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

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

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

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

Как определить версию в пользовательском режиме

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

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

Косвенные признаки версии библиотеки

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

Ориентирами служат, например, наличие подсистемы «Интеграция с подключаемым оборудованием» в новом виде, обновлённый механизм рассылки отчётов, новые возможности подсистемы «Контактная информация» или переработанная «Печать». Такой способ даёт лишь приблизительную оценку «не старше / не младше» и не заменяет точного определения, но помогает, когда других вариантов нет.

Сравнение способов определения версии

Конфигуратор + модули БСП

Точно и быстро, но нужны права на конфигуратор и знание структуры конфигурации

Код через ВерсияБиблиотеки()

Самый надёжный, работает даже в доработанных базах; требует возможности выполнить код

Журнал обновлений + документация

Доступен пользователю без конфигуратора, но требует поиска соответствия версий

Косвенные признаки по подсистемам

Подходит только для грубой оценки, точную версию не даст

Типичные ошибки при определении версии

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

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

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

Проверка результата и границы безопасной работы

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

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

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

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

Результат вызова ВерсияБиблиотеки()
Норма

Строка вида «3.1.х.ххх» с четырьмя разрядами

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

Ошибка «Метод не обнаружен» — конфигурация не на БСП или модуль переименован

Соответствие документации к релизу
Норма

Версия из кода совпадает с указанной в описании версии конфигурации

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

Версии расходятся — признак доработок, проверяйте состав подсистем вручную

Наличие модуля ОбновлениеИнформационнойБазыБСП
Норма

Модуль есть в дереве конфигурации

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

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

Часто задаваемые вопросы

Можно ли узнать версию БСП без прав администратора?

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

Что делать, если функция ВерсияБиблиотеки() не найдена?

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

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

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

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

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

Где фирма «1С» публикует информацию о версиях БСП?

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

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

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

Итог

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

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