Install
$ agentstack add skill-desko77-claude-code-skills-1c-1c-bsp-registration ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
/epf-bsp-init — Регистрация обработки в БСП
Добавляет в модуль объекта обработки функцию СведенияОВнешнейОбработке(), необходимую для регистрации в подсистеме «Дополнительные отчёты и обработки» БСП.
Usage
/epf-bsp-init [Назначение...]
| Параметр | Обязательный | По умолчанию | Описание | |---------------|:------------:|--------------|---------------------------------------------------------| | ProcessorName | да | — | Имя обработки (должна быть создана через /epf-init) | | Вид | да | — | Вид обработки (см. маппинг ниже) | | Назначение | * | — | Объекты метаданных для назначаемых видов | | SrcDir | нет | src | Каталог исходников |
\* Назначение обязательно для видов: ЗаполнениеОбъекта, Отчет, ПечатнаяФорма, СозданиеСвязанныхОбъектов.
Маппинг вида обработки
Пользователь может указать вид в свободной форме. Определи нужный по контексту:
| Пользователь пишет | Вид | API-метод | |-------------------------------------------|----------------------------|----------------------------------------------| | доп обработка, обработка, глобальная | ДополнительнаяОбработка | ВидОбработкиДополнительнаяОбработка() | | доп отчёт, глобальный отчёт | ДополнительныйОтчет | ВидОбработкиДополнительныйОтчет() | | заполнение, заполнить | ЗаполнениеОбъекта | ВидОбработкиЗаполнениеОбъекта() | | отчёт (назначаемый, для объекта) | Отчет | ВидОбработкиОтчет() | | печатная форма, печать | ПечатнаяФорма | ВидОбработкиПечатнаяФорма() | | создание связанных объектов | СозданиеСвязанныхОбъектов | ВидОбработкиСозданиеСвязанныхОбъектов() |
Тип команды по умолчанию
| Вид | ТипКоманды по умолчанию | |----------------------------|-------------------------------------------| | ДополнительнаяОбработка | ТипКомандыОткрытиеФормы() | | ДополнительныйОтчет | ТипКомандыОткрытиеФормы() | | ЗаполнениеОбъекта | ТипКомандыВызовСерверногоМетода() | | Отчет | ТипКомандыОткрытиеФормы() | | ПечатнаяФорма | ТипКомандыВызовСерверногоМетода() | | СозданиеСвязанныхОбъектов | ТипКомандыВызовСерверногоМетода() |
Шаблон: СведенияОВнешнейОбработке
Базовый шаблон — одинаковый для всех видов, отличаются только вызовы API-методов и условные секции.
Функция СведенияОВнешнейОбработке() Экспорт
МетаданныеОбработки = Метаданные();
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.{{ВидОбработки}};
ПараметрыРегистрации.Версия = "1.0";
{{СЕКЦИЯ_НАЗНАЧЕНИЕ}}
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = МетаданныеОбработки.Представление();
НоваяКоманда.Идентификатор = МетаданныеОбработки.Имя;
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.{{ТипКоманды}};
НоваяКоманда.ПоказыватьОповещение = Ложь;
{{СЕКЦИЯ_МОДИФИКАТОР}}
Возврат ПараметрыРегистрации;
КонецФункции
Подстановки
{{ВидОбработки}}— API-метод из таблицы маппинга вида{{ТипКоманды}}— API-метод из таблицы типа команды по умолчанию
Условные секции
{{СЕКЦИЯ_НАЗНАЧЕНИЕ}} — только для назначаемых видов (ЗаполнениеОбъекта, Отчет, ПечатнаяФорма, СозданиеСвязанныхОбъектов). Одна строка на каждый объект:
ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплату");
Формат имени объекта: ИмяКлассаОбъектаМетаданного.ИмяОбъекта (например Документ.СчетНаОплату, Справочник.Контрагенты).
Для глобальных видов (ДополнительнаяОбработка, ДополнительныйОтчет) — секция не нужна, удалить вместе с пустой строкой.
{{СЕКЦИЯ_МОДИФИКАТОР}} — только для ПечатнаяФорма:
НоваяКоманда.Модификатор = "ПечатьMXL";
Для остальных видов — удалить вместе с пустой строкой.
Шаблоны серверных обработчиков
Для видов с типом команды ВызовСерверногоМетода добавь соответствующую процедуру-обработчик в ту же область ПрограммныйИнтерфейс, после СведенияОВнешнейОбработке.
Для ЗаполнениеОбъекта / СозданиеСвязанныхОбъектов
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, ПараметрыВыполненияКоманды) Экспорт
// TODO: Реализация
КонецПроцедуры
Для ПечатнаяФорма
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
// TODO: Реализация
КонецПроцедуры
Для ДополнительнаяОбработка / ДополнительныйОтчет (с ВызовСерверногоМетода)
Если пользователь явно выбрал серверный метод вместо открытия формы:
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт
// TODO: Реализация
КонецПроцедуры
Обрати внимание: у глобальных обработок нет параметра ОбъектыНазначения.
Инструкции
- Найди
ObjectModule.bslчерез Glob:src/{{ProcessorName}}/Ext/ObjectModule.bsl - Прочитай файл
- Если
СведенияОВнешнейОбработкеуже есть — сообщи пользователю и не дублируй - Если файл не найден — предложи сначала вызвать
/epf-init - Найди область
#Область ПрограммныйИнтерфейс...#КонецОбласти - Вставь функцию
СведенияОВнешнейОбработке()внутрь этой области - Если вид требует серверный обработчик — вставь его тоже в эту область, после функции
- Используй табы для отступов (как в исходном файле)
Пример
Пользователь: /epf-bsp-init МояОбработка печатная форма для Документ.СчетНаОплату
Результат в ObjectModule.bsl:
#Область ОписаниеПеременных
#КонецОбласти
#Область ПрограммныйИнтерфейс
Функция СведенияОВнешнейОбработке() Экспорт
МетаданныеОбработки = Метаданные();
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплату");
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = МетаданныеОбработки.Представление();
НоваяКоманда.Идентификатор = МетаданныеОбработки.Имя;
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Ложь;
НоваяКоманда.Модификатор = "ПечатьMXL";
Возврат ПараметрыРегистрации;
КонецФункции
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
// TODO: Реализация
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#КонецОбласти
Дальнейшие шаги
- Добавить ещё команду:
/epf-bsp-add-command - Добавить форму:
/epf-add-form - Добавить макет:
/template-add - Собрать EPF:
/epf-build
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Desko77
- Source: Desko77/claude-code-skills-1c
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.