一键导入
epf-bsp-init
Добавить функцию регистрации БСП (СведенияОВнешнейОбработке) в модуль объекта обработки
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Добавить функцию регистрации БСП (СведенияОВнешнейОбработке) в модуль объекта обработки
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из состава, настроить роли по умолчанию
Анализ структуры конфигурации 1С - свойства, состав, счетчики объектов. Используй для обзора конфигурации - какие объекты есть, сколько их, какие настройки
Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля
Валидация конфигурации 1С. Используй после создания или модификации конфигурации для проверки корректности
Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации
Анализ расширения конфигурации 1С (CFE) - состав, заимствованные объекты, перехватчики, проверка переноса. Используй когда нужно понять что содержит расширение или проверить перенесены ли вставки в конфигурацию
| name | epf-bsp-init |
| description | Добавить функцию регистрации БСП (СведенияОВнешнейОбработке) в модуль объекта обработки |
| argument-hint | <ProcessorName> <Вид> |
| allowed-tools | ["Read","Edit","Glob","Grep"] |
Добавляет в модуль объекта обработки функцию СведенияОВнешнейОбработке(), необходимую для регистрации в подсистеме «Дополнительные отчеты и обработки» БСП.
/epf-bsp-init <ProcessorName> <Вид> [Назначение...]
| Параметр | Обязательный | По умолчанию | Описание |
|---|---|---|---|
| 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-build