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

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

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

Библиотека стандартных подсистем (БСП) 1С — что это, состав, назначение, внедрение в конфигурацию, обновление и типичные ошибки разработчиков.

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

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

Библиотека распространяется бесплатно через портал 1С:ИТС и поставляется в виде файла выгрузки конфигурации. Для работы с ней требуются навыки конфигурирования: внедрение подсистем выполняется через сравнение и объединение конфигураций с последующей настройкой переопределяемых модулей.

Из чего состоит библиотека и какие задачи закрывает

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

К наиболее востребованным подсистемам относятся:

  • «Пользователи» — учёт пользователей и внешних пользователей, настройка прав, разграничение доступа на уровне записей (RLS);
  • «Печать» — механизм подключения внешних печатных форм и формирования печатных документов;
  • «Работа с файлами» — хранение присоединенных файлов в базе или в томах на диске;
  • «Обмен данными» — универсальные механизмы синхронизации между конфигурациями;
  • «Работа с почтовыми сообщениями» — отправка и получение электронной почты из программы;
  • «Дополнительные отчёты и обработки» — подключение внешних отчётов без изменения конфигурации;
  • «Обновление версии программы» — выполнение обработчиков обновления при переходе на новый релиз;
  • «Варианты отчётов» — хранение и быстрый доступ к настройкам отчётов на СКД.

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

Где взять БСП и как подготовиться к внедрению

Дистрибутив библиотеки доступен на портале 1С:ИТС в разделе технологической информации, а также на портале releases.1c.ru для подписчиков. Поставка включает файл выгрузки конфигурации (.cf), демонстрационную базу и подробную документацию по внедрению каждой подсистемы — её стоит изучить до начала работ, а не после первых ошибок.

Перед внедрением нужно определить три вещи: какая редакция БСП совместима с вашей версией платформы, какие подсистемы реально нужны проекту и в каком порядке их переносить. У подсистем есть зависимости: например, «Работа с файлами» требует базовой подсистемы «Пользователи» и ряда общих модулей ядра. Документация к каждой подсистеме содержит список обязательных зависимостей.

Как внедрить подсистемы в конфигурацию

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

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

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

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

Как обновлять библиотеку в разрабатываемой конфигурации

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

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

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

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

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

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

Когда БСП нужна, а когда можно обойтись без неё

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

Маршрут решения

Как выбрать действие

Разрабатывается полноценная учётная система с пользователями, правами, печатью и отчётамиВнедряйте БСП с самого старта проекта — это стандарт индустрии
Нужна только отправка почты или хранение файлов в существующей конфигурацииВнедрите точечно одну-две подсистемы с их зависимостями
Пишется разовая обработка или простой отчётОбойдитесь без БСП — издержки внедрения превысят выгоду
Конфигурация уже построена на старой редакции БСППланируйте поэтапное обновление библиотеки с тестированием на копии

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

Начинайте знакомство с БСП с демонстрационной базы из комплекта поставки: в ней все подсистемы уже внедрены и настроены, поэтому удобно смотреть, как должна работать подсистема в готовом виде, прежде чем переносить её в свой проект.
ПЗ
Практическое замечание

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

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

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

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

Обновление конфигурации базы данных
Норма

Завершается без ошибок, обработчики обновления отработали

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

Ошибки реструктуризации или незавершённые обработчики

Работа под обычным пользователем
Норма

Подсистема доступна, нет ошибок прав доступа

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

Сообщения о нарушении прав или отсутствии объектов

Журнал регистрации
Норма

Нет ошибок при выполнении типовых операций

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

Ошибки вызова серверных процедур и фоновых заданий

Переопределяемые модули
Норма

Заполнены только нужные процедуры, код библиотеки не изменён

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

Правки внесены в стандартные модули БСП

Итог

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

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

Частые вопросы

БСП — это платная программа?

Нет, библиотека распространяется бесплатно. Скачать её можно с портала 1С:ИТС или портала releases.1c.ru — для доступа к дистрибутивам обычно требуется действующий договор сопровождения 1С:ИТС.

Можно ли пользоваться БСП как готовой учётной программой?

Нет. Библиотека — это инструмент разработчика, а не прикладное решение. В ней нет документов учёта, проводок и бизнес-процессов: только инфраструктурные механизмы вроде пользователей, печати и обмена данными.

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

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

Обязательно ли внедрять все подсистемы сразу?

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

Что будет, если изменить код БСП напрямую?

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

Подходит ли БСП для начинающего разработчика 1С?

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