Разработка и Конфигурация · 9 мин
Как определить версию БСП в конфигурации 1С
Как узнать версию библиотеки стандартных подсистем (БСП) в конфигурации 1С: через конфигуратор, код, регистр сведений и подсистему обновления. Пошаговые инструкции.
Библиотека стандартных подсистем (БСП) — основа большинства типовых и отраслевых конфигураций 1С. Знать её точную версию нужно при планировании обновления, диагностике ошибок, проверке совместимости расширений и при обращении в поддержку. Номер версии БСП не совпадает с номером версии самой конфигурации: например, в «1С:Бухгалтерии 3.0» может использоваться БСП 3.1.x, и это разные системы нумерации.
Существует несколько способов определить версию БСП: через интерфейс конфигуратора, программным кодом, по регистру сведений «Версии подсистем» и через обработчики обновления. Ниже разобраны все рабочие варианты — от самого быстрого до программного, с указанием, когда какой метод применять.
Что такое БСП и почему её версия отличается от версии конфигурации
БСП — это набор типовых подсистем (пользователи, права доступа, обмен данными, печать, отчёты и десятки других), которые фирма «1С» поставляет разработчикам как готовый каркас. Типовые конфигурации вроде «Управление торговлей», «ERP» или «Зарплата и управление персоналом» построены на БСП, но имеют собственную нумерацию версий.
Из-за этого вопрос «какая у меня версия» требует уточнения: версия конфигурации видна в окне «О программе», а версия БСП скрыта внутри метаданных и данных информационной базы. Путать их нельзя — например, при подборе расширения или внешней обработки совместимость проверяется именно по версии БСП.
Способ 1. Через конфигуратор: общий модуль СтандартныеПодсистемыПовтИсп
Самый надёжный способ узнать версию БСП, встроенную в конфигурацию, — посмотреть её прямо в метаданных. Откройте конфигуратор, в дереве конфигурации перейдите в раздел «Общие» → «Общие модули» и найдите модуль СтандартныеПодсистемыПовтИсп. В нём есть функция ВерсияБиблиотеки() (или константа с версией в тексте модуля), где номер указан литерально, например «3.1.9.123».
Если конфигурация закрыта от изменений, текст модуля всё равно доступен для просмотра. Альтернативный путь — открыть общий модуль ОбновлениеИнформационнойБазыБСП и посмотреть процедуру ПриДобавленииПодсистемы: там в описании подсистемы «СтандартныеПодсистемы» также фиксируется версия библиотеки.
- 1Откройте конфигуратор и разверните дерево конфигурации
- 2Перейдите: Общие → Общие модули → СтандартныеПодсистемыПовтИсп
- 3Найдите функцию ВерсияБиблиотеки() и посмотрите возвращаемую строку
- 4Сверьте номер с регистром «Версии подсистем», чтобы убедиться, что обновление данных завершено
Способ 2. Программно: код для получения версии БСП
Когда конфигуратор недоступен или версию нужно вывести пользователю, используется встроенный язык. В БСП есть публичный программный интерфейс: функция СтандартныеПодсистемыСервер.ВерсияБиблиотеки() возвращает строку с номером версии библиотеки, зашитым в конфигурацию.
ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки(); Сообщить(ВерсияБСП); // например, "3.1.9.123"Этот код можно выполнить через внешнюю обработку, консоль кода или в фоновом задании. Важно понимать разницу: функция возвращает версию, зашитую в метаданные, а не версию, до которой фактически обновлены данные информационной базы. Эти значения могут различаться, если обновление запущено, но не завершено.
Как узнать версию, до которой обновлены данные
Для этого служит функциональность подсистемы обновления: данные о выполненных обработчиках хранятся в регистре сведений «Версии подсистем». Программно актуальную версию данных можно получить через ОбновлениеИнформационнойБазы.ВерсияИБ("СтандартныеПодсистемы").
Способ 3. Через регистр сведений «Версии подсистем»
В пользовательском режиме 1С:Предприятие откройте регистр сведений «Версии подсистем» (в типовых конфигурациях он доступен через «Все функции» → «Регистры сведений»). Найдите строку, где в поле «Подсистема» указано значение СтандартныеПодсистемы — в колонке «Версия» будет номер, до которого выполнено обновление данных этой подсистемы.
Если «Все функции» в меню нет, включите её: «Сервис» → «Параметры» → флажок «Отображать команду "Все функции"». Для просмотра регистра нужны права администратора.
Как проверить результат
Совпадает с версией в регистре «Версии подсистем»
В регистре версия ниже — обновление данных не завершено
Строка есть, версия заполнена
Строки нет — обновление ни разу не выполнялось или база пустая
Четыре числа через точку, например 3.1.9.123
Пустое значение или «0.0.0.0» — признак незавершённого первого запуска
Разница между версией в метаданных и версией в данных
Ключевой нюанс, который часто вводит в заблуждение: версия БСП существует в двух местах. В метаданных (общий модуль) хранится версия библиотеки, которую разработчик встроил в конфигурацию. В регистре «Версии подсистем» — версия, до которой реально выполнены обработчики обновления данных.
В норме эти номера совпадают. Если версия в регистре ниже версии в метаданных, значит, обновление информационной базы не завершено: либо оно ещё выполняется в фоне, либо прервано с ошибкой. Работать с такой базой до завершения обновления небезопасно — часть данных может быть в промежуточном состоянии.
Как определить версию БСП во внешней обработке или расширении
Разработчикам внешних обработок и расширений версию БСП нужно знать для проверки совместимости: программный интерфейс подсистем меняется между выпусками, и вызов несуществующего метода приведёт к ошибке. Рекомендуемый подход — не сравнивать версию напрямую, а проверять наличие нужного метода или использовать конструкцию попытки вызова.
Если проверка версии всё же необходима, получите её через СтандартныеПодсистемыСервер.ВерсияБиблиотеки() и сравнивайте с требуемой, разбив строку на части (старший и младший номера). Для расширений в свойствах расширения можно задать совместимость с версией конфигурации, но версию БСП платформа напрямую не контролирует.
Что делать, если БСП в конфигурации нет
Не все конфигурации построены на БСП. Самописные решения, старые конфигурации и некоторые отраслевые продукты могут не содержать библиотеки. Признаки отсутствия БСП: нет общего модуля «СтандартныеПодсистемыСервер», нет регистра «Версии подсистем», нет подсистемы «СтандартныеПодсистемы» в дереве метаданных.
Проверить это быстро можно через глобальный поиск по конфигурации (Ctrl+Shift+F в конфигураторе): найдите строку «СтандартныеПодсистемы». Если совпадений нет — библиотека не встроена, и определять её версию бессмысленно. Частичное внедрение тоже встречается: разработчик мог заимствовать отдельные подсистемы БСП без полноценной интеграции механизма версионирования.
Где взять официальную информацию о версиях БСП
Описания выпусков БСП, состав подсистем и требования к версии платформы публикуются в документации к библиотеке и на портале 1С для разработчиков. При обновлении типовой конфигурации версия БСП меняется автоматически вместе с релизом — вручную её менять не нужно и не следует.
Что важно запомнить
Версию БСП смотрят в общем модуле СтандартныеПодсистемыПовтИсп, кодом через СтандартныеПодсистемыСервер.ВерсияБиблиотеки() или в регистре «Версии подсистем». Номер из метаданных и номер из регистра должны совпадать — расхождение означает незавершённое обновление данных.
Частые вопросы
Где в 1С:Предприятии посмотреть версию БСП без конфигуратора?
Откройте «Все функции» → «Регистры сведений» → «Версии подсистем» и найдите строку с подсистемой «СтандартныеПодсистемы». Нужны права администратора. Либо выполните код СтандартныеПодсистемыСервер.ВерсияБиблиотеки() через консоль кода или внешнюю обработку.
Почему версия БСП не совпадает с версией конфигурации?
Это нормально: у конфигурации и у библиотеки разные системы нумерации и разные циклы выпусков. Одна и та же версия БСП может использоваться в нескольких разных конфигурациях с собственными номерами версий.
В регистре версия ниже, чем в конфигурации — что это значит?
Обновление данных информационной базы не завершено: обработчики обновления ещё выполняются или завершились с ошибкой. Проверьте журнал регистрации и дождитесь окончания отложенного обновления, не работая с базой в этот момент.
Как узнать версию БСП, если конфигурация на поддержке и закрыта?
Закрытость от изменений не мешает просмотру: текст общего модуля СтандартныеПодсистемыПовтИсп доступен для чтения, а регистр «Версии подсистем» виден в режиме предприятия независимо от режима поддержки.
Можно ли определить версию БСП по файлу выгрузки конфигурации (.cf)?
Да. Загрузите .cf в пустую базу через конфигуратор и откройте общий модуль СтандартныеПодсистемыПовтИсп — версия указана в функции ВерсияБиблиотеки(). Регистр «Версии подсистем» в файле .cf не содержит данных, только структуру.
Что означает версия «0.0.0.0» в регистре версий подсистем?
Это начальное значение до первого выполнения обработчиков обновления. Если база уже работает, а версия нулевая — первоначальное заполнение подсистемы не выполнялось или завершилось с ошибкой, стоит проверить журнал регистрации.