К статье
Практический материал

Разработка и Конфигурация · 13 мин

БСП в 1С: что это такое и для чего нужна библиотека стандартных подсистем

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

БСП — это библиотека стандартных подсистем, которую фирма «1С» выпускает как набор готовых функциональных блоков для платформы «1С:Предприятие 8». Вместо того чтобы каждый раз писать с нуля управление пользователями, обмен данными, печать документов или работу с файлами, разработчик берёт готовые подсистемы и включает их в свою конфигурацию. Именно на БСП построены типовые решения «1С:Бухгалтерия», «1С:ERP», «1С:Зарплата и управление персоналом» и десятки других продуктов.

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

Материал будет полезен трём категориям читателей: разработчикам, которые начинают собственную конфигурацию или дорабатывают типовую; внедренцам, которым нужно понимать, что уже есть «из коробки»; руководителям ИТ, оценивающим трудозатраты на разработку. Ниже разберём состав библиотеки, практические сценарии применения, порядок внедрения и ограничения.

Что именно входит в состав БСП

Библиотека состоит из подсистем — относительно независимых блоков, каждый из которых решает одну задачу. Разработчик не обязан брать всё: при внедрении выбираются только нужные подсистемы, остальные не переносятся в конфигурацию. Это снижает объём кода и упрощает последующие обновления.

Условно подсистемы делятся на несколько групп. Базовые: пользователи и роли, валюты, календарные графики, контактная информация, свойства объектов. Прикладные: работа с файлами, электронная почта, напоминания, заметки, варианты отчётов, рассылка отчётов. Интеграционные: обмен данными, работа с веб-сервисами, ЭДО-инфраструктура. Технологические: обновление версии программы, резервное копирование, оценка производительности, журнал регистрации.

Каждая подсистема поставляется с документацией: какие объекты добавить в конфигурацию, какие процедуры-обработчики вызвать из своего кода, какие переопределяемые модули заполнить. Это не просто «кусок кода», а полноценный каркас с точками расширения под прикладную логику.

Для чего БСП нужна на практике

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

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

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

Пишете конфигурацию с нуляБСП почти обязательна

Оцените, сколько подсистем из списка (пользователи, печать, файлы, обмены) вам понадобится — обычно их больше десяти

Дорабатываете типовуюНужно знание БСП

Проверьте версию БСП в вашей конфигурации: сведения о конфигурации, подсистема «Обновление версии ИБ»

Небольшая внешняя обработкаБСП не требуется

Внешние отчёты и обработки могут использовать API БСП, но внедрять библиотеку ради них не нужно

Ключевые подсистемы, которые используют чаще всего

Пользователи и права доступа

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

Дополнительные отчёты и обработки

Эта подсистема позволяет подключать внешние печатные формы, отчёты и обработки без изменения конфигурации. Для сопровождения это критично: конфигурация остаётся на поддержке, а доработки живут отдельно и не теряются при обновлении. Если вы дорабатываете типовое решение, освоить этот механизм стоит в первую очередь.

Обмен данными и интеграция

Подсистемы обмена данными предоставляют типовой транспорт, регистрацию изменений, разрешение коллизий и мониторинг синхронизации. На их основе работают типовые обмены между «1С:ERP», «1С:Бухгалтерией» и «1С:ЗУП». Для собственных интеграций есть инфраструктура веб-сервисов и работы с HTTP.

Обновление версии программы

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

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

Как внедрить БСП в свою конфигурацию

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

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

Порядок внедрения БСП
  1. 1
    Скачайте актуальную версию БСП, совместимую с вашей версией платформы, и разверните демонстрационную базу
  2. 2
    Изучите документацию по выбранным подсистемам в разделе «Инструкция по внедрению»
  3. 3
    Выполните сравнение-объединение своей конфигурации с поставкой БСП, отметив только нужные подсистемы
  4. 4
    Заполните переопределяемые модули: укажите прикладные справочники, документы и обработчики
  5. 5
    Запустите базу в режиме предприятия и проверьте работу каждой подсистемы: вход пользователя, печать, обновление ИБ
  6. 6
    Зафиксируйте версию внедрённой БСП, чтобы планировать последующие обновления библиотеки

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

