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

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

Как работать с БСП в 1С: практическое руководство

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

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

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

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

Что такое БСП и из чего она состоит

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

Базовый минимум, без которого не работает большинство остальных подсистем, — это «Базовая функциональность». Она содержит общие модули (ОбщегоНазначения, СтроковыеФункцииКлиентСервер и другие), переопределяемые обработчики и инфраструктурные объекты. Любое внедрение начинается именно с неё.

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

Как подготовиться к внедрению

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

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

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

Порядок внедрения подсистем

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

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

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

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

Работа с типовыми подсистемами: практические сценарии

Пользователи и права доступа

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

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

Печать и дополнительные отчёты

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

Присоединённые файлы

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

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

Обновление БСП в работающей конфигурации

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

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

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

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

Как проверить результат внедрения или обновления

Обновление версии программы
Норма

Все обработчики выполнены, ошибок в журнале регистрации нет

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

Обновление зависло или завершилось с ошибками

Запуск под пользователем с ограниченными правами
Норма

Интерфейс открывается, нужные команды доступны согласно профилю

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

Ошибки доступа или отсутствующие команды

Работа ключевых сценариев
Норма

Печать, файлы, пользователи работают как в демо-базе

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

Вызовы приводят к исключениям или пустым формам

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

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

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

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

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

Когда БСП не нужна и какие есть альтернативы

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

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

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

Как выбрать подход

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

Частые вопросы о работе с БСП

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

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

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

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

Как узнать, какие объекты относятся к конкретной подсистеме?

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

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

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

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

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

Где взять документацию по внедрению конкретной подсистемы?

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

Итог

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

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