git:20260819.286b4b8 to git:20260828.2b87e3e

4 added, 4 removed. Audit A to A.

---
name: 1c-subsystem-validate
description: Валидация подсистемы 1С. Используй после создания или модификации подсистемы для проверки корректности
argument-hint: <SubsystemPath> [-IndexPath index.json] [-Detailed] [-MaxErrors 30]
allowed-tools:
- Bash
- Read
- Glob
---
- # /subsystem-validate — валидация подсистемы 1С
+ # /subsystem-validate - валидация подсистемы 1С
Проверяет структурную корректность XML-файла подсистемы из выгрузки конфигурации.
## Параметры
| Параметр | Обяз. | Умолч. | Описание |
|---------------|:-----:|---------|--------------------------------------------|
- | SubsystemPath | да | — | Путь к XML-файлу подсистемы |
- | Detailed | нет | — | Подробный вывод (все проверки, включая успешные) |
+ | SubsystemPath | да | - | Путь к XML-файлу подсистемы |
+ | Detailed | нет | - | Подробный вывод (все проверки, включая успешные) |
| MaxErrors | нет | 30 | Остановиться после N ошибок |
- | OutFile | нет | — | Записать результат в файл |
+ | OutFile | нет | - | Записать результат в файл |
| IndexPath | нет | - | Индекс от `1c-config-index`: включает сверку состава с конфигурацией |
## Команда
```powershell
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"
```
## Сверка состава с конфигурацией (проверка 14)
Раньше валидатор проверял ФОРМУ записей состава - что это `xr:MDObjectRef`, что имя не во
множественном числе, что нет дублей. Существует ли объект на самом деле, он не знал: про
конфигурацию ему было ничего не известно.
С `-IndexPath` знает. Ссылка на удаленный объект больше не проходит молча.
Имена в составе (`Catalog.Контрагенты`) совпадают с ключами индекса, поэтому карта
соответствий не нужна. Ссылка по UUID не проверяется - разбирать ее нечем.
Тяжесть - предупреждение. В расширении формулировка мягче: объект может лежать в основной
конфигурации, которой в этой выгрузке нет.
```bash
python skills/1c-config-index/scripts/config-index.py -ConfigPath src -OutFile .cache/index.json
python skills/1c-subsystem-validate/scripts/subsystem-validate.py -SubsystemPath src/Subsystems/Продажи -IndexPath .cache/index.json
```