desko77/cursor-1c-skills/1c-bsp-registration

Claude Code and agent skill by desko77/cursor-1c-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Добавить функцию регистрации БСП (СведенияОВнешнейОбработке) в модуль объекта обработки

Install

npx vskill@latest install desko77/cursor-1c-skills/1c-bsp-registration

SKILL.md

/epf-bsp-init - Регистрация обработки в БСП

Добавляет в модуль объекта обработки функцию СведенияОВнешнейОбработке, необходимую для регистрации в подсистеме "Дополнительные отчеты и обработки" БСП.

Usage

/epf-bsp-init <ProcessorName> <Вид> [Назначение...]
ПараметрОбязательныйПо умолчаниюОписание
ProcessorNameда-Имя обработки (должна быть создана через /epf-init)
Видда-Вид обработки (см. маппинг ниже)
Назначение*-Объекты метаданных для назначаемых видов
SrcDirнетsrcКаталог исходников

\* Назначение обязательно для видов: ЗаполнениеОбъекта, Отчет, ПечатнаяФорма, СозданиеСвязанныхОбъектов.

Маппинг вида обработки

Пользователь может указать вид в свободной форме. Определи нужный по контексту:

Пользователь пишетВидAPI-метод
доп обработка, обработка, глобальнаяДополнительнаяОбработкаВидОбработкиДополнительнаяОбработка
доп отчет, глобальный отчетДополнительныйОтчетВидОбработкиДополнительныйОтчет
заполнение, заполнитьЗаполнениеОбъектаВидОбработкиЗаполнениеОбъекта
отчет (назначаемый, для объекта)ОтчетВидОбработкиОтчет
печатная форма, печатьПечатнаяФормаВидОбработкиПечатнаяФорма
создание связанных объектовСозданиеСвязанныхОбъектовВидОбработкиСозданиеСвязанныхОбъектов

Тип команды по умолчанию

ВидТипКоманды по умолчанию
ДополнительнаяОбработкаТипКомандыОткрытиеФормы
ДополнительныйОтчетТипКомандыОткрытиеФормы
ЗаполнениеОбъектаТипКомандыВызовСерверногоМетода
ОтчетТипКомандыОткрытиеФормы
ПечатнаяФормаТипКомандыВызовСерверногоМетода
СозданиеСвязанныхОбъектовТипКомандыВызовСерверногоМетода

Шаблон: СведенияОВнешнейОбработке

Базовый шаблон - одинаковый для всех видов, отличаются только вызовы API-методов и условные секции.

bsl
Функция СведенияОВнешнейОбработке Экспорт
МетаданныеОбработки = Метаданные;
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.{{ВидОбработки}};
ПараметрыРегистрации.Версия = "1.0";
{{СЕКЦИЯ_НАЗНАЧЕНИЕ}}
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить;
НоваяКоманда.Представление = МетаданныеОбработки.Представление;
НоваяКоманда.Идентификатор = МетаданныеОбработки.Имя;
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.{{ТипКоманды}};
НоваяКоманда.ПоказыватьОповещение = Ложь;
{{СЕКЦИЯ_МОДИФИКАТОР}}
Возврат ПараметрыРегистрации;
КонецФункции
Подстановки
  • {{ВидОбработки}} - API-метод из таблицы маппинга вида
  • {{ТипКоманды}} - API-метод из таблицы типа команды по умолчанию
Условные секции

`{{СЕКЦИЯ_НАЗНАЧЕНИЕ}}` - только для назначаемых видов (ЗаполнениеОбъекта, Отчет, ПечатнаяФорма, СозданиеСвязанныхОбъектов). Одна строка на каждый объект:

bsl
ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплату");

Формат имени объекта: ИмяКлассаОбъектаМетаданного.ИмяОбъекта (например Документ.СчетНаОплату, Справочник.Контрагенты).

Для глобальных видов (ДополнительнаяОбработка, ДополнительныйОтчет) - секция не нужна, удалить вместе с пустой строкой.

`{{СЕКЦИЯ_МОДИФИКАТОР}}` - только для ПечатнаяФорма:

bsl
НоваяКоманда.Модификатор = "ПечатьMXL";

Для остальных видов - удалить вместе с пустой строкой.

Если пользователь просит команду загрузки данных из файла (тип ТипКомандыЗагрузкаДанныхИзФайла), модификатор обязателен и содержит полное имя справочника-приемника, например НоваяКоманда.Модификатор = "Справочник.Номенклатура";. Без него команда не привязывается к справочнику в мастере загрузки данных из файла.

Шаблоны серверных обработчиков

Для видов с типом команды ВызовСерверногоМетода добавь соответствующую процедуру-обработчик в ту же область ПрограммныйИнтерфейс, после СведенияОВнешнейОбработке.

Для ЗаполнениеОбъекта
bsl
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, ПараметрыВыполненияКоманды) Экспорт
// TODO: Реализация
КонецПроцедуры
Для СозданиеСвязанныхОбъектов

Обработчик отличается от ЗаполнениеОбъекта третьим параметром СозданныеОбъекты - массив, в который добавляются ссылки созданных объектов:

bsl
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты, ПараметрыВыполненияКоманды) Экспорт
// TODO: Реализация
КонецПроцедуры
Для ПечатнаяФорма
bsl
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
// TODO: Реализация
КонецПроцедуры
Для ДополнительнаяОбработка / ДополнительныйОтчет (с ВызовСерверногоМетода)

Если пользователь явно выбрал серверный метод вместо открытия формы:

bsl
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт
// TODO: Реализация
КонецПроцедуры

Обрати внимание: у глобальных обработок нет параметра ОбъектыНазначения.

Инструкции

  1. Найди ObjectModule.bsl через Glob: src/{{ProcessorName}}/Ext/ObjectModule.bsl
  2. Прочитай файл
  3. Если СведенияОВнешнейОбработке уже есть - сообщи пользователю и не дублируй
  4. Если файл не найден - предложи сначала вызвать /epf-init
  5. Найди область #Область ПрограммныйИнтерфейс ... #КонецОбласти
  6. Вставь функцию СведенияОВнешнейОбработке внутрь этой области
  7. Если вид требует серверный обработчик - вставь его тоже в эту область, после функции
  8. Используй табы для отступов (как в исходном файле)

Пример

Пользователь: /epf-bsp-init МояОбработка печатная форма для Документ.СчетНаОплату

Результат в ObjectModule.bsl:

bsl
#Область ОписаниеПеременных
#КонецОбласти
#Область ПрограммныйИнтерфейс
Функция СведенияОВнешнейОбработке Экспорт
МетаданныеОбработки = Метаданные;
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма;
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплату");
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить;
НоваяКоманда.Представление = МетаданныеОбработки.Представление;
НоваяКоманда.Идентификатор = МетаданныеОбработки.Имя;
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода;
НоваяКоманда.ПоказыватьОповещение = Ложь;
НоваяКоманда.Модификатор = "ПечатьMXL";
Возврат ПараметрыРегистрации;
КонецФункции
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
// TODO: Реализация
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#КонецОбласти

Дальнейшие шаги

  • Добавить еще команду: /epf-bsp-add-command
  • Добавить форму: /epf-add-form
  • Добавить макет: /template-add
  • Собрать EPF: /epf-build

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
5

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/desko77/cursor-1c-skills/1c-bsp-registration/badge)](https://verified-skill.com/skills/desko77/cursor-1c-skills/1c-bsp-registration)

Something wrong with this skill or its page? Tell us.