1c-ssl-patterns · diff
git:20260814.b9b7885 to git:20260901.bf79987
49 added, 53 removed. Audit A to A.
---
name: 1c-ssl-patterns
- description: "SSL/БСП subsystems guidance and search via 1c-mcp_ssl_server MCP. Use when working with standard library subsystems - users, files, print forms, background jobs, email, common utilities."
+ description: "Прикладные сценарии Библиотеки стандартных подсистем (БСП): КАК решается задача разработчика, каким механизмом библиотеки, в каком порядке и с какими граблями. Используй когда нужно СДЕЛАТЬ что-то через БСП - запустить задание по расписанию, выполнить долгую операцию в фоне, напечатать форму, раздать права, обновить данные при переходе на новую версию; когда непонятно, какой механизм библиотеки закрывает задачу; когда нужен рабочий порядок вызовов и перечень антипаттернов. НЕ для вопроса о сигнатуре или существовании метода - там 1c-bsp-api. НЕ для регистрации своих обработок и команд в библиотеке - там 1c-bsp-command и 1c-bsp-registration."
---
- # 1C SSL/БСП Subsystems Reference
-
- MCP-сервер: **1c-mcp_ssl_server**. Справочник по Библиотеке стандартных подсистем (БСП/SSL).
+ # Прикладные сценарии БСП
- ## When to Use
+ Справочник отвечает на вопрос КАК ПРИМЕНЯТЬ механизм библиотеки. На вопросы
+ существует ли вызов, какая у него сигнатура и в каком контексте он доступен
+ отвечает другой скил - `1c-bsp-api`.
- - Работа с пользователями и правами доступа
- - Работа с файлами и вложениями
- - Печатные формы
- - Фоновые задания с прогрессом
- - Версионирование объектов
- - Отправка email
- - Общие утилиты (массивы, структуры, строки)
+ Разделение точек входа:
- ## Core Principle
+ | Вопрос | Скил |
+ |---|---|
+ | как сделать X через БСП, каким механизмом, в каком порядке | этот |
+ | какая сигнатура, существует ли вызов, серверный он или клиентский | `1c-bsp-api` |
+ | как зарегистрировать свою обработку или команду в библиотеке | `1c-bsp-command`, `1c-bsp-registration` |
- **ВСЕГДА проверяй, есть ли решение в БСП, прежде чем писать свой код.**
+ Разведение по триггерам не означает взаимного исключения: прикладной сценарий
+ ДОЛЖЕН проверять вызовы через `1c-bsp-api`, и это часть работы, а не переход к
+ другому скилу.
- ## MCP Tools
+ ## Порядок работы
- ### `ssl_search` - поиск функций БСП
+ 1. Определи МЕХАНИЗМ задачи и возьми справочник по таблице ниже. Грузится один
+ справочник НА МЕХАНИЗМ: задача из трех механизмов законно требует трех.
+ Справочник "на всякий случай" не грузится.
+ 2. Внутри справочника найди сценарий по заголовку `###` и прочитай его диапазоном.
+ Файл целиком не загружается.
+ 3. **Проверь каждый вызов перед тем, как его написать.** Имена в БСП длинные и
+ составные, поэтому выдумка выглядит как настоящее имя:
- У сервера `1c-mcp_ssl_server` РОВНО ОДИН инструмент. Векторный (семантический) поиск по документации БСП, не полнотекстовый: запрос формулируется как описание задачи на русском. Возвращает найденные описания, разделенные `---`.
+ ```bash
+ python skills/1c-bsp-api/scripts/bsp-api.py check РегламентныеЗаданияСервер.НайтиЗадания
+ ```
- | Параметр | Обязательный | Описание |
- |---|:---:|---|
- | `query` | да | Описание задачи или имя метода на русском |
+ Проверка сообщает и об устаревании, а не только о существовании. Код возврата
+ 1, если вызова нет.
+ 4. Сценария нет в справочниках - искать по теме через `ssl_search` сервера
+ `1c-mcp_ssl_server`, затем подтверждать найденное проверкой из пункта 3.
+ MCP судит по документации и называет методы, которых в этой версии нет.
- Примеры:
- - `ssl_search("фоновое задание прогресс")` - найти API длительных операций
- - `ssl_search("копирование структуры")` - утилиты работы со структурами
- - `ssl_search("значение реквизита объекта")` - получение реквизитов
- - `ssl_search("отправка почтового сообщения")` - API отправки email
- - `ssl_search("печатная форма макет")` - API управления печатью
+ **При расхождении источников** прав тот, что ближе к поставке: исходник модуля
+ старше справочника `1c-bsp-api`, справочник старше MCP.
- Инструментов вида `get_function_info` / `search_modules` / `get_subsystem_info` на сервере НЕТ - не вызывать. Детали найденного метода брать из шага 2 workflow.
+ ## Справочники по механизмам
- ## SSL Search Workflow
+ | Механизм и ключевые слова | Файл |
+ |---|---|
+ | задание по расписанию, планировщик, включить и выключить задание, расписание | `references/scheduled-jobs.md` |
- 1. **Поиск в БСП** - `ssl_search` с описанием задачи
- 2. **Детали метода** - уточняющий `ssl_search` по имени метода; сигнатуру и шапку смотреть в реальной выгрузке БСП проекта (`read_method_source` ai-edt либо Grep по `src/CommonModules/...`)
- 3. **Поиск в проекте** - `search_in_code` (ai-edt) - как используется в кодовой базе
- 4. **Только потом свой код** - если БСП не подходит
+ Остальные механизмы пишутся волнами по реестру тем; до появления своего
+ справочника действует пункт 4 порядка работы.
- Существование модуля или метода БСП подтверждать ТОЛЬКО реальной выгрузкой конфигурации (ls/Grep/`read_method_source`). Ни `ssl_search`, ни `its_help` не являются доказательством: они судят по документации и могут назвать метод, которого нет в этой версии БСП.
+ ## Если справочника еще нет
- ## Key SSL Modules
+ `ssl_search` сервера `1c-mcp_ssl_server` - векторный поиск по документации БСП.
+ Запрос формулируется описанием задачи на русском: `ssl_search("фоновое задание
+ прогресс")`. У сервера РОВНО ОДИН инструмент; имен вида `get_function_info` или
+ `search_modules` на нем нет.
- | Модуль | Назначение |
- |--------|-----------|
- | **ОбщегоНазначения** | ЗначениеРеквизитаОбъекта, ЗначенияРеквизитовОбъектов, КопироватьРекурсивно, СообщитьПользователю |
- | **ОбщегоНазначенияКлиентСервер** | Проверки, работа со структурами, массивами |
- | **СтроковыеФункцииКлиентСервер** | Форматирование, разбор, подстановка параметров в строки |
- | **Пользователи** | Текущий пользователь, роли, права доступа |
- | **РаботаСФайлами** | Хранение, получение, присоединенные файлы |
- | **УправлениеПечатью** | Регистрация, генерация, управление печатными формами |
- | **ДлительныеОперации** | ВыполнитьВФоне, ОжидатьЗавершение, передача прогресса |
- | **ВерсионированиеОбъектов** | История изменений объектов |
- | **РаботаСПочтовымиСообщениями** | Отправка email через учетные записи |
+ Существование найденного подтверждается `bsp-api.py check`, а не самим поиском.
- ## Разграничение с другими MCP-серверами
+ ## Происхождение
- | Задача | Инструмент | Сервер |
- |--------|-----------|--------|
- | Поиск функции БСП по описанию | `ssl_search` | 1c-mcp_ssl_server |
- | Общий вопрос по 1С (не только БСП) | `ask_1c_ai` | 1c-naparnik |
- | Стандарт разработки ИТС | `its_help` | 1c-naparnik |
- | Код в проекте (полнотекстовый) | `search_in_code` | ai-edt |
- | API платформы (встроенные функции) | `search` | bsl-platform-help |
+ Сценарии написаны нами по документации ИТС и исходникам библиотеки. Имена,
+ сигнатуры, состав параметров и номера версий - факты и взяты как есть; сигнатуры
+ и регионы берутся из поставки библиотеки, потому что документация с ней местами
+ расходится. Примеры BSL свои и проверены `check`.