1c-ssl-patterns · diff
git:20260814.928ad1c to git:20260901.1cd598e
87 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/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` |
+ | синхронизация баз, узел обмена, регистрация изменений, универсальный формат | `references/data-exchange.md` |
+ | адрес, телефон, почта объекта, вид контактной информации | `references/contact-information.md` |
+ | отправить письмо, загрузить входящие, учетная запись почты, небезопасный HTML | `references/email.md` |
+ | дубли элементов, замена на оригинал, удаление помеченных, ссылочная целостность | `references/duplicates-and-deletion.md` |
+ | подписать объект, сертификат, штамп подписи в печатной форме | `references/digital-signature.md` |
+ | доверенность ФНС, облачная подпись DSS, мобильная подпись | `references/signature-services.md` |
+ | задача, бизнес-процесс, адресация по роли, отложенный старт | `references/business-processes.md` |
+ | данные на нескольких языках, подстановка языка в запрос | `references/multilanguage.md` |
+ | шаблон письма, подстановка данных объекта, получатели по шаблону | `references/message-templates.md` |
+ | персональные данные, согласие субъекта, срок уничтожения | `references/personal-data.md` |
+ | курс валюты, сумма прописью, банк по БИК, рабочие даты по графику и календарю | `references/currencies-banks-calendars.md` |
+ | регион по коду, коды адреса, адресный реестр | `references/address-classifier.md` |
+ | загрузка из файла в справочник, групповое изменение, выгрузка в файлы, структура подчиненности | `references/bulk-data-operations.md` |
+ | напоминание, заметка, текущие дела, письма и звонки контакту | `references/user-workplace.md` |
+ | загрузка по сети и прокси, SMS, штрихкод, внешняя компонента | `references/integration-basics.md` |
+ | проверка корректности данных, регистр проблем, рассылка отчетов по расписанию | `references/accounting-checks-and-reports.md` |
+ | состояние бумажного оригинала, склонение по падежам, конструктор формул | `references/document-workflow-extras.md` |
+ | публикация OData, сообщение при запуске, отчет о движениях, ручной порядок в списке | `references/extension-points.md` |
+ | сведения об организации, ответственные лица, форма настроек программы | `references/organizations-and-settings.md` |
+ | завершение сеансов, безопасный режим и разрешения, журнал действий, резервная копия | `references/administration.md` |
+ | замер ключевой операции, статистика использования, полнотекстовый поиск, итоги | `references/monitoring-and-search.md` |
+ | модель сервиса и разделение данных, обсуждения, анкетирование | `references/service-model-and-collaboration.md` |
- 1. **Поиск в БСП** - `ssl_search` с описанием задачи
- 2. **Детали метода** - уточняющий `ssl_search` по имени метода; сигнатуру и шапку смотреть в реальной выгрузке БСП проекта (`read_method_source` ai-edt либо Grep по `src/CommonModules/...`)
- 3. **Поиск в проекте** - `search_in_code` (ai-edt) - как используется в кодовой базе
- 4. **Только потом свой код** - если БСП не подходит
+ **Реестр тем закрыт целиком: 70 тем главы 3 документации в 38 справочниках.**
+ Механизмы, у которых прикладного интерфейса нет, названы явно вместе с причиной -
+ это тоже знание, и оно удерживает от поиска несуществующих модулей.
- Существование модуля или метода БСП подтверждать ТОЛЬКО реальной выгрузкой конфигурации (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`.