Какая версия Библиотеки стандартных подсистем стоит в вашей базе

· 9 мин

Содержание

Самый точный способ определить версию БСП в 1С — открыть в Конфигураторе общий модуль ОбновлениеИнформационнойБазыБСП и найти в процедуре ПриДобавленииПодсистемы строку Описание.Версия = "3.1.x.xxx". Без Конфигуратора версию показывает регистр сведений «Версии подсистем»: Все функции → Регистры сведений → Версии подсистем, строка «СтандартныеПодсистемы».

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

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

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

БСП — это библиотека, на которой собраны почти все типовые конфигурации: Бухгалтерия, ЗУП, УТ, КА, ERP, УНФ. Сама конфигурация имеет свою версию, а встроенная в неё библиотека — свою.

Номер БСП нужен, когда вы:

  • 🔧 дорабатываете типовую конфигурацию и пишете код на функциях библиотеки — набор доступных процедур от версии к версии меняется;
  • 📦 подключаете стороннее расширение или внешнюю обработку , у которой в описании указано «требуется БСП не ниже …»;
  • 🔄 обновляете самописную конфигурацию на новую редакцию библиотеки и планируете объём сравнения-объединения;
  • 🧩 разбираете ошибку вида Процедура или функция с указанным именем не определена в чужой обработке.

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

СпособЧто нужноЧто показывает
Модуль в КонфигуратореПраво входа в КонфигураторВерсию БСП в конфигурации
Свойства подсистемы и поискКонфигураторТо же, быстрее при навыке
«Все функции» → регистрПолные права в пользовательском режимеВерсию, до которой база обновлена
Консоль запросовОбработка консоли, полные праваВсе библиотеки и их версии разом
Код встроенного языкаОтладчик или внешняя обработкаЗначение для использования в коде

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

Способ 1. Версия библиотеки в модуле Конфигуратора

Это эталонный источник. Именно отсюда программа берёт номер при обновлении базы.

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

Внутри будет фрагмент примерно такого вида:

Процедура ПриДобавленииПодсистемы(Описание) Экспорт

	Описание.Имя    = "СтандартныеПодсистемы";
	Описание.Версия = "3.1.10.215";
	...

КонецПроцедуры

Строка Описание.Версия и есть номер Библиотеки стандартных подсистем. Число в примере условное — у вас будет своё.

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

Как найти строку ещё быстрее

Откройте глобальный поиск Правка → Глобальный поиск (сочетание Ctrl+Shift+F) и ищите текст Описание.Имя = "СтандартныеПодсистемы" или просто "СтандартныеПодсистемы". В результатах сразу видно нужный модуль, двойной щелчок открывает его на этой строке.

Тот же приём работает для других библиотек внутри конфигурации. Имя модуля строится по одному шаблону ОбновлениеИнформационнойБазы<Библиотека>: у Библиотеки интернет-поддержки (БИП) свой модуль со своим номером версии.

Способ 2. Окно «О программе» и свойства конфигурации

Окно Справка → О программе в пользовательском режиме показывает:

  • 🖥 версию платформы, например 8.3.24.xxxx;
  • 📘 название и версию конфигурации;
  • 🗂 режим работы — файловый или клиент-серверный.

Версии БСП там нет. Но по версии конфигурации её можно установить косвенно.

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

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

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

Способ 3. Регистр «Версии подсистем» без Конфигуратора

Этот способ подходит администратору базы, у которого есть роль «Полные права», но нет доступа к Конфигуратору — например, в облаке или на чужом сервере.

Включите «Все функции»

  1. Откройте меню с тремя полосками в левом верхнем углу или значок шестерёнки и выберите Сервис → Параметры.
  2. Поставьте флажок «Отображать команду “Все функции”».
  3. Нажмите «Применить».

Откройте регистр

  1. В главном меню выберите Все функции.
  2. Разверните ветку Регистры сведений.
  3. Откройте Версии подсистем.

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

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

Ничего не меняйте в этом регистре. Ручная правка версии приводит либо к повторному запуску обработчиков обновления, либо к их пропуску — и то и другое ломает данные.

Способ 4. Консоль запросов и консоль кода

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

ВЫБРАТЬ
	ВерсииПодсистем.ИмяПодсистемы КАК Подсистема,
	ВерсииПодсистем.Версия КАК Версия
ИЗ
	РегистрСведений.ВерсииПодсистем КАК ВерсииПодсистем
УПОРЯДОЧИТЬ ПО
	Подсистема

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

Через консоль кода или отладчик

Если в базе есть обработка для выполнения произвольного кода на сервере, выполните одну строку:

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

Функция ВерсияБиблиотеки() общего модуля СтандартныеПодсистемыСервер возвращает номер БСП строкой. Тот же вызов можно ввести в окне вычисления выражений, если вы остановились в отладчике на любой серверной точке: Отладка → Вычислить выражение (Shift+F9).

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

