원클릭으로
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