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

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

Что такое БТС 1С и зачем нужна библиотека технологии сервиса

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

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

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

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

Назначение БТС: какие задачи решает библиотека

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

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

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

Состав библиотеки: основные подсистемы

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

  • Работа в модели сервиса — базовая подсистема: разделение данных, области данных, сеансы работы с разделителями, очередь заданий.
  • Абоненты и тарификация — справочники абонентов, тарифы, подписки, события биллинга.
  • Выгрузка и загрузка данных — механизмы переноса области данных абонента между сервисом и локальной базой.
  • Обмен сообщениями — каналы сервиса для взаимодействия менеджера сервиса с приложениями.
  • Резервное копирование областей — создание копий данных отдельных абонентов.
  • Поставляемые данные — механизм централизованной доставки общих данных (классификаторов) всем абонентам.

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

Чем БТС отличается от БСП

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

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

Если решение будет работать только локально (в файловом или клиент-серверном варианте у клиента), БТС не нужна. Если планируется публикация в 1С:Фреш или собственный сервис — без БТС обойтись практически невозможно, потому что разделение данных придётся писать самостоятельно.

Сравнение вариантов

Только БСП

Подходит для локальных коробочных решений. Ограничение: нет механизмов разделения данных и управления абонентами.

БСП + БТС

Стандарт для решений, публикуемых в сервисе. Ограничение: выше трудоёмкость внедрения и требования к архитектуре.

Собственная разработка механизмов сервиса

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

Где используется БТС: 1С:Фреш и собственные сервисы

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

Второй сценарий — построение собственного облачного сервиса на технологиях 1С. Компания-разработчик может развернуть собственный менеджер сервиса и использовать БТС как основу прикладных приложений сервиса. Это востребовано у франчайзи и вендоров, которые хотят продавать своё отраслевое решение по подписке.

Третий, менее очевидный сценарий — внутренний сервис крупной организации: холдинг выделяет отдельные области данных для дочерних компаний в одной базе. Здесь БТС помогает изолировать данные юрлиц без развёртывания отдельных баз.

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

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

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

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

Типичные ошибки при работе с БТС

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

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

Третья ошибка — игнорирование очереди заданий. В модели сервиса фоновые задания выполняются через очередь с учётом областей данных; прямое использование регламентных заданий без адаптации приводит к их выполнению вне контекста абонента.

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

Обновление и сопровождение решения на БТС

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

При обновлении сервиса важен порядок: сначала обновляется менеджер сервиса, затем приложения, при этом обработчики обновления должны корректно отрабатывать в каждой области данных. БТС предоставляет механизмы отложенного обновления областей, что позволяет не останавливать сервис целиком.

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

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

Изоляция данных
Норма

Абонент видит только свои документы и справочники

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

В списках видны данные другой области или пусто там, где данные есть

Выгрузка области
Норма

Область выгружается и загружается в локальную базу без ошибок

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

Ошибки при загрузке, потеря части данных

Очередь заданий
Норма

Задания выполняются в контексте нужной области

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

Задания зависают или выполняются без разделителя

Обновление областей
Норма

Обработчики обновления отрабатывают во всех областях

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

Часть областей остаётся на старой версии данных

FAQ: частые вопросы о БТС 1С

БТС — это отдельная программа, которую можно купить и установить?

Нет. БТС — библиотека подсистем для разработчиков, а не готовое прикладное решение. Она встраивается в конфигурацию на этапе разработки и не имеет самостоятельного пользовательского интерфейса для ведения учёта.

Нужна ли БТС для обычной локальной базы 1С?

Нет. Если решение работает только локально у клиента, достаточно БСП. БТС имеет смысл внедрять, только если планируется работа в модели сервиса с разделением данных абонентов.

Чем БТС отличается от менеджера сервиса?

Менеджер сервиса — отдельное приложение, которое управляет абонентами, тарифами и приложениями сервиса. БТС — библиотека внутри прикладного приложения, обеспечивающая его работу в сервисе и взаимодействие с менеджером сервиса через каналы сообщений.

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

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

Обязательна ли БТС для публикации решения в 1С:Фреш?

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

Кто должен заниматься внедрением БТС?

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

Итог

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

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