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

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

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

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

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

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

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

Что такое БСП и когда её внедрение оправдано

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

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

Подготовка: копия базы, дистрибутив и план внедрения

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

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

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

Внедрение БСП в новую конфигурацию

Самый надёжный сценарий — начать разработку от демонстрационной конфигурации. Создайте пустую информационную базу, загрузите в неё конфигурацию из файла демо-базы БСП (Конфигурация → Загрузить конфигурацию из файла), а затем удалите демонстрационные объекты, которые не нужны, либо используйте их как образец. Так вы получаете гарантированно согласованный набор объектов без конфликтов.

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

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

Внедрение БСП в существующую конфигурацию

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

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

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

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

Настройка подсистем после загрузки

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

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

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

Проверка результата и обновление БСП в будущем

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

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

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

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

Проверка конфигурации
Норма

Полная проверка завершается без ошибок

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

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

Первый запуск
Норма

Обработчики обновления завершены, служебные справочники заполнены

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

Сообщение о незавершённом обновлении при каждом запуске

Работа подсистем
Норма

Настройки видны в разделе администрирования, механизмы работают на прикладных объектах

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

Подсистема загружена, но команд и настроек нет — не заполнен переопределяемый модуль

Права пользователей
Норма

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

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

Ошибки «Нарушение прав доступа» — не назначены базовые роли БСП

FAQ: частые вопросы о внедрении БСП

Можно ли внедрить только часть подсистем БСП?

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

Что делать, если имена объектов моей конфигурации совпадают с объектами БСП?

Перед объединением переименуйте свои объекты, добавив префикс проекта (например, «Пр_»). Заменять собственные объекты библиотечными нельзя — вы потеряете прикладной код. Если совпадает роль, оставьте обе: свою и типовую, а права перенастройте вручную.

Обязательно ли использовать демонстрационную конфигурацию?

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

Почему после внедрения подсистема не появляется в интерфейсе?

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

Как часто нужно обновлять БСП?

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

Подходит ли БСП для небольшой самописной конфигурации?

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

Итог

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

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