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