1c-subsystem-validate · diff
git:20260428.73f4551 to git:20260819.286b4b8
21 added, 1 removed. Audit A to A.
---
name: 1c-subsystem-validate
description: Валидация подсистемы 1С. Используй после создания или модификации подсистемы для проверки корректности
- argument-hint: <SubsystemPath> [-Detailed] [-MaxErrors 30]
+ argument-hint: <SubsystemPath> [-IndexPath index.json] [-Detailed] [-MaxErrors 30]
allowed-tools:
- Bash
- Read
- Glob
---
# /subsystem-validate — валидация подсистемы 1С
Проверяет структурную корректность XML-файла подсистемы из выгрузки конфигурации.
## Параметры
| Параметр | Обяз. | Умолч. | Описание |
|---------------|:-----:|---------|--------------------------------------------|
| SubsystemPath | да | — | Путь к XML-файлу подсистемы |
| Detailed | нет | — | Подробный вывод (все проверки, включая успешные) |
| MaxErrors | нет | 30 | Остановиться после N ошибок |
| 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
```