con un clic
epf-bsp-add-command
Добавить команду в дополнительную обработку БСП
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Добавить команду в дополнительную обработку БСП
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
HTTP bridge-расширение для демо- и тестовых баз 1С. Используй когда нужно поставить или вызвать CodexTestBridge CFE вместо COM-подключения, получить метаданные по HTTP, создать/прочитать тестовые данные, выполнить запрос или проверить внешние отчеты и печатные формы без UI.
Создание информационной базы 1С. Используй когда пользователь просит создать базу, новую ИБ, пустую базу
Публикация информационной базы 1С через Apache. Используй когда пользователь просит опубликовать базу, сервисы, настроить веб-доступ, веб-клиент, открыть в браузере
Добавить объект метаданных в конфигурацию 1С с формой, подсистемой и валидацией. Workflow: meta-compile → cf-edit → subsystem-edit → form-add → form-compile → validate.
Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из состава, настроить роли по умолчанию
Анализ структуры конфигурации 1С — свойства, состав, счётчики объектов. Используй для обзора конфигурации — какие объекты есть, сколько их, какие настройки
| name | epf-bsp-add-command |
| description | Добавить команду в дополнительную обработку БСП |
| argument-hint | <ProcessorName> <Идентификатор> [ТипКоманды] [Представление] |
| allowed-tools | ["Read","Edit","Glob","Grep"] |
Добавляет команду в существующую функцию СведенияОВнешнейОбработке() и генерирует соответствующий обработчик.
Предварительно обработка должна быть инициализирована через /epf-bsp-init.
/epf-bsp-add-command <ProcessorName> <Идентификатор> [ТипКоманды] [Представление]
| Параметр | Обязательный | По умолчанию | Описание |
|---|---|---|---|
| ProcessorName | да | — | Имя обработки |
| Идентификатор | да | — | Внутреннее имя команды (латиница) |
| ТипКоманды | нет | из вида обработки | Тип запуска команды (см. маппинг ниже) |
| Представление | нет | = Идентификатор | Отображаемое имя команды для пользователя |
| SrcDir | нет | src | Каталог исходников |
Пользователь может указать тип в свободной форме:
| Пользователь пишет | ТипКоманды |
|---|---|
| открыть форму, форма | ТипКомандыОткрытиеФормы() |
| клиентский метод, на клиенте | ТипКомандыВызовКлиентскогоМетода() |
| серверный метод, на сервере | ТипКомандыВызовСерверногоМетода() |
| заполнение формы, заполнить форму | ТипКомандыЗаполнениеФормы() |
| сценарий, безопасный режим | ТипКомандыСценарийВБезопасномРежиме() |
Если пользователь не указал тип — определи по виду обработки из существующего кода СведенияОВнешнейОбработке():
| Вид обработки (из кода) | ТипКоманды по умолчанию |
|---|---|
| ДополнительнаяОбработка | ТипКомандыОткрытиеФормы() |
| ДополнительныйОтчет | ТипКомандыОткрытиеФормы() |
| ЗаполнениеОбъекта | ТипКомандыВызовСерверногоМетода() |
| Отчет | ТипКомандыОткрытиеФормы() |
| ПечатнаяФорма | ТипКомандыВызовСерверногоМетода() |
| СозданиеСвязанныхОбъектов | ТипКомандыВызовСерверногоМетода() |
Вставляется в СведенияОВнешнейОбработке() перед строкой Возврат ПараметрыРегистрации:
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = '{{Представление}}'");
НоваяКоманда.Идентификатор = "{{Идентификатор}}";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.{{ТипКоманды}};
НоваяКоманда.ПоказыватьОповещение = Ложь;
Для печатных форм (ВидОбработкиПечатнаяФорма) добавь также:
НоваяКоманда.Модификатор = "ПечатьMXL";
Примечание: в отличие от первой команды (из /epf-bsp-init), дополнительные команды используют строковые литералы НСтр("ru = '...'") для представления и строку для идентификатора, а не Метаданные().
Если процедура ВыполнитьКоманду уже существует в модуле объекта, добавь ветку перед КонецЕсли:
ИначеЕсли ИдентификаторКоманды = "{{Идентификатор}}" Тогда
// TODO: Реализация {{Идентификатор}}
Для глобальных обработок (без ОбъектыНазначения):
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт
Если ИдентификаторКоманды = "{{Идентификатор}}" Тогда
// TODO: Реализация {{Идентификатор}}
КонецЕсли;
КонецПроцедуры
Для назначаемых обработок (с ОбъектыНазначения):
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, ПараметрыВыполненияКоманды) Экспорт
Если ИдентификаторКоманды = "{{Идентификатор}}" Тогда
// TODO: Реализация {{Идентификатор}}
КонецЕсли;
КонецПроцедуры
Добавь блок перед КонецПроцедуры:
ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "{{Идентификатор}}");
Если ПечатнаяФорма <> Неопределено Тогда
ПечатнаяФорма.ТабличныйДокумент = Сформировать{{Идентификатор}}(МассивОбъектов, ОбъектыПечати);
ПечатнаяФорма.СинонимМакета = НСтр("ru = '{{Представление}}'");
КонецЕсли;
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "{{Идентификатор}}");
Если ПечатнаяФорма <> Неопределено Тогда
ПечатнаяФорма.ТабличныйДокумент = Сформировать{{Идентификатор}}(МассивОбъектов, ОбъектыПечати);
ПечатнаяФорма.СинонимМакета = НСтр("ru = '{{Представление}}'");
КонецЕсли;
КонецПроцедуры
Добавляется в модуль формы (Forms/<FormName>/Ext/Form/Module.bsl):
Для глобальных обработок:
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды) Экспорт
Если ИдентификаторКоманды = "{{Идентификатор}}" Тогда
// TODO: Реализация {{Идентификатор}}
КонецЕсли;
КонецПроцедуры
Для назначаемых обработок:
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
Если ИдентификаторКоманды = "{{Идентификатор}}" Тогда
// TODO: Реализация {{Идентификатор}}
КонецЕсли;
КонецПроцедуры
Если процедура уже есть — добавь ветку ИначеЕсли.
ObjectModule.bsl через Glob: src/{{ProcessorName}}/Ext/ObjectModule.bslСведенияОВнешнейОбработке() существует. Если нет — предложи вызвать /epf-bsp-initВидОбработки...())Возврат ПараметрыРегистрацииObjectModule.bsl, область ПрограммныйИнтерфейсsrc/{{ProcessorName}}/Forms/*/Ext/Form/Module.bsl)ВыполнитьКоманду / Печать) уже есть — добавь ветку, не создавай дубль процедурыПользователь: /epf-bsp-add-command МояОбработка ЗаказПокупателя серверный "Заказ покупателя"
В СведенияОВнешнейОбработке() перед Возврат добавится:
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Заказ покупателя'");
НоваяКоманда.Идентификатор = "ЗаказПокупателя";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Ложь;
И в существующую процедуру ВыполнитьКоманду добавится блок обработки.