---
name: 1c-ssl-patterns
description: "Прикладные сценарии Библиотеки стандартных подсистем (БСП): КАК решается задача разработчика, каким механизмом библиотеки, в каком порядке и с какими граблями. Используй когда нужно СДЕЛАТЬ что-то через БСП - запустить задание по расписанию, выполнить долгую операцию в фоне, напечатать форму, раздать права, обновить данные при переходе на новую версию; когда непонятно, какой механизм библиотеки закрывает задачу; когда нужен рабочий порядок вызовов и перечень антипаттернов. НЕ для вопроса о сигнатуре или существовании метода - там 1c-bsp-api. НЕ для регистрации своих обработок и команд в библиотеке - там 1c-bsp-command и 1c-bsp-registration."
---

# Прикладные сценарии БСП

Справочник отвечает на вопрос КАК ПРИМЕНЯТЬ механизм библиотеки. На вопросы
существует ли вызов, какая у него сигнатура и в каком контексте он доступен
отвечает другой скил - `1c-bsp-api`.

Разделение точек входа:

| Вопрос | Скил |
|---|---|
| как сделать X через БСП, каким механизмом, в каком порядке | этот |
| какая сигнатура, существует ли вызов, серверный он или клиентский | `1c-bsp-api` |
| как зарегистрировать свою обработку или команду в библиотеке | `1c-bsp-command`, `1c-bsp-registration` |

Разведение по триггерам не означает взаимного исключения: прикладной сценарий
ДОЛЖЕН проверять вызовы через `1c-bsp-api`, и это часть работы, а не переход к
другому скилу.

## Порядок работы

1. Определи МЕХАНИЗМ задачи и возьми справочник по таблице ниже. Грузится один
   справочник НА МЕХАНИЗМ: задача из трех механизмов законно требует трех.
   Справочник "на всякий случай" не грузится.
2. Внутри справочника найди сценарий по заголовку `###` и прочитай его диапазоном.
   Файл целиком не загружается.
3. **Проверь каждый вызов перед тем, как его написать.** Имена в БСП длинные и
   составные, поэтому выдумка выглядит как настоящее имя:

   ```bash
   python skills/1c-bsp-api/scripts/bsp-api.py check РегламентныеЗаданияСервер.НайтиЗадания
   ```

   Проверка сообщает и об устаревании, а не только о существовании. Код возврата
   1, если вызова нет.
4. Сценария нет в справочниках - искать по теме через `ssl_search` сервера
   `1c-mcp_ssl_server`, затем подтверждать найденное проверкой из пункта 3.
   MCP судит по документации и называет методы, которых в этой версии нет.

**При расхождении источников** прав тот, что ближе к поставке: исходник модуля
старше справочника `1c-bsp-api`, справочник старше MCP.

## Справочники по механизмам

| Механизм и ключевые слова | Файл |
|---|---|
| реквизит объекта без чтения объекта, сообщение пользователю, коллекции, безопасный режим, режим работы базы | `references/base-functionality.md` |
| задание по расписанию, планировщик, включить и выключить задание, расписание | `references/scheduled-jobs.md` |
| текущий пользователь, полнота прав, внешний пользователь, учетная запись базы | `references/users.md` |
| право на запись, роль, профиль группы доступа, наборы значений доступа, пересчет прав | `references/access-management.md` |
| печать, печатная форма, команда печати, макет, менеджер печати | `references/printing.md` |
| присоединенный файл, вложение, том хранения, сканирование, открыть файл | `references/attached-files.md` |
| обработчик обновления, переход на новую версию, отложенное обновление, версия ИБ | `references/infobase-update.md` |
| установка обновления, поиск обновлений, резервная копия перед обновлением | `references/configuration-update.md` |
| вариант отчета, размещение отчета в разделах, команда отчета на форме | `references/report-variants.md` |
| внешняя обработка, дополнительный отчет, внешняя печатная форма, подключить обработку | `references/external-reports-processors.md` |
| команда на форме от другой подсистемы, размещение команд, обновление команд после записи | `references/attachable-commands.md` |
| дополнительный реквизит, дополнительное сведение, набор свойств, метки | `references/additional-properties.md` |
| запрет правки поля после проведения, разблокировка реквизитов на форме | `references/attribute-locking.md` |
| закрытый период, дата запрета изменения, запрет загрузки данных | `references/period-end-closing.md` |
| история изменений объекта, версия объекта, откат к прежней версии | `references/object-versioning.md` |
| префикс номера, префикс базы, префикс организации, номер на печать | `references/object-prefixes.md` |

Закрыты все темы первого приоритета - механизмы, встречающиеся почти в любой
доработке. Остальные пишутся волнами по реестру; до появления своего справочника
действует пункт 4 порядка работы.

## Если справочника еще нет

`ssl_search` сервера `1c-mcp_ssl_server` - векторный поиск по документации БСП.
Запрос формулируется описанием задачи на русском: `ssl_search("фоновое задание
прогресс")`. У сервера РОВНО ОДИН инструмент; имен вида `get_function_info` или
`search_modules` на нем нет.

Существование найденного подтверждается `bsp-api.py check`, а не самим поиском.

## Происхождение

Сценарии написаны нами по документации ИТС и исходникам библиотеки. Имена,
сигнатуры, состав параметров и номера версий - факты и взяты как есть; сигнатуры
и регионы берутся из поставки библиотеки, потому что документация с ней местами
расходится. Примеры BSL свои и проверены `check`.
