Применение БСП 3.1.11 в прикладной разработке
SkillFiles & storageDevelopment and review of 1C application code with the Standard Subsystems Library (БСП/SSL) 3.1.11. Use when selecting SSL common modules and public methods, verifying API signatures and regions, and generating BSL code for background and scheduled jobs, data exchange, printing, files, access, upda
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Применение БСП 3.1.11 в прикладной разработке skill
What this skill tells your AI
The instructions your AI receives, as published by brake71/1c-ssl-skills in skills/bsp/SKILL.md and read by ahel’s review.
Скил учит правильно применять Библиотеку стандартных подсистем 1С (версия
3.1.11) в прикладном коде: какие общие модули и методы вызывать, с какими
параметрами, какие нюансы и антипаттерны. Скил самодостаточен — в нём нет
ссылок на внешнюю документацию и хардкод-номеров строк; параметры и рабочие
примеры даны inline в references/.
Каждый reference — workflow-сценарии вида «задача → функция (полная сигнатура
- регион) → параметры → пример → нюансы/антипаттерны». Это не карта методов (которую отдаёт греп), а знание как применять БСП правильно.
Подтверждение сигнатур/регионов — по исходникам src/cf/ через скрипт
scripts/bsp_api.py или греп (см. ниже). Регион БСП = имя #Область …:
ПрограммныйИнтерфейс (stable, вызывать), СлужебныйПрограммныйИнтерфейс /
СлужебныеПроцедурыИФункции (⚠️ служебный), УстаревшиеПроцедурыИФункции
(⚠️ deprecated), модули *Переопределяемый (хук переопределения — БСП
вызывает, прикладной код реализует, не вызывается напрямую).
Порядок работы
- Определи прикладную задачу и выбери по таблице ниже один основной reference. Подключай второй только для действительно сквозного сценария, например печати в фоне.
- Обязательно открой выбранный основной reference: одной таблицы маршрутизатора
недостаточно для ответа. Не отвечай по памяти или общим знаниям платформы,
пока не сверил конкретный сценарий БСП в reference. Найди сценарий по заголовкам
###и ключевым словам черезrg -n; затем прочитай диапазон строк со сценарием, сигнатурами, примером и антипаттернами. Шаг завершён, когда правила и пример ответа сверены с этим диапазоном. Загружай файл целиком только когда чтение диапазона недоступно; не переноси в контекст несвязанные сценарии большого файла. - Выбирай прямой вызов только из стабильного
ПрограммныйИнтерфейс. Служебный или устаревший метод предлагай лишь с явным предупреждением и когда публичной альтернативы нет. Метод*Переопределяемыйпоказывай как реализацию хука без прямого вызова через имя общего модуля. - Если в проекте доступна выгрузка с
CommonModules/, перед финальным ответом проверь каждую рекомендуемую сигнатуру черезbsp_api.py. Если выгрузки нет, используй reference и явно не заявляй, что выполнил сверку с исходниками. - В ответе дай выбранный API, контекст выполнения (клиент/сервер), минимальный BSL-пример и важные ограничения. Не выдумывай отсутствующие методы для симметрии с другими модулями. Отсутствующие, служебные и запрещённые вызовы описывай текстом или inline-кодом, но не помещай в исполняемый fenced BSL-блок: такой пример легко ошибочно скопировать как рекомендацию.
Навигация по задачам
По ключевой задаче выбери основной reference:
| Задача / ключевые слова | Reference | Подсистемы БСП |
|---|---|---|
| Суффиксы модулей, найти модуль, карта подсистем, stable/хук | fundamentals.md | навигатор |
| Сообщение пользователю (включая привязку к полю в серверной проверке), сериализация XML/JSON, реквизиты по ссылке, безопасное хранилище, строки, даты, временный каталог | base-common.md | БазоваяФункциональность; при проверке доп. реквизитов подключай forms-validation.md вторым |
| Фоновое задание, длительная операция, прогресс, регламентное задание | longs-and-jobs.md | БазоваяФункциональность, РегламентныеЗадания |
| Префикс номера объекта, префикс ИБ, область данных | prefixes.md | ПрефиксацияОбъектов |
| Обновление ИБ, версия ИБ, миграция, обработчик обновления | update.md | ОбновлениеВерсииИБ, ОбновлениеКонфигурации |
| Обмен данными, узлы обмена, регистрация изменений | data-exchange.md | ОбменДанными |
| Электронная подпись (ЭП), МЧД, криптография, DSS, проверка подписи | esign-mcd.md | ЭлектроннаяПодпись, МашиночитаемыеДоверенности |
| Контактная информация, адрес, ОКТМО/КЛАДР, адресный классификатор | contact-info.md | КонтактнаяИнформация, АдресныйКлассификатор |
| Классификаторы (страны и пр. вне адресных) | classifiers.md | классификаторы |
| Валюты, курсы, банки, счета, графики/календари работы | currencies-banks.md | Валюты, Банки, ГрафикиРаботы |
| Внешние компоненты, OData | external-components.md | ВнешниеКомпоненты, ИнтерфейсOData |
| Пользователи, доступ, RLS, группы доступа, профили групп | users-access.md | Пользователи, УправлениеДоступом |
| Почта, SMS, шаблоны сообщений, обсуждения, взаимодействия | comms.md | РаботаСПочтовымиСообщениями, ОтправкаSMS, ШаблоныСообщений, Обсуждения, Взаимодействия |
| Бизнес-процессы, задачи | bp-tasks.md | БизнесПроцессыИЗадачи |
| Завершение работы пользователей, удаление помеченных, профили безопасности | admin-tools.md | ЗавершениеРаботыПользователей, УдалениеПомеченныхОбъектов, ПрофилиБезопасности |
| Резервное копирование ИБ | backup.md | РезервноеКопированиеИБ |
| Оценка производительности, центр мониторинга, контроль работы пользователей | perf-monitoring.md | ОценкаПроизводительности, ЦентрМониторинга, КонтрольРаботыПользователей |
| Защита персональных данных (ПДн), грифы | protection-pd.md | ЗащитаПерсональныхДанных |
| Подключаемые команды, дополнительные отчёты/обработки (ВПФ/ОРФ) | commands-external.md | ПодключаемыеКоманды, ДополнительныеОтчетыИОбработки |
| Печать, менеджер печати, варианты отчётов, СКД | print-reports.md | Печать, ВариантыОтчетов |
| Запрет редактирования реквизитов, свойства, даты запрета изменения | forms-validation.md | ЗапретРедактированияРеквизитовОбъектов, Свойства, ДатыЗапретаИзменения |
| Файлы (справочник Файлы), тома, версии объектов, выгрузка в файл | files-and-versions.md | РаботаСФайлами, ВерсионированиеОбъектов, ВыгрузкаОбъектовВФайлы |
| Мультиязычность, НСтр, текущий язык, локализация | multilang.md | Мультиязычность |
| Поиск дублей, групповое изменение, структура подчинённости | report-dedup.md | ПоискИУдалениеДублей, ГрупповоеИзменениеОбъектов, СтруктураПодчиненности |
Если задача не попадает в таблицу — начни с fundamentals.md (карта подсистем,
логика суффиксов/stable). Часть подсистем БСП намеренно вне скила (нет
востребованного прикладного API) — см. fundamentals.md.
Шаблоны поиска по выгрузке конфигурации
Экспортные методы модуля:
rg -n "^(Функция|Процедура)\s+\w+.*Экспорт" src/cf/CommonModules/<Модуль>/Ext/Module.bsl
Метод по имени во всех модулях:
rg -l "^(Функция|Процедура)\s+<Метод>\b" src/cf/CommonModules/
Регион метода (проверить stable/служебный/устаревший):
rg -n "^#Область\s+(ПрограммныйИнтерфейс|СлужебныйПрограммныйИнтерфейс|СлужебныеПроцедурыИФункции|УстаревшиеПроцедурыИФункции|ПереопределениеВызовов)" src/cf/CommonModules/<Модуль>/Ext/Module.bsl
Подсистема, содержащая общий модуль (по ссылкам в XML подсистем):
rg -l "CommonModule\.<Модуль>" src/cf/Subsystems/
⚠️ «Найти подсистему объекта (Catalog/Document)» простым текстовым поиском нельзя —
нужен XML-разбор Subsystems/<Имя>.xml (теги <Item> со ссылками
Catalog./Document./CommonModule.). При необходимости — ручной шаг:
открыть Subsystems/СтандартныеПодсистемы/Subsystems/<Имя>.xml и найти
<Item> со ссылкой на объект.
Скрипт scripts/bsp_api.py
Три команды, --src <path> обязательный (путь к корню выгрузки конфигурации с
CommonModules/, напр. src/cf). Вместо <skill-dir> подставь каталог, где
лежит этот SKILL.md:
# Найти модуль + полную сигнатуру + имя региона + doc-комментарий + путь + диапазон строк.
# Если метод в нескольких модулях с разными сигнатурами — уточни --module.
python <skill-dir>/scripts/bsp_api.py method <ИмяМетода> [--module <ИмяМодуля>] --src src/cf
# Все экспортные методы одного модуля с сигнатурами + регион + диапазон строк.
# Для модулей *Переопределяемый помечает, что методы — хуки переопределения.
python <skill-dir>/scripts/bsp_api.py module <ИмяМодуля> --src src/cf
# Модули со stable API (регион ПрограммныйИнтерфейс + экспортные методы).
python <skill-dir>/scripts/bsp_api.py modules --src src/cf
Разница module (один модуль, все регионы) vs modules (список модулей, только
stable) — ключевая, не путать. Вывод method помечает ⚠️ хуки переопределения
(модуль *Переопределяемый), deprecated и служебные методы — чтобы не выдать их
как «вызови из прикладного кода».
--src обязателен, без автоопределения. Неверный путь или отсутствие
CommonModules/ — ненулевой код возврата.
Signals
- GitHub stars
- 72
- Forks
- 9
- Last commit
- Sep 2026
Others that do the same job
Advanced
- Item type
- skill
- Key
bsp-brake71- Source
- github.com/brake71/1c-ssl-skills
github.com/brake71/1c-ssl-skills
Related picks
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonpptx
Skill · anthropics
More in Files & storagedocx
Skill · anthropics
More in Files & storageresearch
Skill · mattpocock
More in Files & storageto-tickets
Skill · mattpocock
More in Files & storage