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

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

1С библиотека: как работать с библиотеками стандартных подсистем

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

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

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

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

Что такое библиотека в 1С и какие виды бывают

Термин «библиотека» в экосистеме 1С неформальный и покрывает несколько разных сущностей. Прежде чем что-то подключать, определите, о чём именно идёт речь в вашей задаче.

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

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

Как подключить БСП к своей конфигурации

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

Перед объединением обязательно сделайте выгрузку информационной базы (.dt) или хотя бы конфигурации (.cf). Объединение затрагивает сотни объектов, и откатить его без копии невозможно.

Порядок подключения БСП
  1. 1
    Сделайте резервную копию: выгрузите базу в .dt через конфигуратор
  2. 2
    Откройте Конфигурация → Сравнить, объединить с конфигурацией из файла и выберите .cf библиотеки
  3. 3
    Отметьте нужные подсистемы и объекты; обязательно включите базовые подсистемы, от которых зависят остальные
  4. 4
    Выполните объединение, затем обновите конфигурацию базы данных (F7)
  5. 5
    Назначьте права: добавьте роли библиотеки нужным профилям пользователей
  6. 6
    Запустите базу в режиме предприятия и проверьте первоначальное заполнение подсистем

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

Как вызывать функции библиотеки из своего кода

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

Типовой вызов выглядит так:

// Получить значение реквизита без чтения всего объекта

Артикул = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(НоменклатураСсылка, "Артикул");

// Сообщить пользователю с привязкой к полю формы

ОбщегоНазначения.СообщитьПользователю("Не заполнен склад", , "Склад", "Объект");

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

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

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

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

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

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

Версия библиотеки в базе
Норма

Совпадает с версией поставки

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

Старая версия — обновление не применилось

Журнал регистрации
Норма

Обработчики обновления завершены без ошибок

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

Есть записи об ошибках обновления данных

Открытие типовых форм
Норма

Формы открываются, подсистемы доступны

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

Ошибки компиляции, пустые разделы

Свои доработки
Норма

Переопределяемые модули содержат ваш код

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

Доработки затёрты — значит, они были не в переопределяемых модулях

Типичные ошибки при работе с библиотекой

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

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

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

Когда БСП не нужна и что использовать вместо

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

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

Как выбрать действие

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

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

Итог

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

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

Частые вопросы

Где взять файл поставки БСП?

Дистрибутив библиотеки публикуется на портале 1С в разделе обновлений программ и доступен по действующей подписке ИТС. Внутри поставки — файл конфигурации .cf и документация по внедрению.

Можно ли подключить только одну подсистему БСП, например «Работа с файлами»?

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

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

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

Как узнать версию БСП в своей базе?

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

Поддерживает ли БСП расширения конфигурации?

Да, и это рекомендуемый способ доработки: собственные модули и переопределение обработчиков выносите в расширение. Тогда обновление как библиотеки, так и типовой конфигурации проходит без разбора конфликтов с вашим кодом.