Внедрение библиотеки стандартных подсистем в свою конфигурацию
Содержание
Чтобы установить БСП в 1С 8.3, нужно поставить дистрибутив библиотеки в каталог шаблонов, с помощью обработки первого внедрения выбрать нужные подсистемы, а затем в Конфигураторе своей базы выполнить Конфигурация → Сравнить, объединить с конфигурацией из файла и указать файл 1Cv8.cf библиотеки. После объединения остаются ручные шаги: вызовы в модулях сеанса и приложения, свой модуль обновления, версия конфигурации и роли администратора.
Типичная ситуация: разработчик пишет отраслевую конфигурацию с нуля и через месяц понимает, что пользователей, права, присоединённые файлы, печать и обновление базы он изобретает заново. Библиотека стандартных подсистем 1С (БСП) закрывает всё это готовыми механизмами. Ниже — порядок установки и настройки БСП так, чтобы конфигурация запустилась с первого раза и потом нормально обновлялась.
Перед любыми изменениями сохраните конфигурацию в файл .cf и выгрузите базу в .dt. Объединение затрагивает сотни объектов, а откатить его по шагам нельзя.
Расширение или встраивание: как подключить БСП в 1С 8.3
Первый вопрос, который задают новички: нельзя ли поставить БСП расширением и не трогать основную конфигурацию. Короткий ответ — нет.
БСП рассчитана на встраивание в основную конфигурацию. Она добавляет общие модули, параметры сеанса, регистры, справочники, определяемые типы, подписки на события и роли. Многие механизмы опираются на то, что эти объекты живут в одной конфигурации с вашими документами и справочниками.
Расширения нужны для другой задачи: доработать конфигурацию, в которую БСП уже встроена. Так дорабатывают типовые решения — Бухгалтерию, ЗУП, УТ, — не снимая их с поддержки.
| Способ | Когда применять | Риски |
|---|---|---|
| Встроить БСП в свою конфигурацию через объединение | Новая или собственная конфигурация без БСП | Трудоёмкий первый раз, нужно аккуратно настроить объединение |
| Расширение конфигурации (.cfe) | Доработка типовой конфигурации, где БСП уже есть | Не подходит для установки самой библиотеки |
| Взять демо-конфигурацию БСП как основу | Учебный проект, прототип | В конфигурацию попадает лишнее из демо-примеров |
💡 Если вы дорабатываете типовую конфигурацию, ставить БСП не нужно: она там уже есть, обычно не самой свежей версии, но совместимой с этой конфигурацией. Обновлять БСП внутри типовой отдельно от релиза типовой нельзя.
Подготовка: платформа, режим совместимости и дистрибутив библиотеки
Где взять БСП
Библиотека распространяется бесплатно для партнёров и разработчиков, у кого есть доступ к порталу обновлений 1С. Скачивается дистрибутив конкретной версии в виде архива с программой установки setup.exe.
Что проверить до установки
- 🧩 Версию платформы. У каждой версии БСП в документации указан минимальный номер платформы. Номер установленной у вас платформы должен быть не ниже его.
- ⚙️ Режим совместимости. В свойствах корня вашей конфигурации посмотрите
Режим совместимости. Для свежей БСП он должен быть не ниже того, что указан в её требованиях. - 🖥️ Интерфейс. Библиотека ориентирована на управляемое приложение и интерфейс «Такси». Обычное приложение для новых версий БСП не подходит.
- 💾 Резервную копию. Файл .cf вашей конфигурации и .dt базы.
Установка дистрибутива
- Распакуйте архив и запустите
setup.exe. - Укажите каталог шаблонов. По умолчанию это каталог шаблонов конфигураций 1С в профиле пользователя (
%APPDATA%\1C\1cv8\tmplts). - После установки в каталоге шаблонов появится папка с версией БСП. Внутри — файл конфигурации библиотеки
1Cv8.cf, демо-конфигурация, документация и обработка первого внедрения.
На этом этапе в вашу базу ничего не попадает. Вы просто получили файлы поставки.
Выбор подсистем: обработка первого внедрения
БСП состоит из десятков подсистем. Часть обязательна — например, «Базовая функциональность», «Обновление версии ИБ», «Пользователи». Остальные подключают по потребности: «Печать», «Присоединённые файлы», «Управление доступом», «Дополнительные отчёты и обработки» и другие.
Подсистемы зависят друг от друга. Вручную отметить нужные объекты при объединении почти невозможно: их сотни. Для этого в поставке есть обработка первого внедрения — файл вида ПервоеВнедрениеБСП.epf.
Порядок работы с ней:
- Создайте новую информационную базу из шаблона БСП (именно библиотеки, не демо).
- Запустите её в режиме 1С:Предприятие и откройте обработку через
Файл → Открыть. - Отметьте подсистемы, которые нужны. Зависимые подсистемы обработка отметит сама.
- Сохраните файл настроек объединения. Это XML-файл с перечнем объектов для переноса.
💡 Начинайте с минимума. Подсистему проще добавить потом повторным объединением, чем вычистить лишнюю, которая уже обросла данными и ссылками.
Установка БСП через Конфигуратор: объединение конфигураций
Работайте на копии базы. Откройте её в Конфигураторе.
Шаг 1. Запустите сравнение
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Сравнить, объединить с конфигурацией из файла. - Укажите файл
1Cv8.cfиз каталога шаблонов БСП. - Платформа спросит, поставить ли конфигурацию на поддержку. Соглашайтесь — тогда в следующий раз БСП можно будет обновлять как поставщика, а не повторять всё вручную.
Шаг 2. Загрузите настройки из обработки
В окне сравнения откройте меню действий и загрузите настройки из файла, который сохранила обработка первого внедрения. Флажки у объектов расставятся автоматически.
Проверьте отметки глазами в трёх местах:
- 🔹 Корневые свойства конфигурации. Не переносите из БСП имя, синоним, версию, поставщика и основные роли — оставьте свои.
- 🔹 Общие объекты с одинаковыми именами. Если у вас уже есть общий модуль или роль с тем же именем, что в БСП, решите заранее, чей вариант остаётся.
- 🔹 Модули приложения и сеанса. Их лучше не заменять целиком, а дописать вызовы вручную (см. ниже).
Шаг 3. Выполните объединение
- Нажмите
Выполнить. - Если платформа покажет список объектов, на которые ссылаются перенесённые, но не отмеченные — добавьте их к объединению. Иначе получите битые ссылки.
- Запустите
Конфигурация → Проверка конфигурациии исправьте ошибки. - Обновите конфигурацию базы данных (
F7).
Обновление структуры базы данных требует монопольного доступа. Если это копия, проблем нет. На рабочей базе предупредите пользователей: их сеансы придётся завершить.
Ручная доводка: модули, версия и определяемые типы
Объединение переносит объекты, но не связывает их с вашей конфигурацией. Без этих шагов база не запустится или будет падать на первых же формах.
Модуль сеанса
В процедуре УстановкаПараметровСеанса добавьте вызов библиотеки:
Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса)
СтандартныеПодсистемыСервер.УстановкаПараметровСеанса(ИменаПараметровСеанса);
КонецПроцедуры
Модуль управляемого приложения
Обработчики начала и завершения работы передают управление клиентским модулям БСП:
Процедура ПередНачаломРаботыСистемы()
СтандартныеПодсистемыКлиент.ПередНачаломРаботыСистемы();
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
СтандартныеПодсистемыКлиент.ПриНачалеРаботыСистемы();
КонецПроцедуры
Процедура ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения)
СтандартныеПодсистемыКлиент.ПередЗавершениемРаботыСистемы(Отказ, ТекстПредупреждения);
КонецПроцедуры
Если у вас уже был свой код в этих процедурах, оставьте его после вызовов БСП.
Свой модуль обновления и версия
Механизм обновления БСП должен знать, какая у вас конфигурация и какой она версии.
- Создайте общий серверный модуль, например
ОбновлениеИнформационнойБазыМояКонфигурация. - В нём опишите процедуру
ПриДобавленииПодсистемы(Описание): заполнитеОписание.ИмяиОписание.Версия. - Зарегистрируйте модуль в
ПодсистемыКонфигурацииПереопределяемый.ПриДобавленииПодсистем, добавив его имя в коллекцию модулей. - Заполните свойство
Версияв корне конфигурации в формате1.0.0.1. Номер должен совпадать с тем, что вы указали в модуле.
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "МояКонфигурация";
Описание.Версия = "1.0.0.1";
КонецПроцедуры
Сюда же потом будете добавлять обработчики обновления данных при переходе на новую версию своей конфигурации.
Определяемые типы и переопределяемые модули
Многие подсистемы работают через определяемые типы. Например, чтобы прикрепить файлы к вашему справочнику «Договоры», его тип добавляют в определяемый тип владельцев присоединённых файлов.
Переопределяемые модули (имена заканчиваются на Переопределяемый) — точки настройки. Их правят под свою конфигурацию, а при обновлении БСП сохраняют свой вариант.
💡 Найти все определяемые типы, которые нужно заполнить, удобно поиском по документации из поставки: в описании каждой подсистемы есть раздел про внедрение.
Права доступа и роли пользователей после установки
БСП приносит свои роли. Ключевые для запуска — ПолныеПрава и АдминистраторСистемы.
Что сделать с ролями
- 👤 Свои роли не удаляйте. Добавьте в них права на объекты БСП, которые нужны вашим пользователям: справочник пользователей , регистры сведений, общие формы. В поставке есть базовые роли для пользователей — посмотрите их состав и примените к своему набору.
- 🔐 Основные роли конфигурации. В свойствах корня проверьте список основных ролей. Они действуют, пока в базе нет ни одного пользователя: укажите там
ПолныеПраваиАдминистраторСистемы, чтобы первый вход прошёл с правами администратора. - 🛡️ Управление доступом. Если подключили эту подсистему, права раздают не ролями напрямую, а через профили групп доступа в режиме 1С:Предприятие. Роли в Конфигураторе пользователям тогда не назначают.
Первый пользователь
Создайте в режиме 1С:Предприятие пользователя-администратора через справочник «Пользователи» из БСП. Подсистема сама создаст пользователя информационной базы и назначит роли. Если завести пользователя через Администрирование → Пользователи в Конфигураторе, его придётся потом сопоставлять со справочником.
Первый запуск базы с БСП и проверка
При первом запуске в режиме 1С:Предприятие БСП выполняет обработчики обновления: заполняет предопределённые данные, служебные регистры, настройки подсистем. На пустой базе это занимает от нескольких секунд до минуты.
Что проверить сразу после запуска
- Программа открылась без ошибок и показывает начальную страницу.
- Справочник пользователей открывается, текущий пользователь в нём есть.
- В журнале регистрации нет ошибок с упоминанием модулей БСП.
- Подключённые подсистемы работают: например, к элементу вашего справочника можно прикрепить файл , если вы подключали присоединённые файлы.
Если база рабочая и в ней уже есть данные, сначала прогоните первый запуск на копии. Обработчики обновления могут идти долго на больших объёмах.
Ошибки при установке БСП и как их устранить
СтандартныеПодсистемыСервер.УстановкаПараметровСеанса в модуле сеанса. Добавьте его и перезапустите базу.Ещё одна частая беда — конфликт имён. Если в вашей конфигурации уже был, например, общий модуль ОбщегоНазначения со своими функциями, после объединения он будет заменён библиотечным. Перенесите свои функции в модуль с другим именем до установки.
Обновление БСП до новой версии
Обновлять библиотеку нужно, чтобы получать исправления и поддержку новых платформ.
Если конфигурация поставлена на поддержку БСП
- Установите новый дистрибутив БСП в каталог шаблонов.
- В Конфигураторе:
Конфигурация → Поддержка → Обновить конфигурациюи укажите новый1Cv8.cf. - В окне сравнения проверьте объекты, которые вы меняли (модули с
Переопределяемыйв имени, модули приложения и сеанса). Для них выберите объединение с приоритетом своей конфигурации или перенесите изменения вручную. - Проверка конфигурации, обновление базы данных, первый запуск.
Если на поддержку не ставили
Обновление идёт так же, как первая установка: сравнение с файлом нового 1Cv8.cf с настройками объединения. Это дольше и рискованнее, поэтому при первой установке лучше соглашаться на поддержку.
Читайте документ с описанием изменений, который лежит в поставке новой версии. В нём перечислено, какие методы переименованы или удалены. Ваш код, который вызывал старые методы, после обновления перестанет компилироваться.
💡 Не перескакивайте через много версий за раз, если в описании изменений сказано про особый порядок перехода. Иногда разумнее обновиться в два приёма.
Частые вопросы
Сколько стоит БСП?
Можно ли установить только одну подсистему, например «Печать»?
Нужно ли ставить БСП в 1С:Бухгалтерию или ЗУП?
Как узнать, какая версия БСП встроена в конфигурацию?
ОбновлениеИнформационнойБазыБСП: в процедуре ПриДобавленииПодсистемы указана версия библиотеки.