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

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

1. Самый простой способ: через справочник «Версии БСП» (для пользователей)

Если у вас есть доступ к 1С в режиме предприятия (даже без прав администратора), первый метод не требует никаких технических навыков. Этот способ работает в большинстве типовых конфигураций на базе БСП 2.х и 3.х, включая 1С:ERP, 1С:УТ, 1С:КА и 1С:ЗУП.

Инструкция:

  • 📌 Откройте программу в режиме 1С:Предприятие (не конфигуратор!).
  • 🔍 Перейдите в меню Все функции (обычно в верхнем левом углу или через кнопку с тремя точками).
  • 📋 В открывшемся окне найдите раздел Стандартные подсистемыВерсии Библиотеки стандартных подсистем.
  • 📊 Откроется справочник с одной записью, где в колонке Версия будет указан текущий номер (например, 3.1.12.123).

⚠️ Внимание: В некоторых сильно модифицированных конфигурациях пункт Все функции может быть скрыт. Если его нет — попробуйте нажать Ctrl+Shift+F или обратитесь к администратору системы.

📊 Как часто вы обновляете БСП в своих конфигурациях?
Регулярно, при каждом релизе 1С
Только при критических ошибках
Никогда не обновлял
Не знаю, что это такое

2. Через конфигуратор: анализ свойств подсистемы

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

Пошаговая инструкция:

  1. Запустите 1С:Предприятие в режиме Конфигуратор (выберите базу и удерживайте Shift при запуске).
  2. В дереве метаданных найдите ветку Общие → Подсистемы.
  3. Раскройте список и найдите подсистему с названием БиблиотекаСтандартныхПодсистем (или похожим, например, БСП).
  4. Кликните по ней правой кнопкой и выберите Свойства.
  5. В открывшемся окне перейдите на вкладку Прочее — там будет поле Версия с нужным номером.

🔹 Нюанс: В БСП 3.х версия может отображаться в формате X.Y.Z.W, где:

  • X.Y — основная версия (например, 3.1),
  • Z — номер сборки,
  • W — ревизия (инкрементальный номер исправлений).

☑️ Проверка версии БСП через конфигуратор

Выполнено: 0 / 4

3. Программный метод: запрос через встроенный язык

Для разработчиков и продвинутых пользователей, которые умеют работать с встроенным языком 1С, есть универсальный способ получения версии БСП через код. Этот метод работает даже в облачных версиях 1С (например, 1С:Fresh), где доступ к конфигуратору ограничен.

Используйте следующий код в Отладчике (или создайте внешнюю обработку):

Процедура ПолучитьВерсиюБСП()

ВерсияБСП = Метаданные.БиблиотекаСтандартныхПодсистем.Версия;

Сообщить("Версия БСП: " + ВерсияБСП);

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

Если подсистема переименована, попробуйте альтернативный вариант:

Процедура АльтернативныйСпособ()

Для Каждого Подсистема Из Метаданные.Подсистемы Цикл

Если Найти(Подсистема.Имя, "БСП") > 0 Или Найти(Подсистема.Имя, "БиблиотекаСтандартных") > 0 Тогда

Сообщить("Версия БСП: " + Подсистема.Версия);

КонецЕсли;

КонецЦикла;

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

⚠️ Внимание: В облачных версиях 1С некоторые свойства метаданных могут быть заблокированы по соображениям безопасности. Если код возвращает ошибку Доступ запрещен, обратитесь в поддержку 1С:Fresh.

4. Анализ файлов конфигурации (для технических специалистов)

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

Инструкция для локальных баз:

  • 💾 Найдите папку с базой данных (обычно это C:\Program Files\1cv8\srvinfo\<ID_базы> или каталог, указанный в ibases.v8i).
  • 📁 Внутри папки найдите файл 1Cv8.md (или 1Cv8.cf для файлового варианта).
  • 🔎 Откройте файл в текстовом редакторе (например, Notepad++) и найдите строку с упоминанием БиблиотекаСтандартныхПодсистем.
  • 📌 Версия будет указана в атрибуте version рядом с именем подсистемы.