Обновление БСП и сопровождение

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

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

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

Когда БСП не нужна или избыточна

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

Варианты работы без полного внедрения

Полное внедрение БСП

Подходит для собственных конфигураций с длинным жизненным циклом. Минус — трудоёмкое первичное внедрение и необходимость следить за обновлениями

Избирательное внедрение подсистем

Оптимально для большинства проектов: берутся 5–10 нужных подсистем. Ограничение — зависимости между подсистемами иногда тянут смежные

Без БСП, собственная разработка

Для микрозадач и сильно нестандартных требований. Минус — весь типовой функционал (права, обновление, печать) придётся писать и поддерживать самим

Ещё одно ограничение — требования к платформе. Актуальные версии БСП рассчитаны на современные релизы «1С:Предприятие 8.3». Если проект застрял на старой платформе, придётся либо обновлять её, либо использовать старую версию библиотеки без свежих исправлений.

Типичные ошибки при работе с БСП

Большинство проблем с библиотекой возникает не из-за её устройства, а из-за нарушения правил работы с ней. Ниже — ошибки, которые встречаются чаще всего.

Типичные ошибки
01
Прямая правка библиотечных модулей — каждое обновление превращается в ручное слияние, а исправления ошибок теряются
02
Внедрение всех подсистем сразу — конфигурация раздувается, обновление усложняется, половина функций не используется
03
Игнорирование переопределяемых модулей — подсистемы не видят прикладные объекты, печать и обмены работают с ошибками
04
Обновление БСП без тестирования на копии — отложенные обработчики обновления могут завершиться с ошибкой на рабочих данных
05
Использование устаревшей версии библиотеки — накапливаются известные ошибки и несовместимость с новой платформой

Отдельно стоит сказать про копипаст. Иногда вместо полноценного внедрения подсистемы из неё вырезают «нужные куски» кода в свои модули. Такой код теряет связь с библиотекой: он не обновляется, а его поведение расходится с документацией. Если подсистема нужна — внедряйте её целиком по инструкции.

Как проверить, что внедрение прошло успешно

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

Контрольные точки

Как проверить результат

Вход пользователя и права
Норма

Пользователь входит, видит только разрешённые разделы, лишние команды скрыты

Тревожный признак

Ошибки прав при открытии документов, пустой интерфейс или, наоборот, доступ ко всему

Обновление версии ИБ
Норма

В информации о программе отображается актуальная версия, отложенные обработчики завершены без ошибок

Тревожный признак

Обработчики зависли или завершились с ошибкой, в журнале регистрации исключения

Печать и дополнительные отчёты
Норма

Печатные формы формируются, внешние обработки подключаются через справочник дополнительных отчётов

Тревожный признак

Команды печати отсутствуют или выдают ошибку о недостающих процедурах

Обмен данными
Норма

Синхронизация проходит, данные появляются в базе-приёмнике, мониторинг не показывает конфликтов

Тревожный признак

Сообщения об ошибках регистрации изменений или транспорта

Если какой-то пункт не проходит, смотрите журнал регистрации: библиотека пишет туда детальные сообщения, и по ним почти всегда видно, какой переопределяемый модуль не заполнен или какая зависимость не внедрена.

FAQ: частые вопросы о БСП

БСП — это отдельная программа, которую нужно покупать?

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

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

Да, это один из основных сценариев: многие тиражные отраслевые решения построены на БСП. Условия использования и тиражирования определяются лицензионным соглашением и правилами партнёрских программ «1С», их стоит изучить до начала коммерческой разработки.

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

В типовых конфигурациях версия библиотеки отображается в сведениях о программе (обычно доступны через раздел администрирования или информацию о версии). В конфигураторе версию можно посмотреть в свойствах конфигурации, если поставщик её указал, либо по номеру в модуле подсистемы обновления.

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

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

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

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

Что делать, если нужной функции нет в БСП?

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

Итог

Что важно запомнить

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