Где в 1С найти версию и состав Библиотеки стандартных подсистем

· 9 мин

Содержание

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

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

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

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

Библиотека стандартных подсистем (БСП) — это не отдельная программа, которую ставят рядом с 1С. Это набор подсистем, встроенный прямо в конфигурацию. На БСП построены типовые решения: «Бухгалтерия предприятия» 3.0, «Зарплата и управление персоналом» 3.1, «Управление торговлей» 11 и большинство других.

Отсюда главная путаница. У вас есть два разных номера:

  • 🔹 Версия конфигурации — например, 3.0.165.хх у «Бухгалтерии». Её назначает разработчик типового решения.
  • 🔹 Версия БСП — например, 3.1.10.хх. Это номер самой библиотеки, встроенной в эту конфигурацию.

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

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

Зачем вообще знать версию БСП

На практике номер библиотеки спрашивают не из любопытства. Чаще всего по одной из причин:

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

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

Версия БСП в конфигураторе: общий модуль и свойства

Самый точный способ — посмотреть в конфигураторе. Там версия записана явным образом, в коде.

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

Внутри процедуры заполняется описание подсистемы:

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

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

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

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

А вот версию самой конфигурации смотрят в другом месте: правый клик по корню дерева (имя конфигурации) → Свойства → поле Версия. Не путайте это поле с версией БСП: здесь номер конфигурации, а не библиотеки.

Какие подсистемы и модули БСП входят в конфигурацию

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

Состав смотрят в дереве метаданных конфигуратора. Все подсистемы БСП собраны под одним родительским узлом:

Общие → Подсистемы → СтандартныеПодсистемы

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

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

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

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

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

Где именно смотреть версию в вашем случае

Фактическая версия: регистр сведений «Версии подсистем»

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

У регистра одно измерение ИмяПодсистемы и ресурс Версия. Для БСП строка с именем СтандартныеПодсистемы и содержит нужный номер.

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

Поэтому для диагностики «что реально применилось» ориентируются именно на регистр. Если версия в регистре отстаёт от версии в модуле — обновление либо не запускалось, либо прервалось на полпути, и это первая зацепка при разборе проблем после обновления.

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

Как получить версию БСП запросом и в коде

Если у вас есть консоль запросов (внешняя обработка «Консоль запросов» от 1С или встроенная в конфигурацию), версию достают одним запросом:

ВЫБРАТЬ
    ВерсииПодсистем.Версия КАК Версия
ИЗ
    РегистрСведений.ВерсииПодсистем КАК ВерсииПодсистем
ГДЕ
    ВерсииПодсистем.ИмяПодсистемы = "СтандартныеПодсистемы"

Результат — одна строка с номером версии, фактически применённым в базе.

Тот же запрос можно выполнить в коде, например во внешней обработке с правами администратора:

Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    |    ВерсииПодсистем.Версия КАК Версия
    |ИЗ
    |    РегистрСведений.ВерсииПодсистем КАК ВерсииПодсистем
    |ГДЕ
    |    ВерсииПодсистем.ИмяПодсистемы = ""СтандартныеПодсистемы""";

Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
    Сообщить("Версия БСП: " + Выборка.Версия);
Иначе
    Сообщить("Запись о версии БСП в регистре не найдена");
КонецЕсли;

Обратите внимание на двойные кавычки внутри текста запроса: имя подсистемы — это строка, поэтому кавычки удваиваются. Если выборка пустая — записи в регистре ещё нет, об этом в разделе про ошибки.

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

Что видно в режиме «1С:Предприятие»

Без конфигуратора полную версию БСП через стандартный интерфейс не показывают. Но часть информации доступна и обычному пользователю.

Окно «О программе» открывается из системного меню: иконка главного меню (значок в левом верхнем углу интерфейса «Такси») → Справка → О программе. В нём видно:

  • версию платформы (например, 8.3.26.xxxx);
  • название и версию конфигурации;
  • иногда — сведения о технических средствах и каталог базы.

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

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

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

Частые ошибки и как их избежать

Ошибки при определении версии БСП обычно из-за того, что номер ищут не в том месте или путают один номер с другим.

  • ❌ Путают версию БСП с версией конфигурации. 3.0.165 — это «Бухгалтерия», а 3.1.10 — библиотека внутри неё. Это разные номера, и сравнивать их между собой бессмысленно.
  • ❌ Ждут версию БСП в окне «О программе». Там её нет по умолчанию. Это не сбой — библиотека свой номер в это окно не выводит.
  • ❌ Считают версию в модуле единственно верной. Версия в ОбновлениеИнформационнойБазыБСП — целевая. Если обновление информационной базы ещё не отработало, фактическая версия в регистре будет ниже.
  • ❌ Регистр пуст или в нём «0.0.0.0». Значит, процедура обновления ИБ в этой базе ещё не выполнялась после загрузки конфигурации. Зайдите в базу под пользователем с правами — обновление запустится и запишет версию.
  • ❌ Пытаются обновить БСП отдельной кнопкой. Такой кнопки нет. БСП обновляется только вместе с конфигурацией из поставки.

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

Можно ли обновить БСП отдельно от конфигурации?
Нет. Библиотека встроена в конфигурацию и обновляется вместе с ней, когда вы устанавливаете новый релиз типового решения от поставщика. Отдельной поставки БСП для рабочей базы не предусмотрено.
Почему версия в модуле и в регистре разная?
В модуле ОбновлениеИнформационнойБазыБСП хранится целевая версия, заложенная в конфигурацию. В регистре ВерсииПодсистем — версия, которая фактически применилась в базе. Они выравниваются после того, как отработает «Обновление информационной базы» при входе пользователя.
В регистре по подсистеме пусто или стоит «0.0.0.0» — это поломка?
Нет. Это значит, что обновление информационной базы в данной базе ещё ни разу не отрабатывало после загрузки конфигурации. После входа под пользователем с достаточными правами версия запишется.
Как узнать, на какой версии БСП основана моя «Бухгалтерия» или «ЗУП»?
Найдите номер версии в модуле ОбновлениеИнформационнойБазыБСП или в регистре ВерсииПодсистем. Какую версию библиотеки включить в конкретный релиз, решает поставщик конфигурации, поэтому жёсткой таблицы соответствия «релиз → версия БСП» нет.
Влияет ли версия платформы на версию БСП?
Это независимые номера. Но у каждой версии БСП есть минимальные требования к платформе: библиотека запустится, только если номер платформы не ниже заявленного для неё. Версию платформы смотрите в «О программе».