1c-ssl-patterns · diff
git:20260409.7165c79 to git:20260814.928ad1c
16 added, 36 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."
---
# 1C SSL/БСП Subsystems Reference
MCP-сервер: **1c-mcp_ssl_server**. Справочник по Библиотеке стандартных подсистем (БСП/SSL).
## When to Use
- Работа с пользователями и правами доступа
- Работа с файлами и вложениями
- Печатные формы
- Фоновые задания с прогрессом
- Версионирование объектов
- Отправка email
- Общие утилиты (массивы, структуры, строки)
## Core Principle
**ВСЕГДА проверяй, есть ли решение в БСП, прежде чем писать свой код.**
## MCP Tools
- ### `search_ssl` - Поиск функций БСП
+ ### `ssl_search` - поиск функций БСП
- Полнотекстовый поиск по модулям и функциям БСП.
+ У сервера `1c-mcp_ssl_server` РОВНО ОДИН инструмент. Векторный (семантический) поиск по документации БСП, не полнотекстовый: запрос формулируется как описание задачи на русском. Возвращает найденные описания, разделенные `---`.
| Параметр | Обязательный | Описание |
|---|:---:|---|
- | `query` | да | Поисковый запрос (ключевые слова, описание задачи) |
+ | `query` | да | Описание задачи или имя метода на русском |
Примеры:
- - `search_ssl("фоновое задание прогресс")` - найти API длительных операций
- - `search_ssl("копирование структуры")` - утилиты работы со структурами
- - `search_ssl("значение реквизита объекта")` - получение реквизитов
- - `search_ssl("отправка почтового сообщения")` - API отправки email
- - `search_ssl("печатная форма макет")` - API управления печатью
-
- ### `get_function_info` - Информация о функции
-
- Детальное описание конкретной функции БСП: параметры, возвращаемое значение, пример использования.
-
- | Параметр | Обязательный | Описание |
- |---|:---:|---|
- | `function_name` | да | Имя функции (например: `ЗначениеРеквизитаОбъекта`) |
-
- ### `search_modules` - Поиск модулей
-
- Поиск общих модулей БСП по имени или описанию.
-
- | Параметр | Обязательный | Описание |
- |---|:---:|---|
- | `query` | да | Поисковый запрос |
-
- ### `get_subsystem_info` - Информация о подсистеме
-
- Описание подсистемы БСП: назначение, состав, ключевые модули.
+ - `ssl_search("фоновое задание прогресс")` - найти API длительных операций
+ - `ssl_search("копирование структуры")` - утилиты работы со структурами
+ - `ssl_search("значение реквизита объекта")` - получение реквизитов
+ - `ssl_search("отправка почтового сообщения")` - API отправки email
+ - `ssl_search("печатная форма макет")` - API управления печатью
- | Параметр | Обязательный | Описание |
- |---|:---:|---|
- | `subsystem_name` | да | Имя подсистемы |
+ Инструментов вида `get_function_info` / `search_modules` / `get_subsystem_info` на сервере НЕТ - не вызывать. Детали найденного метода брать из шага 2 workflow.
## SSL Search Workflow
- 1. **Поиск в БСП** - `search_ssl` с ключевыми словами
- 2. **Детали функции** - `get_function_info` для найденного метода
- 3. **Поиск в проекте** - `search_in_code` (1c-edt) - как используется в кодовой базе
+ 1. **Поиск в БСП** - `ssl_search` с описанием задачи
+ 2. **Детали метода** - уточняющий `ssl_search` по имени метода; сигнатуру и шапку смотреть в реальной выгрузке БСП проекта (`read_method_source` ai-edt либо Grep по `src/CommonModules/...`)
+ 3. **Поиск в проекте** - `search_in_code` (ai-edt) - как используется в кодовой базе
4. **Только потом свой код** - если БСП не подходит
+ Существование модуля или метода БСП подтверждать ТОЛЬКО реальной выгрузкой конфигурации (ls/Grep/`read_method_source`). Ни `ssl_search`, ни `its_help` не являются доказательством: они судят по документации и могут назвать метод, которого нет в этой версии БСП.
+
## Key SSL Modules
| Модуль | Назначение |
|--------|-----------|
| **ОбщегоНазначения** | ЗначениеРеквизитаОбъекта, ЗначенияРеквизитовОбъектов, КопироватьРекурсивно, СообщитьПользователю |
| **ОбщегоНазначенияКлиентСервер** | Проверки, работа со структурами, массивами |
| **СтроковыеФункцииКлиентСервер** | Форматирование, разбор, подстановка параметров в строки |
| **Пользователи** | Текущий пользователь, роли, права доступа |
| **РаботаСФайлами** | Хранение, получение, присоединенные файлы |
| **УправлениеПечатью** | Регистрация, генерация, управление печатными формами |
| **ДлительныеОперации** | ВыполнитьВФоне, ОжидатьЗавершение, передача прогресса |
| **ВерсионированиеОбъектов** | История изменений объектов |
| **РаботаСПочтовымиСообщениями** | Отправка email через учетные записи |
## Разграничение с другими MCP-серверами
| Задача | Инструмент | Сервер |
|--------|-----------|--------|
- | Поиск функции БСП по описанию | `search_ssl` | 1c-mcp_ssl_server |
+ | Поиск функции БСП по описанию | `ssl_search` | 1c-mcp_ssl_server |
| Общий вопрос по 1С (не только БСП) | `ask_1c_ai` | 1c-naparnik |
| Стандарт разработки ИТС | `its_help` | 1c-naparnik |
- | Код в проекте (полнотекстовый) | `search_in_code` | 1c-edt |
+ | Код в проекте (полнотекстовый) | `search_in_code` | ai-edt |
| API платформы (встроенные функции) | `search` | bsl-platform-help |