git:20260225.16f6008 to git:20260318.5802562

29 added, 21 removed. Audit A to A.

---
name: 1c-subsystem-validate
description: Валидация подсистемы 1С. Используй после создания или модификации подсистемы для проверки корректности
- argument-hint: <SubsystemPath> [-MaxErrors 30]
+ argument-hint: <SubsystemPath> [-Detailed] [-MaxErrors 30]
allowed-tools:
- Bash
- Read
- Glob
---
# /subsystem-validate — валидация подсистемы 1С
Проверяет структурную корректность XML-файла подсистемы из выгрузки конфигурации.
- ## Параметры и команда
+ ## Параметры
- | Параметр | Описание |
- |----------|----------|
- | `SubsystemPath` | Путь к XML-файлу подсистемы |
- | `MaxErrors` | Максимум ошибок до остановки (по умолчанию 30) |
- | `OutFile` | Записать результат в файл |
+ | Параметр | Обяз. | Умолч. | Описание |
+ |---------------|:-----:|---------|--------------------------------------------|
+ | SubsystemPath | да | — | Путь к XML-файлу подсистемы |
+ | Detailed | нет | — | Показывать [OK] для каждой проверки |
+ | MaxErrors | нет | 30 | Остановиться после N ошибок |
+ | OutFile | нет | — | Записать результат в файл |
+ ## Команда
+
```powershell
- powershell.exe -NoProfile -File 'skills/1c-subsystem-validate/scripts/subsystem-validate.ps1' -SubsystemPath '<путь>'
+ powershell.exe -NoProfile -File "skills/1c-subsystem-validate/scripts/subsystem-validate.ps1" -SubsystemPath "Subsystems/Продажи"
+ powershell.exe -NoProfile -File "skills/1c-subsystem-validate/scripts/subsystem-validate.ps1" -SubsystemPath "Subsystems/Продажи.xml"
```
## Проверки (13)
- 1. XML well-formedness + root structure (MetaDataObject/Subsystem)
- 2. Properties — 9 обязательных свойств
- 3. Name — непустой, валидный идентификатор
- 4. Synonym — непустой (хотя бы один v8:item)
- 5. Булевы свойства — содержат true/false
- 6. Content — формат xr:Item, xsi:type
- 7. Content — нет дубликатов
- 8. ChildObjects — элементы непустые
- 9. ChildObjects — нет дубликатов
- 10. ChildObjects → файлы существуют
- 11. CommandInterface.xml — well-formedness
- 12. Picture — формат ссылки
- 13. UseOneCommand=true → ровно 1 элемент в Content
+ | # | Проверка | Серьёзность |
+ |---|----------|-------------|
+ | 1 | XML well-formedness + root structure (MetaDataObject/Subsystem) | ERROR |
+ | 2 | Properties — 9 обязательных свойств | ERROR |
+ | 3 | Name — непустой, валидный идентификатор | ERROR |
+ | 4 | Synonym — непустой (хотя бы один v8:item) | WARN |
+ | 5 | Булевы свойства — содержат true/false | ERROR |
+ | 6 | Content — формат xr:Item, xsi:type | ERROR |
+ | 7 | Content — нет дубликатов | WARN |
+ | 8 | ChildObjects — элементы непустые | ERROR |
+ | 9 | ChildObjects — нет дубликатов | WARN |
+ | 10 | ChildObjects → файлы существуют | WARN |
+ | 11 | CommandInterface.xml — well-formedness | ERROR |
+ | 12 | Picture — формат ссылки | ERROR |
+ | 13 | UseOneCommand=true → ровно 1 элемент в Content | ERROR |
+
+ Exit code: 0 = OK, 1 = есть ошибки. По умолчанию краткий вывод. `-Detailed` для поштучной детализации.