Разработка и Конфигурация · 13 мин
БСП в 1С: что это такое и для чего нужна библиотека стандартных подсистем
БСП 1С — библиотека стандартных подсистем для разработки конфигураций. Разбираем, для чего нужна, что входит в состав, как внедрить и когда она не нужна.
БСП — это библиотека стандартных подсистем, которую фирма «1С» выпускает как набор готовых функциональных блоков для платформы «1С:Предприятие 8». Вместо того чтобы каждый раз писать с нуля управление пользователями, обмен данными, печать документов или работу с файлами, разработчик берёт готовые подсистемы и включает их в свою конфигурацию. Именно на БСП построены типовые решения «1С:Бухгалтерия», «1С:ERP», «1С:Зарплата и управление персоналом» и десятки других продуктов.
Главная идея библиотеки — единообразие. Если все конфигурации используют одинаковый механизм ролей, одинаковый интерфейс настройки обмена и одинаковые процедуры обновления, то пользователю проще осваивать новые программы, а разработчику — сопровождать чужой код. БСП фактически задаёт стандарт разработки в экосистеме 1С.
Материал будет полезен трём категориям читателей: разработчикам, которые начинают собственную конфигурацию или дорабатывают типовую; внедренцам, которым нужно понимать, что уже есть «из коробки»; руководителям ИТ, оценивающим трудозатраты на разработку. Ниже разберём состав библиотеки, практические сценарии применения, порядок внедрения и ограничения.
Что именно входит в состав БСП
Библиотека состоит из подсистем — относительно независимых блоков, каждый из которых решает одну задачу. Разработчик не обязан брать всё: при внедрении выбираются только нужные подсистемы, остальные не переносятся в конфигурацию. Это снижает объём кода и упрощает последующие обновления.
Условно подсистемы делятся на несколько групп. Базовые: пользователи и роли, валюты, календарные графики, контактная информация, свойства объектов. Прикладные: работа с файлами, электронная почта, напоминания, заметки, варианты отчётов, рассылка отчётов. Интеграционные: обмен данными, работа с веб-сервисами, ЭДО-инфраструктура. Технологические: обновление версии программы, резервное копирование, оценка производительности, журнал регистрации.
Каждая подсистема поставляется с документацией: какие объекты добавить в конфигурацию, какие процедуры-обработчики вызвать из своего кода, какие переопределяемые модули заполнить. Это не просто «кусок кода», а полноценный каркас с точками расширения под прикладную логику.
Для чего БСП нужна на практике
Первый и главный сценарий — разработка собственной конфигурации. Если компания пишет отраслевое решение или внутреннюю учётную систему на платформе 1С, без БСП придётся самостоятельно реализовывать аутентификацию, разграничение прав, печатные формы, обновление ИБ и множество других механизмов. Это месяцы работы и долгая отладка. С библиотекой базовый каркас получается за дни.
Второй сценарий — доработка типовой конфигурации. Знание устройства БСП помогает понять, где в «1С:Бухгалтерии» или «1С:ERP» находится нужный механизм и как его расширить, не ломая обновление. Например, добавить свою печатную форму правильнее через подсистему «Дополнительные отчеты и обработки», а не прямой правкой модуля документа.
Третий сценарий — обучение и стандартизация. Команды, которые пишут «по БСП», получают предсказуемый код: новый разработчик быстрее вникает в проект, потому что структура модулей и приёмы работы ему уже знакомы по типовым решениям.
Оцените, сколько подсистем из списка (пользователи, печать, файлы, обмены) вам понадобится — обычно их больше десяти
Проверьте версию БСП в вашей конфигурации: сведения о конфигурации, подсистема «Обновление версии ИБ»
Внешние отчёты и обработки могут использовать API БСП, но внедрять библиотеку ради них не нужно
Ключевые подсистемы, которые используют чаще всего
Пользователи и права доступа
Подсистема «Пользователи» даёт справочник пользователей, настройку входа, блокировку сеансов и интеграцию с ролевой моделью. Вместе с механизмом групп доступа она позволяет настроить права на уровне записей — например, менеджер видит только своих клиентов. Реализация такого механизма вручную — одна из самых трудоёмких задач в учётных системах.
Дополнительные отчёты и обработки
Эта подсистема позволяет подключать внешние печатные формы, отчёты и обработки без изменения конфигурации. Для сопровождения это критично: конфигурация остаётся на поддержке, а доработки живут отдельно и не теряются при обновлении. Если вы дорабатываете типовое решение, освоить этот механизм стоит в первую очередь.
Обмен данными и интеграция
Подсистемы обмена данными предоставляют типовой транспорт, регистрацию изменений, разрешение коллизий и мониторинг синхронизации. На их основе работают типовые обмены между «1С:ERP», «1С:Бухгалтерией» и «1С:ЗУП». Для собственных интеграций есть инфраструктура веб-сервисов и работы с HTTP.
Обновление версии программы
Подсистема обновления управляет отложенными обработчиками: при переходе на новую версию данные пересчитываются и преобразуются в фоне, не блокируя работу пользователей надолго. Любая конфигурация, которая будет жить дольше одного релиза, нуждается в таком механизме.
При выборе подсистем для внедрения начинайте с минимального обязательного набора: «Базовая функциональность», «Пользователи», «Обновление версии ИБ». Остальное добавляйте по мере необходимости — удалить лишнюю подсистему позже сложнее, чем добавить новую.
Как внедрить БСП в свою конфигурацию
Библиотека распространяется в виде файла поставки через портал 1С:Обновление программ и входит в состав средств разработки. Для внедрения понадобится конфигуратор и демонстрационная конфигурация БСП, в которой можно посмотреть работу каждой подсистемы до переноса в свой проект.
Процесс внедрения документирован и сводится к сравнению-объединению с файлом поставки, где вручную отмечаются только нужные подсистемы и связанные с ними объекты. Затем заполняются переопределяемые модули — они связывают библиотечный код с прикладными объектами вашей конфигурации.
- 1Скачайте актуальную версию БСП, совместимую с вашей версией платформы, и разверните демонстрационную базу
- 2Изучите документацию по выбранным подсистемам в разделе «Инструкция по внедрению»
- 3Выполните сравнение-объединение своей конфигурации с поставкой БСП, отметив только нужные подсистемы
- 4Заполните переопределяемые модули: укажите прикладные справочники, документы и обработчики
- 5Запустите базу в режиме предприятия и проверьте работу каждой подсистемы: вход пользователя, печать, обновление ИБ
- 6Зафиксируйте версию внедрённой БСП, чтобы планировать последующие обновления библиотеки
Типичная ошибка новичков — пытаться внедрить всю библиотеку целиком. Полный состав тянет за собой сотни объектов, усложняет обновление и замедляет конфигурацию. Внедряйте ровно то, что используется.
Обновление БСП и сопровождение
Библиотека регулярно обновляется: исправляются ошибки, добавляются подсистемы, обеспечивается совместимость с новыми версиями платформы. Для конфигураций на БСП это плюс — значительная часть кода обновляется централизованно, а не силами вашей команды.
Однако обновление требует дисциплины. Правило простое: код БСП нельзя править напрямую. Все изменения вносятся через переопределяемые модули, расширения конфигурации или собственные обёртки. Прямая правка библиотечного модуля гарантированно превратит каждое обновление в ручное слияние с конфликтами.
Перед обновлением проверяйте совместимость версий: у каждого релиза БСП указаны требования к версии платформы. Обновление платформы и библиотеки лучше планировать совместно, чтобы не тестировать одну и ту же базу дважды.
Когда БСП не нужна или избыточна
Библиотека — не универсальное решение. Есть ситуации, где её внедрение не оправдано. Простая внешняя обработка или отчёт для типовой конфигурации не требует БСП: они подключаются через готовый механизм дополнительных отчётов и обработок самой типовой. Маленькая учётная задача на одну таблицу и пару документов тоже может обойтись без библиотеки — затраты на внедрение превысят выгоду.
Варианты работы без полного внедрения
Подходит для собственных конфигураций с длинным жизненным циклом. Минус — трудоёмкое первичное внедрение и необходимость следить за обновлениями
Оптимально для большинства проектов: берутся 5–10 нужных подсистем. Ограничение — зависимости между подсистемами иногда тянут смежные
Для микрозадач и сильно нестандартных требований. Минус — весь типовой функционал (права, обновление, печать) придётся писать и поддерживать самим
Ещё одно ограничение — требования к платформе. Актуальные версии БСП рассчитаны на современные релизы «1С:Предприятие 8.3». Если проект застрял на старой платформе, придётся либо обновлять её, либо использовать старую версию библиотеки без свежих исправлений.
Типичные ошибки при работе с БСП
Большинство проблем с библиотекой возникает не из-за её устройства, а из-за нарушения правил работы с ней. Ниже — ошибки, которые встречаются чаще всего.
Отдельно стоит сказать про копипаст. Иногда вместо полноценного внедрения подсистемы из неё вырезают «нужные куски» кода в свои модули. Такой код теряет связь с библиотекой: он не обновляется, а его поведение расходится с документацией. Если подсистема нужна — внедряйте её целиком по инструкции.
Как проверить, что внедрение прошло успешно
После внедрения или обновления БСП нужен контрольный прогон. Проверяются не абстрактные «работает/не работает», а конкретные сценарии каждой подсистемы.
Как проверить результат
Пользователь входит, видит только разрешённые разделы, лишние команды скрыты
Ошибки прав при открытии документов, пустой интерфейс или, наоборот, доступ ко всему
В информации о программе отображается актуальная версия, отложенные обработчики завершены без ошибок
Обработчики зависли или завершились с ошибкой, в журнале регистрации исключения
Печатные формы формируются, внешние обработки подключаются через справочник дополнительных отчётов
Команды печати отсутствуют или выдают ошибку о недостающих процедурах
Синхронизация проходит, данные появляются в базе-приёмнике, мониторинг не показывает конфликтов
Сообщения об ошибках регистрации изменений или транспорта
Если какой-то пункт не проходит, смотрите журнал регистрации: библиотека пишет туда детальные сообщения, и по ним почти всегда видно, какой переопределяемый модуль не заполнен или какая зависимость не внедрена.
FAQ: частые вопросы о БСП
БСП — это отдельная программа, которую нужно покупать?
Нет. БСП — это не прикладное решение, а библиотека для разработчиков. Она доступна зарегистрированным пользователям платформы через портал обновлений и входит в состав типовых конфигураций. Самостоятельно, без конфигурации, она не работает.
Можно ли использовать БСП в конфигурации, которую планируется продавать?
Да, это один из основных сценариев: многие тиражные отраслевые решения построены на БСП. Условия использования и тиражирования определяются лицензионным соглашением и правилами партнёрских программ «1С», их стоит изучить до начала коммерческой разработки.
Как узнать, какая версия БСП используется в моей конфигурации?
В типовых конфигурациях версия библиотеки отображается в сведениях о программе (обычно доступны через раздел администрирования или информацию о версии). В конфигураторе версию можно посмотреть в свойствах конфигурации, если поставщик её указал, либо по номеру в модуле подсистемы обновления.
Обязательно ли знать БСП разработчику, который только дорабатывает типовые конфигурации?
Строго обязательного требования нет, но на практике без понимания БСП сложно делать качественные доработки: печатные формы, дополнительные отчёты, обмены и права в типовых решениях построены именно на библиотеке. Знание её устройства заметно сокращает время поиска нужного механизма.
Совместима ли БСП с расширениями конфигурации?
Да, и это рекомендуемый подход для доработок. Расширения позволяют менять поведение библиотечных и прикладных механизмов без снятия конфигурации с поддержки. Часть переопределяемых точек БСП спроектирована с учётом работы через расширения.
Что делать, если нужной функции нет в БСП?
Проверьте сначала демонстрационную конфигурацию и документацию — функция может существовать, но называться иначе. Если её действительно нет, разработайте собственную подсистему в стиле БСП: с переопределяемыми модулями и отделением библиотечного кода от прикладного. Так её будет проще сопровождать и при необходимости заменить типовым решением позже.
Что важно запомнить
БСП — официальная библиотека готовых подсистем 1С, которая избавляет от разработки типового функционала с нуля. Внедряйте только нужные подсистемы, не правьте библиотечный код напрямую, обновляйтесь через тестовую копию и проверяйте результат по конкретным сценариям: вход, печать, обновление ИБ, обмены.