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