Способ 5. Программная проверка версии в своём коде

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

Получить номер можно двумя путями:

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

Сравнивать номера нужно специальной функцией, а не как строки:

&НаСервере
Функция БСПНеНиже(МинимальнаяВерсия)

	ТекущаяВерсия = СтандартныеПодсистемыСервер.ВерсияБиблиотеки();
	Возврат ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ТекущаяВерсия, МинимальнаяВерсия) >= 0;

КонецФункции

// Пример использования
Если БСПНеНиже("3.1.5.1") Тогда
	// используем возможности новой версии
Иначе
	// запасной вариант
КонецЕсли;

СравнитьВерсии возвращает число: больше нуля, если первая версия выше, ноль при равенстве и меньше нуля, если первая ниже. Номер 3.1.5.1 в примере условный — подставьте тот, что указан в требованиях вашей доработки.

Почему нельзя сравнивать строки

При строковом сравнении "3.1.10.215" < "3.1.9.100" даёт Истину: символ «1» меньше символа «9». На деле 3.1.10 — более новая редакция. Ошибка проявится ровно тогда, когда у части клиентов номер перейдёт через десяток, и найти её будет трудно.

Сравнение версий БСП и совместимость

Номер БСП состоит из четырёх частей: 3.1.10.215.

ЧастьПримерЧто означает
Первая и вторая3.1Редакция библиотеки
Третья10Версия внутри редакции, крупное обновление
Четвёртая215Сборка, исправления

Практические выводы для совместимости:

  • ✅ Разница только в четвёртой цифре — как правило, исправления ошибок. Код, написанный под соседнюю сборку, обычно работает.
  • ⚠️ Разница в третьей цифре — возможны новые процедуры, переименование и пометка устаревших. Проверяйте описание изменений.
  • ❌ Разница в редакции (2.х против 3.х) — меняется структура подсистем, перенос доработок — отдельный проект.

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

Совместимость расширений и внешних обработок

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

Как вам быстрее узнать версию БСП?

Ошибки при определении версии БСП и расхождения номеров

Иногда разные способы дают разные числа. Это не сбой — у каждого источника свой смысл.

Модуль показывает одно, регистр — другое

Модуль хранит версию библиотеки в конфигурации, регистр — версию, до которой обновлены данные. Они расходятся, если:

  • 🔄 конфигурацию обновили, но в пользовательском режиме базу ещё не запускали, и обработчики обновления не выполнены;
  • ⏳ обновление прервалось на середине — в этом случае при входе программа снова предложит его завершить;
  • 🧪 в базу загрузили конфигурацию из файла .cf от другой базы без последующего обновления данных.

Нормальное состояние — номера совпадают. Если в регистре номер ниже, войдите в базу под администратором в пользовательском режиме: программа запустит обновление сама.

Основная конфигурация и конфигурация базы данных

В Конфигураторе есть две конфигурации: основная (которую вы открываете и редактируете) и конфигурация базы данных (которая реально работает у пользователей). Если после обновления не выполнено Конфигурация → Обновить конфигурацию базы данных, в модуле основной конфигурации вы увидите новый номер, а пользователи работают на старом.

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

Другие частые промахи

  • 📘 Принимают версию конфигурации из «О программе» за версию БСП. Это разные номера.
  • 🧩 Смотрят модуль в расширении, а не в основной конфигурации. Расширение может заимствовать модуль, но номер библиотеки задаётся в самой конфигурации.
  • 🔢 Сравнивают версии как строки и получают неверный результат при переходе через 9 → 10.
  • 🔒 Не видят регистр в «Все функции» из-за ограниченных прав — нужна роль с полными правами или право на чтение этого регистра.
Есть ли версия БСП в базе в облаке 1С:Фреш?
Конфигуратор там недоступен, но регистр «Версии подсистем» через «Все функции» открывается, если у пользователя полные права в своей области данных.
В самописной конфигурации нет модуля ОбновлениеИнформационнойБазыБСП — что это значит?
Скорее всего, БСП в конфигурацию не внедрялась или внедрена частично, без подсистемы обновления. Проверьте наличие подсистемы «СтандартныеПодсистемы» в ветке Общие → Подсистемы.
Можно ли обновить только БСП, не трогая типовую конфигурацию?
Для типовых решений — нет: библиотека обновляется вместе с релизом конфигурации. Отдельно БСП обновляют разработчики самописных решений через сравнение и объединение с поставкой библиотеки.
Как узнать версию БИП и других библиотек?
Теми же способами: в регистре «Версии подсистем» каждая библиотека — отдельная строка, а в Конфигураторе у каждой свой модуль ОбновлениеИнформационнойБазы<Библиотека>.
Номер БСП в регистре пустой. Это нормально?
Нет. Обычно это база, которую ни разу не запускали в пользовательском режиме после загрузки. Войдите под администратором — программа выполнит начальное заполнение и запишет версию.