Обновление Библиотеки стандартных подсистем (БСП) в 1С:Предприятие — рутинная, но критически важная процедура для поддержания стабильности и безопасности конфигураций. Каждый релиз БСП приносит исправления ошибок, новые механизмы интеграции и оптимизацию кода, но неправильное обновление может привести к потере работоспособности типовой конфигурации или доработок. В этой статье разберём все актуальные способы обновления БСП (вручную, через конфигуратор, с использованием EDT и Gitsync), типичные ошибки и их решения, а также дадим чек-лист для безопасного апгрейда.
Особенность БСП в том, что она используется практически во всех типовых конфигурациях (УТ 11, ERP 2, ЗУП 3 и др.), но процесс её обновления отличается от обновления самих конфигураций. Например, в БСП 3.1 добавлена поддержка HTTP-сервисов и JSON, а в БСП 2.4 — механизмы работы с ФСС и ЭДО. Если вы пропустили несколько релизов, обновление потребует промежуточных шагов. Далее — подробности для администраторов, программистов и пользователей с правами полного доступа.
1. Что такое БСП и почему её нужно обновлять
Библиотека стандартных подсистем (БСП) — это набор универсальных механизмов, которые используются в типовых конфигурациях 1С для решения повторяющихся задач. Например:
- 📋 Работа с печатными формами (
ПечатнаяФормаКлиентСервер) - 🔄 Обмен данными (
УниверсальныйОбменДанными) - 🔒 Управление правами доступа (
Роли) - 📊 Отчёты и обработки (
КомпоновкаДанных)
Обновление БСП необходимо по трём ключевым причинам:
- Безопасность: в новых релизах закрываются уязвимости, например, связанные с
XDTOилиHTTP-запросами. - Совместимость: без актуальной БСП могут перестать работать интеграции с Диадок, Контур.Диадок или 1С:Отчётность.
- Новые возможности: например, в БСП 3.1.10 добавлена поддержка
WebSocketдля онлайн-обменов.
Если игнорировать обновления, вы рискуете столкнуться с:
- ❌ Ошибками при печати документов (
Ошибка при вызове метода контекста (Печать)) - ❌ Проблемами с обменом данными между базами (
Не найден обработчик события ПриЗаписи) - ❌ Зависанием интерфейса при работе с большими отчётами.
2. Подготовка к обновлению: чек-лист и резервное копирование
Прежде чем приступать к обновлению, обязательно выполните следующие шаги:
Создать резервную копию информационной базы (IB)
Проверить текущую версию БСП в конфигураторе (Справка → О программе)
Закрыть все сеансы пользователей
Отключить регламентные задания
Скачать актуальный дистрибутив БСП с сайта 1С:ИТС
-->
Особое внимание уделите резервному копированию. Используйте один из способов:
| Способ | Плюсы | Минусы |
|---|---|---|
1С:Технология автоматизированного резервирования |
Автоматизация, поддержка инкрементальных копий | Требует лицензию, настройку |
Ручной экспорт через Конфигуратор → Администрирование → Выгрузить ИБ |
Простота, не требует доп. ПО | Долго при больших базах |
Скрипт на PowerShell или Bash |
Гибкость, интеграция с облачными хранилищами | Нужны навыки программирования |
Если вы работаете с распределённой информационной базой (РИБ), обновление БСП нужно проводить сначала на центральном узле, а затем на периферийных. В противном случае возможны конфликты версий при репликации.
⚠️ Внимание: Если в вашей конфигурации есть доработки, затрагивающие объекты БСП (например, модифицированные печатные формы), после обновления они могут перестать работать. Проверьте совместимость доработок с новой версией БСП через СравнениеКонфигураций.epf.
3. Способы обновления БСП: пошаговые инструкции
Существует 4 основных способа обновления БСП. Выбор зависит от вашей инфраструктуры и навыков:
3.1. Обновление через Конфигуратор (ручной метод)
Подходит для небольших баз или одиночных конфигураций. Порядок действий:
- Откройте конфигуратор в режиме
Конфигуратор(не1С:Предприятие!). - Перейдите в
Файл → Открытьи выберите вашу информационную базу. - В меню выберите
Конфигурация → Поддержка → Настройка поддержки. - Убедитесь, что включён режим
Использовать библиотеку стандартных подсистем. - Нажмите
Обновить конфигурацию из файлаи выберите скачанный дистрибутив БСП (файл.cfили.cfu). - После обновления выполните
Конфигурация → Обновить конфигурацию базы данных.
Что делать, если кнопка "Обновить конфигурацию" неактивна?
Это означает, что в вашей конфигурации отключена поддержка или есть незавершённые изменения. Проверьте:
1. Включён ли флажок Поддержка включена в Конфигурация → Поддержка → Настройка поддержки.
2. Нет ли незафиксированных изменений в объектах (проверьте через Конфигурация → Сравнить, объединить с конфигурацией из файла).
3. Соответствует ли версия платформы 1С:Предприятие требованиям новой БСП (например, БСП 3.1 требует платформу не ниже 8.3.18).
3.2. Обновление через 1С:EDT (для разработчиков)
1С:Enterprise Development Tools (EDT) — это среда разработки для 1С, которая позволяет обновлять БСП через Git или встроенные механизмы. Преимущество метода — возможность отката изменений и командная работа.
Инструкция:
- Откройте проект в EDT и подключитесь к репозиторию с БСП (например,
https://github.com/1C-Company/v8-standard-libs). - Обновите ветку с БСП до актуальной версии через
Team → Pull. - Разрешите конфликты (если есть) вручную или с помощью
Merge Tool. - Соберите конфигурацию (
Project → Build) и загрузите её в базу.
Для работы с EDT требуется:
- 🖥️ Установленная Java 11+ и Eclipse (основа для EDT)
- 🔑 Лицензия на 1С:EDT (бесплатная версия имеет ограничения)
- 📚 Знание
GitиXML-структуры конфигураций 1С
3.3. Автоматическое обновление через 1С:ГитСинхронизатор
Если вы используете Gitsync для контроля версий, обновление БСП можно автоматизировать:
git pull origin master # Обновляем локальный репозиторий
1c-gitsync update # Синхронизируем изменения с базой
Преимущества метода:
- ✅ Возможность отката (
git reset --hard) - ✅ Контроль изменений через
commit - ✅ Интеграция с CI/CD (например, Jenkins)
⚠️ Внимание: При использовании Gitsync убедитесь, что в файле.gitsync-configпрописаны правильные пути к объектам БСП. Иначе обновление может затереть ваши доработки в подсистемахОбщиеМодулиилиОтчёты.
3.4. Обновление через 1С:Fresh (для облачных баз)
Если ваша база размещена в 1С:Fresh, обновление БСП происходит автоматически в рамках еженедельных апдейтов платформы. Однако вы можете:
- 🔄 Запросить принудительное обновление через
Личный кабинет → Управление базами → Обновления. - 📅 Назначить время обновления (например, в нерабочие часы).
- 📌 Отложить обновление на срок до 30 дней (если есть критические доработки).
Перед обновлением в 1С:Fresh проверьте журнал изменений БСП на сайте 1С:ИТС. Некоторые релизы требуют предварительной настройки (например, обновление сертификатов для ЭДО).
4. Типичные ошибки при обновлении БСП и их решения
Даже опытные администраторы сталкиваются с проблемами при обновлении БСП. Рассмотрим 5 самых распространённых ошибок и способы их исправления:
| Ошибка | Причина | Решение |
|---|---|---|
Ошибка при загрузке конфигурации: Не найден объект метаданных (БСП.ПодсистемаОбмена) |
Устаревшая версия платформы 1С или конфликт с доработками | Обновите платформу до актуальной версии или удалите конфликтующие объекты через СравнениеКонфигураций.epf |
Ошибка блокировки данных при обновлении |
В базе есть активные сеансы пользователей или незавершённые транзакции | Закройте все сеансы через Администрирование → Активные пользователи или перезапустите сервер 1С |
Не совпадают версии БСП в основной и дополнительных конфигурациях |
Обновление проведено только в одной из баз РИБ | Обновите БСП на всех узлах РИБ вручную или через План обмена |
Ошибка компиляции модуля: Неопределённый идентификатор (БСП.ОбщийМодуль.РаботаСФайлами) |
В доработках используются устаревшие методы БСП | Замените вызовы на актуальные (см. документацию к новой версии БСП) |
Если после обновления БСП перестали работать печатные формы или отчёты, проверьте:
- Совместимость макетов: в новых версиях БСП могут измениться имена полей (например,
Документ.Номер→Документ.НомерСтрока). - Настройки прав доступа: в БСП 3.1+ изменён механизм разграничения прав на печатные формы (
ПраваНаПечатныеФормы). - Версию SNAP-форм: если используете
БСП.ПечатнаяФормаСнап, обновите шаблоны вМакеты.
Перед обновлением БСП всегда проверяйте список критических изменений в релизе на сайте 1С:ИТС. Например, в БСП 3.1.8 удалён модуль РаботаСКартинками, что может сломать старые доработки.
5. Обновление БСП в модифицированных конфигурациях
Если ваша конфигурация содержит доработки, затрагивающие объекты БСП (например, изменённые ОбщиеМодули или Подсистемы), стандартное обновление может привести к потере функциональности. В этом случае используйте пошаговый алгоритм:
- Сравните конфигурации:
Используйте обработку
СравнениеКонфигураций.epf(доступна на ИТС) для выявления конфликтов. Обратите внимание на объекты:- 📄
БСП.ОбщийМодуль.УниверсальныеМеханизмы - 📄
БСП.Подсистема.ОбменДанными - 📄
БСП.Отчёт.УниверсальныйОтчёт
- 📄
- Создайте резервную ветку:
Если используете Git, создайте ветку
backup-bsp-<текущая_дата>и сохраните в неё текущую конфигурацию. - Обновите БСП в тестовой базе:
Перед обновлением рабочей базы протестируйте процесс на копии. Используйте команду:
1cv8.exe DESIGNER /IBConnectionString "File=C:\Temp\TestBase" /UpdateDBCfg -force - Примените доработки заново:
После обновления вручную перенесите изменения из резервной ветки, используя
Сравнение и объединениев конфигураторе. - 🔍 Журналу регистрации: фильтруйте записи по коду
БСПилиОбновлениеКонфигурации. - 📊 Производительности: новые версии БСП могут содержать оптимизации (например, в БСП 3.1.9 ускорена работа с
ДеревоЗначений). - 🔄 Интеграциям: проверьте работу с 1С:Отчётность, Диадок, Контур.ЭДО.
Для сложных доработок рекомендуется использовать механизм расширений (Extension), который позволяет отделить пользовательский код от типовой БСП. Пример структуры расширения:
{
"Extensions": {
"МоиДоработки": {
"Version": "1.0",
"Dependencies": {
"БСП": "3.1.10"
},
"Objects": {
"ОбщийМодуль.МоиФункции": {
"Source": "Модули/МоиФункции.bsl"
}
}
}
}
}
⚠️ Внимание: Если в вашей конфигурации переопределены методы БСП (например, БСП.ОбщийМодуль.ОбменДанными.ПодготовитьДанныеДляОбмена()), после обновления они будут утеряны. Восстановите их из резервной копии или перенесите в расширение.
6. Проверка результатов обновления
После обновления БСП обязательно выполните проверку работоспособности системы. Используйте следующий алгоритм:
Запустить тестовое предприятие (Отладка → Начать отладку)
Проверить печать ключевых документов (счёт, накладная, акт)
Выполнить тестовый обмен данными (если используется)
Проверить права доступа пользователей
Запустить регламентные задания (например, ОбновлениеКурсовВалют)
-->
Особое внимание уделите:
Если обнаружены ошибки, используйте откат:
- Восстановите базу из резервной копии.
- Или откатите изменения через
Git(если использовали Gitsync):git reset --hard HEAD~11c-gitsync update --force
Для анализа проблем используйте:
- 🛠️ Тестирование и исправление (
Конфигуратор → Администрирование → Тестирование и исправление) - 📋 Журнал технологический (включается в параметрах запуска
/LogFile "C:\Temp\1CLog.txt") - 🔎 Отладчик для поиска ошибок в модулях БСП (
Отладка → Начать отладку)
7. Автоматизация обновлений: скрипты и инструменты
Для крупных инфраструктур (например, с десятками баз 1С) ручное обновление БСП неэффективно. Рассмотрим 3 способа автоматизации:
7.1. Скрипты на PowerShell или Bash
Пример скрипта для обновления БСП на сервере 1С:
$BasePath = "C:\Bases\MainBase"
$BSPUpdatePath = "C:\Updates\BSP_3.1.10.cfu"
Запуск конфигуратора в режиме обновления
Start-Process -FilePath "C:\Program Files\1cv8\8.3.20.1500\bin\1cv8.exe" `
-ArgumentList "DESIGNER /IBConnectionString `"`$BasePath`" /UpdateCfFromFile `"`$BSPUpdatePath`" /Out `"`C:\Logs\BSP_Update.log`"" `
-Wait -NoNewWindow
7.2. Использование 1С:Центр управления
1С:ЦУ позволяет централизованно обновлять БСП на нескольких серверах. Алгоритм:
- Добавьте серверы 1С в
Центр управления → Серверы 1С:Предприятия. - Загрузите дистрибутив БСП в хранилище обновлений.
- Создайте задачу обновления с параметрами:
Тип: Обновление конфигурацииИсточник: Файл (указать путь к .cfu)
Режим: Принудительное обновление
- Назначьте задачу на выполнение в нерабочее время.
7.3. CI/CD для 1С (продвинутый уровень)
Для командной разработки можно настроить автоматическое обновление БСП через GitLab CI или Jenkins. Пример конфигурации для .gitlab-ci.yml:
stages:
- update_bsp
update_bsp:
stage: update_bsp
script:
- git pull origin bsp-updates
- 1c-gitsync update --config .gitsync-config --log-level debug
- 1cv8 DESIGNER /IBConnectionString "File=$BASE_PATH" /UpdateDBCfg -force
only:
- schedules
Преимущества CI/CD:
- ✅ Автоматическое тестирование после обновления
- ✅ Уведомления о результатах (через Slack или Telegram)
- ✅ Возможность отката при ошибках
⚠️ Внимание: При автоматизации обновлений настройте мониторинг критичных процессов. Например, после обновления БСП проверяйте доступностьHTTP-сервисовили работуфоновых заданийчерез Zabbix или Prometheus.
8. Частые вопросы по обновлению БСП
Можно ли обновлять БСП без обновления платформы 1С?
Нет, каждая версия БСП требует определённой версии платформы. Например, БСП 3.1 работает только на платформе 8.3.18+. Проверьте требования в документации к релизу.
Как узнать текущую версию БСП в базе?
Откройте конфигуратор, перейдите в Конфигурация → Открыть конфигурацию и найдите объект БиблиотекаСтандартныхПодсистем. Версия указана в свойстве Версия. Также можно выполнить запрос:
ВЫБРАТЬ
БиблиотекаСтандартныхПодсистем.Версия КАК ВерсияБСП
ИЗ
Константа.БиблиотекаСтандартныхПодсистем КАК БиблиотекаСтандартныхПодсистем
Что делать, если после обновления БСП перестали работать отчёты?
Скорее всего, в новых версиях БСП изменились:
- Имена полей в запросах (например,
Документ.Дата→Документ.ДатаВремя) - Макеты печатных форм (обновите файлы
.mxlв каталогеMXL) - Права доступа (проверьте роль
БСППолныеПрава)
Используйте обработку АнализИспользованияОбъектов.epf (с ИТС) для поиска устаревших вызовов.
Как обновить БСП в базе с отключённой поддержкой?
Если поддержка отключена, сначала включите её:
- Откройте конфигуратор и перейдите в
Конфигурация → Поддержка → Настройка поддержки. - Установите флажок
Поддержка включена. - Выберите вариант
Использовать библиотеку стандартных подсистем. - Сохраните конфигурацию и обновите БСП стандартным способом.
Если после включения поддержки возникают ошибки, используйте ЗагрузкаКонфигурацииИзФайла.epf для принудительного обновления.
Можно ли обновить БСП только в одной базе РИБ?
Нет, это приведёт к конфликтам репликации. Обновление БСП в распределённой информационной базе (РИБ) должно выполняться централизованно:
- Обновите БСП на центральном узле.
- Дождитесь завершения репликации (
Планы обмена → Состояние обмена). - Обновите БСП на периферийных узлах.
Исключение: если узлы работают в режиме Автономно, их можно обновлять отдельно.