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

Администрирование · 10 мин

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

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

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

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

Что такое БСП и почему её версия отличается от версии конфигурации

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

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

Как узнать версию БСП через интерфейс 1С:Предприятие

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

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

Порядок действий в интерфейсе
  1. 1
    Откройте раздел «Администрирование» → «Обслуживание»
  2. 2
    Найдите пункт «Результаты обновления приложения» или «Прогресс обновления информационной базы»
  3. 3
    Посмотрите текущую версию в шапке отчёта
  4. 4
    Если пункта нет — откройте «О программе» и найдите строку с версией библиотеки

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

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

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

Альтернативный вариант — использовать глобальный поиск по конфигурации (Ctrl+Shift+F) по строке «ПриДобавленииПодсистемы» и открыть модуль, относящийся к БСП. Там же, в параметре «Описание.Имя», будет значение «СтандартныеПодсистемы», что подтверждает, что вы смотрите именно библиотеку, а не прикладную часть.

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

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

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

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

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

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

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

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

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

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

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

Какой способ выбрать

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

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

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

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

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

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

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

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

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

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

Версия в конфигураторе и в отчёте об обновлении
Норма

Значения совпадают, незавершённых обработчиков нет

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

Версии различаются или есть отложенные обработчики с ошибками

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

Возвращается строка вида «3.1.x.x» без ошибки

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

Ошибка вызова — модуль недоступен или БСП внедрена частично

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

Модуль есть, процедура «ПриДобавленииПодсистемы» заполнена

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

Модуля нет — библиотека не внедрена или внедрена усечённо

Итог

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

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

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

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

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

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

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

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

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

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

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

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

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