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

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

1С Библиотека стандартных подсистем (БСП): что это и как с ней работать

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

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

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

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

Из чего состоит БСП и какие задачи она закрывает

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

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

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

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

Как устроена библиотека изнутри

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

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

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

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

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

Общий порядок действий выглядит так:

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

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

Внедрение отдельных подсистем: практические сценарии

Подключение печатных форм

Чтобы объект (например, документ) получил команду печати, его тип включают в определяемый тип «ОбъектСПечатью» (в новых версиях — аналогичный механизм подсистемы печати), добавляют в состав команды печати в переопределяемом модуле и описывают макет. После этого в форме документа автоматически появляется стандартная кнопка печати с выпадающим списком форм.

Прикрепление файлов к объектам

Подсистема «Работа с файлами» требует указания владельца файлов через определяемый тип и добавления на форму объекта стандартной группы команд. Хранение настраивается: либо в информационной базе (проще, но растёт размер базы), либо в томах на диске (требуется настройка прав на каталоги у пользователя, под которым работает сервер 1С).

Разграничение прав доступа

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

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

Как обновлять БСП в прикладном решении

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

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

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

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

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

Сравнение вариантов

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

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

Частичное внедрение (несколько подсистем)

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

Доработка типовой конфигурации

Если задача решается на базе типовой (Бухгалтерия, УТ), БСП уже встроена — достаточно расширений и переопределяемых механизмов. Ограничение: рамки типовой логики.

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

Допустимо для узких утилит и внутренних инструментов. Ограничение: всё сопровождение и развитие типовых механизмов ложится на вашу команду.

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

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

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

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

Первый запуск после внедрения
Норма

Отложенные обработчики выполнены, пользователь-администратор создан, журнал регистрации без критических ошибок

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

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

Права доступа
Норма

Пользователь с ограниченным профилем видит только разрешённые объекты

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

Пользователь не видит свои документы или, наоборот, видит чужие

Печать
Норма

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

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

Кнопка печати отсутствует или выдаёт ошибку о ненайденном макете

Варианты отчётов
Норма

Пользовательские настройки отчётов сохраняются и открываются повторно

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

Настройки теряются или отчёт не попадает в панель отчётов

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

Ответы на частые вопросы

Где скачать БСП и платная ли она?

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

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

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

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

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

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

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

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

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

Подходит ли БСП для мобильных приложений на платформе 1С?

БСП ориентирована на стационарные прикладные решения. Для мобильной платформы существуют отдельные подходы и библиотеки; переносить подсистемы БСП в мобильное приложение напрямую не следует.

Итог

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

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