Skill v1.0.1
Automated scan100/100+1 new
version: "1.0.1" name: subsystem-interface description: "Use for создания подсистем, управления их составом и настройки CommandInterface.xml (видимость, порядок команд, размещение в группах). Helps поддерживать навигацию конфигурации через xml-gen subsystem/interface compile/edit/validate."
Subsystem + Interface Operations
Когда применять
| Триггер | Действие | |
|---|---|---|
| Создать подсистему из JSON | subsystem compile subsystem.json <output_dir> | |
| Посмотреть состав подсистемы | subsystem info <subsystemPath> | |
| Добавить объект в подсистему | subsystem edit <path> --op add-content --value "Catalog.Товары" | |
| Проверить подсистему | subsystem validate <subsystemPath> | |
| Дерево подсистем | subsystem info --mode tree <subsystemPath> | |
| Скрыть/показать команду | xml-gen interface edit … --op hide/show | |
| Разместить команду в группе | xml-gen interface edit … --op place | |
| Задать порядок команд/подсистем/групп | xml-gen interface edit … --op set-order/set-subsystem-order/set-group-order | |
| Проверить CommandInterface.xml | xml-gen interface validate <ciPath> | |
| Видимость по роли | xml-gen interface edit … --op hide --role <RoleName> |
§1 Subsystem operations
subsystem compile
xml-gen subsystem compile <subsystem.json> <output_dir> [--parent <parentSubsystem.xml>] [--no-stubs]
--parent <path>— bottom-up регистрация: новая подсистема добавляется в ChildObjects родительской (а не в Configuration.xml).--no-stubs— отключить автосоздание stub-XML дляcontent/childrenбез файлов. По умолчанию включено — нужно чтобы валидация не падала в промежуточном состоянии.
subsystem info
xml-gen subsystem info [--mode brief|overview|full|tree|ci] <subsystemPath>
subsystem edit
xml-gen subsystem edit <subsystemPath> --op <operation> --value <value>
Операции: add-content / remove-content / add-child / remove-child / set-property
add-content—"Catalog.Товары"или["Catalog.Товары","Document.Заказ"]add-child— если файл<Parent>/Subsystems/<childName>.xmlотсутствует — создаётся stub-XML.set-property—"IncludeInCommandInterface=true","Synonym=Торговля","Picture=CommonPicture.ТорговляИСклад"
subsystem validate
13 проверок: XML-структура, Properties, Content, ChildObjects, файлы, CommandInterface.
xml-gen subsystem validate <subsystemPath>
§2 Interface operations
interface edit
xml-gen interface edit <ciPath> --op <operation> --value <value> [--role <RoleName>] [--create-if-missing] [--no-validate] [--definition-file <file.json>]
ciPath— путь кCommandInterface.xmlили к директории подсистемы (Ext/CommandInterface.xmlдобавляется автоматически).--definition-file— JSON-файл с массивом операций (пакетный режим; несовместим с--op).--create-if-missing— создать новый файл если отсутствует.--no-validate— пропустить авто-валидацию после изменений.
Операции
| Операция | Аргумент --value | |
|---|---|---|
hide | "Catalog.Товары.StandardCommand.Create" или ["Cmd1","Cmd2"] | |
show | "Report.Продажи.Command.Отчёт" | |
place | "command=Catalog.X.StandardCommand.Create group=CommandGroup.Документы" | |
set-order | '{"group":"CommandGroup.Отчеты","commands":["Cmd1","Cmd2"]}' | |
set-subsystem-order | '["Subsystem.X.Subsystem.A","Subsystem.X.Subsystem.B"]' | |
set-group-order | '["NavigationPanelOrdinary","NavigationPanelImportant"]' |
Пакетный режим (definition-file)
[{ "op": "hide", "value": "Catalog.Товары.StandardCommand.OpenList" },{ "op": "show", "value": "Report.Продажи.Command.Отчёт" },{ "op": "place", "value": "command=CommonCommand.Настройки group=CommandGroup.Сервис" }]
interface validate
xml-gen interface validate <ciPath> [--detailed] [--max-errors <N>]
13 проверок: корневой элемент <CommandInterface>, допустимые секции (CommandsVisibility/CommandsPlacement/CommandsOrder/SubsystemsOrder/GroupsOrder), канонический порядок секций, формат ссылок, дубликаты, значения true/false, ссылки на группы, формат Subsystem.X.Subsystem.Y, encoding UTF-8 BOM, лишние атрибуты.
Субагент reviewer обязан вызвать interface validate перед финальным ревью изменений в CommandInterface.xml.
Формат ссылок на команды
| Тип | Пример | |
|---|---|---|
| Общая команда | CommonCommand.ОткрытьСправочник | |
| Стандартная команда каталога | Catalog.Товары.StandardCommand.Create | |
| Стандартная команда (список) | Catalog.Товары.StandardCommand.OpenList | |
| Команда объекта | Catalog.Товары.Command.ПечатьЭтикетки | |
| Команда отчёта | Report.Продажи.Command.Отчёт | |
| UUID-ссылка | 0:<uuid> |
По умолчанию interface edit запускает interface validate после каждого изменения.
depends_on: [] metadata: category: 1c-development version: "1.0"