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