Применение БСП 3.1.11 в прикладной разработке

SkillFiles & storage

Development 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

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

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), модули *Переопределяемый (хук переопределения — БСП вызывает, прикладной код реализует, не вызывается напрямую).

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

  1. Определи прикладную задачу и выбери по таблице ниже один основной reference. Подключай второй только для действительно сквозного сценария, например печати в фоне.
  2. Найди внутри reference подходящий сценарий по заголовкам ### и ключевым словам через rg -n; затем прочитай диапазон строк со сценарием, сигнатурами, примером и антипаттернами. Загружай файл целиком только когда чтение диапазона недоступно; не переноси в контекст несвязанные сценарии большого файла.
  3. Выбирай прямой вызов только из стабильного ПрограммныйИнтерфейс. Служебный или устаревший метод предлагай лишь с явным предупреждением и когда публичной альтернативы нет. Метод *Переопределяемый показывай как реализацию хука без прямого вызова через имя общего модуля.
  4. Если в проекте доступна выгрузка с CommonModules/, перед финальным ответом проверь каждую рекомендуемую сигнатуру через bsp_api.py. Если выгрузки нет, используй reference и явно не заявляй, что выполнил сверку с исходниками.
  5. В ответе дай выбранный API, контекст выполнения (клиент/сервер), минимальный BSL-пример и важные ограничения. Не выдумывай отсутствующие методы для симметрии с другими модулями. Отсутствующие, служебные и запрещённые вызовы описывай текстом или inline-кодом, но не помещай в исполняемый fenced BSL-блок: такой пример легко ошибочно скопировать как рекомендацию.

Навигация по задачам

По ключевой задаче выбери основной reference:

Задача / ключевые словаReferenceПодсистемы БСП
Суффиксы модулей, найти модуль, карта подсистем, stable/хукfundamentals.mdнавигатор
Сообщение пользователю, сериализация XML/JSON, реквизиты по ссылке, безопасное хранилище, строки, даты, временный каталогbase-common.mdБазоваяФункциональность
Фоновое задание, длительная операция, прогресс, регламентное заданиеlongs-and-jobs.mdБазоваяФункциональность, РегламентныеЗадания
Префикс номера объекта, префикс ИБ, область данныхprefixes.mdПрефиксацияОбъектов
Обновление ИБ, версия ИБ, миграция, обработчик обновленияupdate.mdОбновлениеВерсииИБ, ОбновлениеКонфигурации
Обмен данными, узлы обмена, регистрация измененийdata-exchange.mdОбменДанными
Электронная подпись (ЭП), МЧД, криптография, DSS, проверка подписиesign-mcd.mdЭлектроннаяПодпись, МашиночитаемыеДоверенности
Контактная информация, адрес, ОКТМО/КЛАДР, адресный классификаторcontact-info.mdКонтактнаяИнформация, АдресныйКлассификатор
Классификаторы (страны и пр. вне адресных)classifiers.mdклассификаторы
Валюты, курсы, банки, счета, графики/календари работыcurrencies-banks.mdВалюты, Банки, ГрафикиРаботы
Внешние компоненты, ODataexternal-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
61
Forks
5
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
bsp
Source
github.com/brake71/1c-ssl-skills