بنقرة واحدة
1c-bsp-command
Добавить команду в дополнительную обработку БСП
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Добавить команду в дополнительную обработку БСП
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Транскрибирование видео и аудио файлов. Используй когда пользователь просит транскрибировать, расшифровать запись, сделать конспект встречи, извлечь речь из видео или аудио, преобразовать речь в текст. Для аудио (m4a/mp3/wav/ogg/flac/aac/wma) по умолчанию локальный faster-whisper + диаризация с автодетектом числа спикеров (pyannote community-1 GPU; с явным --num-speakers N - sherpa-onnx, быстрее). Для видео (mp4/mkv/webm/avi/mov) - Gemini API (разбор экрана + скриншоты) либо полностью локально (--engine local: whisper + локальная VLM). Разделение по спикерам с распознаванием имен по голосу между встречами (голосовая база) и по репликам.
Справочник API конфигурации 1С:ЗУП 3.1 (Зарплата и управление персоналом) по кадровому учету. Используй при разработке/доработке на ЗУП 3.1, когда нужны методы КадровыйУчет, КадровыйУчетРасширенный, ЗарплатаКадры, ФизическиеЛицаЗарплатаКадры - получение кадровых данных сотрудников и физлиц, стажи, даты приема/увольнения, договоры ГПХ, совместители, штатное расписание, остатки отпусков, паспортные данные, склонение ФИО, представления СКД ЗУП. Также расчетная часть: средний заработок и его перерасчет, начисления (план видов расчета, регистр расчета), пособия и обмен с СФР (СЭДО), страховые взносы, регламентированная и статистическая отчетность, корректировка движений через ПереносДанных. НЕ использовать для БП, ERP, УТ, УНФ - только ЗУП
Разработка и доработка под 1С:Предприятие 7.7 (она же "77", "семёрка"): правка и создание модулей кода (.1s, кодировка CP1251), форм (.frm), объектов конфигурации (1Cv7.MD), внешних обработок и отчётов (.ert), плюс разбор и сборка .ert / 1Cv7.MD через GComp. Используй ВСЕГДА, когда задача касается 1С 7.7: файлы .1s / .ert / .frm / .mdp / 1Cv7.MD; глобальный модуль, модули проведения и формы 7.7; синтаксис 7.7 (нет типа Булево; ПустаяСтрока; СоздатьОбъект; тернарник ?(); ошибка компиляции "Выражение должно иметь логический тип"); обход справочников и документов 7.7, выгрузка через ТаблицаЗначений или FileSystemObject; сборка или разбор внешних обработок 7.7 (gcomp); миграция данных с 7.7; поиск и правка кириллицы в .1s (обычный grep её не находит из-за CP1251). Применяй даже без явного "7.7", если речь о старой конфигурации с файлами .1s/.ert/.md или о ТиС / Торговле / Бухгалтерии 7.7 / УПП 7.7. НЕ использовать для 1С 8.x: EDT, .bsl, .mdo, .epf, .erf, .cf, .cfe, управляемые формы, расширения конфигурации (CFE)
Read, understand and safely edit Cleverence Mobile SMARTS (Склад 15 / Магазин 15) configuration stored as .mslx files - the XML algorithm graphs that drive handheld terminal (ТСД) workflows in 1C integration projects. Use this skill whenever the task touches Cleverence / Mobile SMARTS / "Клеверенс" / ТСД algorithms, .mslx files, document types or operations (обработчики) on the terminal, menu/scan/КМ logic on a scanner, calling 1C online from the TSD, or "почему скан не срабатывает / действие не найдено / кнопка не работает" on a handheld - even if the user does not say ".mslx" explicitly. Covers the action graph, transition chaining, OperationAction parameter mapping, the online 1C call mechanism, marking-code (КМ) line operations, and the CL_-copy rule for not breaking vendor operations on update.
Compose correct and optimized 1C:Enterprise query language queries. Covers ВЫБРАТЬ/ИЗ/ГДЕ structure, table naming (catalogs, documents, registers, virtual tables), field selection, joins, grouping, totals, temporary tables, and parameter usage. Includes accounting register virtual tables (Остатки, Обороты, ОстаткиИОбороты, ОборотыДтКт, ДвиженияССубконто) with Счет, Субконто, and correspondence parameters. Use when the agent needs to compose a 1C query for execute_query, or when the user asks to query, filter, aggregate, or analyze data from a 1C database. Triggered by requests involving 1C data retrieval, report building, or query debugging.
Программная разработка правил обмена в «Конвертация данных 2.1» (КД 2.0) через MCP-toolkit к живой ИБ. Создание/чтение/изменение Конвертаций, ПКО, ПКС, ПКЗ, ПВД, ПОД в справочниках КД и выгрузка итогового XML штатными обработками КД (ВыгрузкаКонвертации, ВыгрузкаРегистрации, ЗагрузкаКонвертации, ЗагрузкаСтруктурыМетаданных). Содержит схему данных, шаблоны BSL для execute_code, схему итогового XML, типичные ошибки. Триггеры на русском: «работа с КД 2.0», «правила обмена в КД», «создать конвертацию», «настроить ПКО ПКС ПКЗ», «выгрузить правила обмена в XML», «конвертация данных 2.1», «загрузить метаданные конфигурации в КД», «автонастройка правил конвертации». Триггеры на английском: «1C data conversion rules», «KD 2.0», «create conversion rule», «PKO PKS PKZ», «export exchange rules XML».
| name | 1c-bsp-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 = 'Заказ покупателя'");
НоваяКоманда.Идентификатор = "ЗаказПокупателя";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Ложь;
И в существующую процедуру ВыполнитьКоманду добавится блок обработки.