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