Разработка и Конфигурация · 11 мин
Как узнать версию БСП в конфигурации 1С
Как узнать версию БСП в конфигурации 1С: через конфигуратор, в режиме предприятия, запросом и кодом. Проверка совместимости, ошибки и FAQ.
Библиотека стандартных подсистем (БСП) лежит в основе большинства типовых конфигураций 1С: «Управление торговлей», «ERP», «Зарплата и управление персоналом», «Документооборот» и многих отраслевых решений. Знать версию БСП нужно при обновлении конфигурации, установке расширений, подключении внешних обработок и разработке под конкретную библиотеку — от неё зависит состав процедур общих модулей и поведение типовых механизмов.
Проблема в том, что версия БСП редко совпадает с версией самой конфигурации. Например, конфигурация версии 11.5 может использовать БСП 3.1, и по номеру релиза прикладного решения версию библиотеки определить нельзя. Существует несколько надёжных способов узнать её точно: через конфигуратор, в режиме «1С:Предприятие», запросом к информационной базе и программным кодом.
Ниже разобраны все рабочие методы с указанием условий, при которых каждый из них сработает, а также типичные ошибки, которые приводят к неверным выводам о версии библиотеки.
Зачем вообще знать версию БСП
Версия библиотеки нужна в нескольких практических ситуациях. При разработке расширений и внешних обработок важно понимать, какие процедуры общих модулей доступны: состав программного интерфейса модулей «ОбщегоНазначения», «РаботаСФайлами», «ОбменДаннымиСервер» меняется между редакциями БСП. Обработка, написанная под БСП 3.1, может не запуститься на конфигурации с БСП 2.4 из-за отсутствующих функций или изменившихся параметров.
Вторая ситуация — обновление конфигурации. Инструкции по переходу между релизами часто содержат требования к версии библиотеки, а при ручном объединении конфигураций нужно понимать, какая редакция БСП стоит сейчас и на какую планируется переход. Третья ситуация — диагностика ошибок: многие типовые проблемы привязаны к конкретным версиям библиотеки, и без её номера поиск решения превращается в гадание.
Способ 1: через конфигуратор по общему модулю
Самый надёжный метод, не требующий запуска информационной базы. Откройте конфигуратор, загрузите конфигурацию и в дереве метаданных найдите ветку «Общие» → «Общие модули». Найдите модуль ОбновлениеИнформационнойБазыБСП и откройте его. В начале модуля расположена процедура ПриДобавленииПодсистемы, в которой строкой задана версия: например, Описание.Версия = "3.1.10.234";.
Этот способ показывает версию библиотеки, зашитую в метаданные конфигурации поставщика. Именно она считается «официальной» версией БСП данной конфигурации. Если конфигурация дорабатывалась и библиотека обновлялась вручную, данные в модуле могут отличаться от фактического состояния базы — об этом ниже.
- 1Откройте конфигуратор и конфигурацию базы
- 2Перейдите: Общие → Общие модули
- 3Найдите модуль ОбновлениеИнформационнойБазыБСП
- 4Откройте процедуру ПриДобавленииПодсистемы
- 5Считайте значение Описание.Версия — это и есть версия БСП
Способ 2: программно в режиме «1С:Предприятие»
Если база запущена и у вас есть права на выполнение кода (например, через консоль кода, внешнюю обработку или обработку «Универсальный обмен данными» с произвольным алгоритмом), версию можно получить одной строкой: СтандартныеПодсистемыСервер.ВерсияБиблиотеки(). Функция вернёт строку вида «3.1.10.234».
Альтернативный программный вариант — обращение к константе. В конфигурациях на БСП версия библиотеки хранится в константе ВерсияБиблиотеки (в старых редакциях — «ВерсияБСП»). Получить её можно так: Константы.ВерсияБиблиотеки.Получить().
// Вариант 1: штатная функция БСП
Сообщить(СтандартныеПодсистемыСервер.ВерсияБиблиотеки());
// Вариант 2: через константу
Сообщить(Константы.ВерсияБиблиотеки.Получить());Важно понимать разницу: функция ВерсияБиблиотеки() возвращает версию из метаданных (модуля обновления), а константа — версию, зафиксированную в данных базы после выполнения обработчиков обновления. В норме они совпадают. Если константа отстаёт — значит, обновление информационной базы не было завершено, и это уже самостоятельная проблема.
Способ 3: через интерфейс и константу в пользовательском режиме
Если запускать код нежелательно, можно поискать версию через интерфейс. В некоторых типовых конфигурациях сведения о версии библиотеки выводятся в разделе «Администрирование» → «Поддержка и обслуживание» → «Результаты обновления и дополнительная обработка данных» — там видно, до какой версии выполнены обработчики обновления, в том числе по подсистеме «СтандартныеПодсистемы».
Другой вариант — открыть константу напрямую через «Все функции» (Функции для технического специалиста): найдите в списке «Константы», отыщите «Версия библиотеки» или «Версия БСП» и посмотрите значение. Пункт «Все функции» доступен при включённом режиме технического специалиста и соответствующих правах.
Способ 4: косвенные признаки, когда прямых данных нет
Иногда доступа к конфигуратору и коду нет, а версию нужно оценить хотя бы приблизительно. В таком случае помогают косвенные признаки: наличие или отсутствие характерных подсистем и объектов. Например, появление подсистем с определёнными названиями, состав ролей, структура справочника «ВерсииРасширений» или наличие конкретных регистров сведений позволяют опытному специалисту сузить диапазон версий библиотеки.
Ещё один косвенный метод — посмотреть версию поставки самой конфигурации и сопоставить её с документацией вендора: в описании релизов типовых решений «1С» обычно указывается, на какой версии БСП построен релиз. Это работает только для конфигураций на полной поддержке без доработок.
Сравнение способов
Точная версия из метаданных. Нужен доступ к конфигуратору и пароль, если база под паролем.
Быстро в режиме предприятия. Требует возможности выполнить код.
Без кода, но показывает состояние данных, которое может отставать после сбоя обновления.
Только ориентировочная оценка, когда другие способы недоступны.
Как проверить результат и не ошибиться
После определения версии полезно выполнить контрольную сверку, особенно если конфигурация дорабатывалась. Признак корректной ситуации — совпадение версии из модуля обновления, значения константы и данных в разделе результатов обновления. Расхождение любых двух источников — повод разобраться, что произошло.
Отдельно проверьте, не установлены ли расширения, изменяющие общие модули БСП. Расширение может замещать методы библиотеки, и тогда поведение системы не будет соответствовать заявленной версии, хотя номер версии останется прежним.
Как проверить результат
Совпадает с константой ВерсияБиблиотеки
Номера различаются — обновление данных не завершено
Все обработчики подсистемы СтандартныеПодсистемы выполнены
Есть невыполненные или завершившиеся с ошибкой обработчики
Нет расширений, изменяющих общие модули БСП
Расширение замещает модули библиотеки — поведение отличается от типового
Типичные ошибки при определении версии
Самая частая ошибка — путать версию конфигурации с версией БСП. Номер вида «11.5.12.64» в заголовке окна «О программе» — это версия прикладного решения, а не библиотеки. Вторая ошибка — доверять только константе после неудачного обновления: база может работать на старых данных с новой конфигурацией, и реальная версия библиотеки в метаданных будет выше.
Третья ошибка — искать версию БСП в конфигурации, где её нет. Самописные и старые отраслевые решения могут не использовать библиотеку вовсе: тогда модуля «ОбновлениеИнформационнойБазыБСП» в дереве конфигурации просто не будет. Это нормальная ситуация, а не признак повреждения.
Ограничения и риски
Доступ к конфигуратору и к выполнению кода требует соответствующих прав. В клиент-серверных базах с разграничением доступа пользователь без роли администратора может не увидеть ни константу, ни раздел результатов обновления. В этом случае запросите сведения у администратора базы, а не пытайтесь обойти ограничения.
Осторожность нужна и при выполнении произвольного кода в рабочей базе: безобидная функция получения версии ничего не меняет, но любая консоль кода в принципе позволяет изменить данные. Выполняйте только проверенные однострочные вызовы и не запускайте незнакомые обработки «для определения версии» из непроверенных источников.
Частые вопросы
Версия БСП и версия конфигурации — это одно и то же?
Нет. Версия конфигурации (например, 11.5.x) — это номер релиза прикладного решения, а версия БСП (например, 3.1.x) — номер редакции библиотеки стандартных подсистем, встроенной в это решение. Один релиз конфигурации всегда содержит конкретную версию БСП, но узнать её можно только описанными выше способами.
Что делать, если модуля ОбновлениеИнформационнойБазыБСП нет в конфигурации?
Скорее всего, конфигурация не использует БСП — это характерно для самописных и старых отраслевых решений. Проверьте наличие других признаков библиотеки: общих модулей «СтандартныеПодсистемыСервер», «ОбщегоНазначения», подсистемы «СтандартныеПодсистемы». Если их нет, библиотека не внедрена.
Можно ли узнать версию БСП без доступа к конфигуратору?
Да. В режиме «1С:Предприятие» откройте «Все функции» (Функции для технического специалиста), найдите константу «Версия библиотеки» и посмотрите её значение. Также подойдёт раздел «Администрирование» → «Результаты обновления», где видна версия, до которой обновлена подсистема «СтандартныеПодсистемы».
Константа показывает старую версию, а конфигурация обновилась. Это опасно?
Да, это признак незавершённого обновления информационной базы. Откройте «Результаты обновления и дополнительная обработка данных» и проверьте статус обработчиков. До устранения проблемы не обновляйте конфигурацию дальше и не правьте константу вручную — сначала сделайте резервную копию.
Влияет ли версия платформы 1С на версию БСП?
Напрямую нет — это независимые нумерации. Но каждая редакция БСП рассчитана на определённые версии платформы: слишком старая платформа может не поддерживать новую библиотеку. Требования к платформе указаны в документации к конкретной версии БСП и релизу конфигурации.
Как узнать версию БСП в файле выгрузки конфигурации (.cf)?
Загрузите файл в пустую информационную базу через конфигуратор («Загрузить конфигурацию из файла») и откройте общий модуль «ОбновлениеИнформационнойБазыБСП» — версия указана в процедуре «ПриДобавленииПодсистемы». Делайте это в отдельной тестовой базе, чтобы не затронуть рабочие данные.
Что важно запомнить
Версия БСП не совпадает с версией конфигурации и определяется отдельно: точнее всего — в общем модуле ОбновлениеИнформационнойБазыБСП, быстрее всего — функцией СтандартныеПодсистемыСервер.ВерсияБиблиотеки() или константой «Версия библиотеки». Расхождение константы и метаданных означает незавершённое обновление и требует разбора до любых дальнейших действий.