Для баз на SQL-сервере:

  • Подключитесь к серверу через SQL Server Management Studio.
  • Выполните запрос к таблице Config (или ConfigSave для старых версий):
SELECT * FROM Config WHERE Name LIKE '%БиблиотекаСтандартныхПодсистем%'
Тип базы Файл/Таблица Ключевой параметр Пример значения
Файловая 1Cv8.md version="3.1.12.123" <Property Name="Версия" Value="3.1.12.123"/>
SQL (постоянная) Config Поле Version 3.1.15.245
SQL (временная) ConfigSave Атрибут Ver 2.5.4.111

🔹 Важно: Структура файлов .md и .cf может отличаться в разных версиях платформы. В 1С:Предприятие 8.3.20+ данные хранятся в бинарном формате, и для их чтения потребуется специализированный инструмент (например, 1C:EDT).

Что делать, если файл 1Cv8.md зашифрован?

В версиях 8.3.18+ конфигурационные файлы могут шифроваться. Для их просмотра используйте утилиту chdbfl из комплекта поставки 1С или плагин для 1C:EDT. Команда для расшифровки: chdbfl.exe /F"путь_к_файлу.md" /DumpCfg "выходной_файл.txt".

5. Определение версии БСП по косвенным признакам

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

Ключевые признаки версий:

  • 🔹 БСП 2.х:
    • Отсутствует подсистема УправлениеИнтерфейсом.
    • Метод ПолучитьДанныеДляПоиска() работает только для справочников.
    • Нет поддержки ДинамическихСписков в мобильном клиенте.
  • 🔹 БСП 3.0:
    • Появилась подсистема РаботаСФайлами с методами для облачного хранилища.
    • Поддержка УправляемыхФорм в тонком клиенте.
    • Метод ЗагрузитьДанныеИзФайла() работает с HTTPСервис.
  • 🔹 БСП 3.1+:
    • Добавлена подсистема ИнтеграцияС1СFresh.
    • Метод ПолучитьСсылкуНаОбъект() поддерживает UUID.
    • Есть класс УправлениеПользовательскимиНастройками.

🔹 Пример диагностики: Если в вашей конфигурации есть метод ОтправитьУведомлениеВТелеграм(), но отсутствует ПолучитьТокенFresh(), скорее всего, у вас БСП 3.0.x. Если же оба метода присутствуют — это БСП 3.1.8+.

💡

Чтобы быстро найти метод в конфигураторе, используйте поиск по метаданным (Ctrl+Shift+F) с фильтром по имени метода. Например, введите ПолучитьДанныеДляПоиска — если метод найдется в модуле объекта, это БСП 2.х, если в общем модуле — 3.х.

6. Проверка версии БСП в облачных и сервисных решениях

Для 1С:Fresh, 1С:Линк и других облачных сервисов стандартные методы определения версии БСП часто не работают из-за ограничений доступа. В этом случае используйте следующие подходы:

Способ 1: Через личный кабинет 1С:Fresh

  • 🌐 Перейдите в личный кабинет 1С:Fresh.
  • 📌 Выберите вашу организацию и раздел Обновления.
  • 📋 В истории обновлений найдите последнюю запись с упоминанием БСП — там будет указана текущая версия.

Способ 2: Через поддержку 1С

  • 📧 Напишите запрос в техническую поддержку с указанием ID вашей организации в Fresh.
  • 💬 В тексте укажите: «Прошу предоставить текущую версию Библиотеки стандартных подсистем (БСП) для моей базы».
  • ⏳ Обычно ответ приходит в течение 1 рабочего дня.

⚠️ Внимание: В облачных версиях 1С обновление БСП происходит автоматически, и откатить версию невозможно. Если ваша конфигурация перестала работать после обновления, обратитесь в поддержку с описанием ошибки и укажите предыдущую рабочую версию БСП (если известна).

💡

