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