Какая версия Библиотеки стандартных подсистем стоит в вашей базе
Содержание
Самый точный способ определить версию БСП в 1С — открыть в Конфигураторе общий модуль ОбновлениеИнформационнойБазыБСП и найти в процедуре ПриДобавленииПодсистемы строку Описание.Версия = "3.1.x.xxx". Без Конфигуратора версию показывает регистр сведений
«Версии подсистем»: Все функции → Регистры сведений → Версии подсистем, строка «СтандартныеПодсистемы».
Частое заблуждение — искать номер Библиотеки стандартных подсистем в окне «О программе». Там видна версия платформы и версия самой конфигурации, например 3.0.xxx у Бухгалтерии. Номер БСП — другое число, и в пользовательском интерфейсе оно напрямую не выводится.
Ниже пять способов: два для администратора с Конфигуратором, два для пользователя с полными правами и один программный. Плюс — почему разные способы иногда показывают разные числа.
Зачем знать версию БСП и с чего начать проверку
БСП — это библиотека, на которой собраны почти все типовые конфигурации: Бухгалтерия, ЗУП, УТ, КА, ERP, УНФ. Сама конфигурация имеет свою версию, а встроенная в неё библиотека — свою.
Номер БСП нужен, когда вы:
- 🔧 дорабатываете типовую конфигурацию и пишете код на функциях библиотеки — набор доступных процедур от версии к версии меняется;
- 📦 подключаете стороннее расширение или внешнюю обработку , у которой в описании указано «требуется БСП не ниже …»;
- 🔄 обновляете самописную конфигурацию на новую редакцию библиотеки и планируете объём сравнения-объединения;
- 🧩 разбираете ошибку вида
Процедура или функция с указанным именем не определенав чужой обработке.
Перед проверкой определитесь с доступом. Способы отличаются требованиями:
| Способ | Что нужно | Что показывает |
|---|---|---|
| Модуль в Конфигураторе | Право входа в Конфигуратор | Версию БСП в конфигурации |
| Свойства подсистемы и поиск | Конфигуратор | То же, быстрее при навыке |
| «Все функции» → регистр | Полные права в пользовательском режиме | Версию, до которой база обновлена |
| Консоль запросов | Обработка консоли, полные права | Все библиотеки и их версии разом |
| Код встроенного языка | Отладчик или внешняя обработка | Значение для использования в коде |
Если у вас нет ни Конфигуратора, ни полных прав, попросите администратора — у обычного бухгалтера в типовой конфигурации номер БСП увидеть не получится.
Способ 1. Версия библиотеки в модуле Конфигуратора
Это эталонный источник. Именно отсюда программа берёт номер при обновлении базы.
- Запустите базу в режиме Конфигуратора.
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - В дереве метаданных разверните ветку
Общие → Общие модули. - Найдите модуль
ОбновлениеИнформационнойБазыБСП. Быстрее всего — встаньте в дерево и начните набирать имя: Конфигуратор сам перейдёт к нужному элементу. - Откройте модуль двойным щелчком и найдите процедуру
ПриДобавленииПодсистемы.
Внутри будет фрагмент примерно такого вида:
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.1.10.215";
...
КонецПроцедуры
Строка Описание.Версия и есть номер Библиотеки стандартных подсистем. Число в примере условное — у вас будет своё.
Модуль только читайте. Если конфигурация на поддержке и вы случайно включите возможность изменения, правка этой строки собьёт механизм обновления: при следующем запуске программа решит, что библиотека сменилась, и запустит обработчики.
Как найти строку ещё быстрее
Откройте глобальный поиск Правка → Глобальный поиск (сочетание Ctrl+Shift+F) и ищите текст Описание.Имя = "СтандартныеПодсистемы" или просто "СтандартныеПодсистемы". В результатах сразу видно нужный модуль, двойной щелчок открывает его на этой строке.
Тот же приём работает для других библиотек внутри конфигурации. Имя модуля строится по одному шаблону ОбновлениеИнформационнойБазы<Библиотека>: у Библиотеки интернет-поддержки (БИП) свой модуль со своим номером версии.
Способ 2. Окно «О программе» и свойства конфигурации
Окно Справка → О программе в пользовательском режиме показывает:
- 🖥 версию платформы, например 8.3.24.xxxx;
- 📘 название и версию конфигурации;
- 🗂 режим работы — файловый или клиент-серверный.
Версии БСП там нет. Но по версии конфигурации её можно установить косвенно.
Для типовых решений фирма 1С в описании каждого релиза указывает, на какой версии БСП он собран. Зная точный номер релиза, например Бухгалтерии, вы находите его описание в материалах обновления и смотрите строку о составе библиотек. Способ годится, когда в базе нет никаких доработок, затрагивающих библиотеку.
В Конфигураторе аналогичная информация есть в свойствах корня конфигурации: щёлкните правой кнопкой по самому верхнему элементу дерева, выберите «Свойства» и посмотрите поле «Версия». Это опять версия конфигурации, а не БСП — не путайте.
Ориентир для типовых решений: если конфигурации меньше года и она не доработана, номер БСП почти наверняка соответствует описанию её релиза. Для самописных и сильно доработанных баз такой вывод делать нельзя — смотрите модуль.
Способ 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С:Фреш?
В самописной конфигурации нет модуля ОбновлениеИнформационнойБазыБСП — что это значит?
Общие → Подсистемы.Можно ли обновить только БСП, не трогая типовую конфигурацию?
Как узнать версию БИП и других библиотек?
ОбновлениеИнформационнойБазы<Библиотека>.