В 1С:Fresh версия БСП всегда соответствует последней стабильной сборке от 1С. Отслеживать обновления можно в центре обновлений 1С, фильтруя по разделу "Библиотека стандартных подсистем".

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

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

Ошибка Причина Решение
Не найдена подсистема "БиблиотекаСтандартныхПодсистем" Подсистема переименована или удалена в модифицированной конфигурации. Используйте программный метод с поиском по части имени (см. раздел 3).
Доступ запрещен при выполнении кода Недостаточно прав в режиме предприятия или облачные ограничения. Запустите код в конфигураторе или запросите версию у администратора.
В справочнике "Версии БСП" пусто Справочник не заполняется в ручных или устаревших конфигурациях. Проверьте версию через конфигуратор или файлы метаданных.
Версия отображается как 0.0.0.0 Ошибка чтения метаданных или поврежденная конфигурация. Выполните тестирование и исправление базы (Конфигуратор → Администрирование → Тестирование и исправление).

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

Процедура УниверсальныйПроверщикБСП()

Попытка

Версия = Метаданные.БиблиотекаСтандартныхПодсистем.Версия;

Исключение

Для Каждого Подсистема Из Метаданные.Подсистемы Цикл

Если Найти(НижнийРег(Подсистема.Имя), "бсп") > 0 Тогда

Версия = Подсистема.Версия;

Прервать;

КонецЕсли;

КонецЦикла;

КонецПопытки;

Сообщить(?(Версия = "", "БСП не найдена", "Версия БСП: " + Версия));

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

FAQ: Ответы на частые вопросы

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

В этом случае остается только анализ файлов базы (см. раздел 4). Если база файловая — скопируйте файлы 1Cv8.md или 1Cv8.cf и откройте их в текстовом редакторе. Для SQL-баз запросите у администратора дамп таблицы Config.

🔄 Можно ли откатить версию БСП после обновления?

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

  1. Восстановите базу из бэкапа.
  2. В конфигураторе отключите поддержку БСП (Конфигурация → Поддержка → Настройка поддержки).
  3. Установите нужную версию БСП вручную через Файл → Открыть (выбрав файл .cf старой версии).
📌 Где скачать актуальную версию БСП?

Официальные дистрибутивы БСП доступны:

  • На портале releases.1c.ru (раздел "Библиотека стандартных подсистем").
  • В комплекте поставки типовых конфигураций (папка Ext\Bsp).
  • Через 1С:ИТС (для пользователей с действующей подпиской).

⚠️ Скачивайте БСП только с официальных источников — использование пиратских версий может привести к ошибкам совместимости и проблемам с лицензированием.

🛠️ Почему после обновления БСП перестали работать отчеты?

Это типичная проблема при переходе с БСП 2.х на 3.х. Основные причины:

  • Изменились имена экспортных методов (например, ПолучитьДанныеДляОтчета()ПодготовитьДанныеДляОтчета()).
  • Устарели шаблоны компоновки данных (в БСП 3.х используется новая схема компоновки).
  • Отсутствуют обязательные реквизиты в регистрах сведений.

Решение: проверьте документацию по миграции с БСП 2.х на 3.х на портале ИТС.

🤖 Можно ли автоматизировать проверку версии БСП в нескольких базах?

Да, для этого напишите внешнюю обработку с циклом по списку баз. Пример кода:

Процедура ПроверитьВерсииБСПВоВсехБазах()

СписокБаз = ПолучитьСписокБаз1С(); // Используйте стандартные методы для получения списка

Для Каждого База Из СписокБаз Цикл

Попытка

Соединение = Новый СоединениеС1С(База.Путь);

Версия = Соединение.Метаданные.БиблиотекаСтандартныхПодсистем.Версия;

Лог.Добавить(База.Имя + ": " + Версия);

Исключение

Лог.Добавить(База.Имя + ": ошибка доступа");

КонецПопытки;

КонецЦикла;

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

Для запуска по расписанию используйте регламентные задания или планировщик задач Windows.