1c-subsystem-validate · git:20260819.f9839d8 · 2026-08-19 · sha256 92126cc457cfdfe8

1c-subsystem-validate git:20260819.f9839d8A

Immutable. This exact content is served forever at /api/v1/blob/92126cc457cfdfe8.

---
name: 1c-subsystem-validate
description: "Валидация подсистемы 1С. Используй после создания или модификации подсистемы для проверки корректности"
---

# /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
```