# 1c Skd Validate

> Валидация схемы компоновки данных 1С (СКД). Используй после создания или модификации СКД для проверки корректности

- Skill: `desko77/1c-skd-validate` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add desko77/1c-skd-validate`
- Raw SKILL.md: https://api.skillmd.com/api/skills/desko77/1c-skd-validate/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Desko77 (https://skillmd.com/u/desko77)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/desko77/1c-skd-validate

---


# /skd-validate - валидация СКД (DataCompositionSchema)

Проверяет структурную корректность Template.xml схемы компоновки данных. Выявляет ошибки формата, битые ссылки, дубликаты имен.

## Параметры

| Параметр     | Обяз. | Умолч. | Описание                                              |
|--------------|:-----:|---------|---------------------------------------------------------|
| TemplatePath | да    | -       | Путь к Template.xml или каталогу макета                 |
| Detailed     | нет   | -       | Подробный вывод (все проверки, включая успешные)         |
| MaxErrors    | нет   | 20      | Остановиться после N ошибок                             |
| OutFile      | нет   | -       | Записать результат в файл                               |
| IndexPath    | нет   | -      | Индекс от `1c-config-index`: включает сверку наборов данных с конфигурацией |

## Команда

```powershell
powershell.exe -NoProfile -File skills/1c-skd-validate/scripts/skd-validate.ps1 -TemplatePath "src/МойОтчет/Templates/ОсновнаяСхема"
powershell.exe -NoProfile -File skills/1c-skd-validate/scripts/skd-validate.ps1 -TemplatePath "Catalogs/Номенклатура/Templates/СКД/Ext/Template.xml"
```

## Сверка наборов данных с конфигурацией

Набор данных типа `Query` несет текст запроса, типа `Object` - имя объекта. И то и другое
может ссылаться на объект, которого в конфигурации уже нет, - схема при этом остается
структурно корректной, и валидатор ее пропускал.

С `-IndexPath` разбирается ДВУХЧАСТНОЕ имя метаданных: `РегистрНакопления.Остатки` проверяется
на существование. Оба языка запроса. Третья часть не трогается: в запросе она бывает и
табличной частью, и виртуальной таблицей, и значением перечисления, а отличить их без разбора
структуры запроса нельзя.

Литералы и комментарии вырезаются до разбора. Тяжесть - предупреждение.

Полная проверка текста запроса - имена полей, псевдонимы, виртуальные таблицы - в отдельном
навыке `1c-query-validate`.

```bash
python skills/1c-config-index/scripts/config-index.py -ConfigPath src -OutFile .cache/index.json
python skills/1c-skd-validate/scripts/skd-validate.py -TemplatePath src/Reports/Продажи/Templates/Схема/Ext/Template.xml -IndexPath .cache/index.json
```

