Skip to content
Back to skills

1c Form Validate

ASecurity

Валидация управляемой формы 1С. Используй после создания или модификации формы для проверки корректности. При наличии BaseForm автоматически проверяет callType и ID расширений

  • 73 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentspythongoshellbash

Works with

  • cli

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add Desko77/claude-code-skills-1c --skill 1c-form-validate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 1c Form Validate?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 1c Form Validate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/desko77-1c-form-validate/badge)](https://www.skillsdirectory.com/skills/desko77-1c-form-validate)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: 1c-form-validate
description: Валидация управляемой формы 1С. Используй после создания или модификации формы для проверки корректности. При наличии BaseForm автоматически проверяет callType и ID расширений
argument-hint: <FormPath> [-IndexPath index.json] [-Detailed] [-MaxErrors 30]
allowed-tools:
  - Bash
  - Read
  - Glob
---

# /form-validate - валидация управляемой формы 1С

Проверяет Form.xml на структурные ошибки: уникальность ID, наличие companion-элементов, корректность ссылок DataPath и команд. `version` в Form.xml и в BaseForm сверяется с дескриптором: Configuration.xml конфигурации или расширения, либо корневой XML внешней обработки.

## Параметры

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

## Команда

```powershell
powershell.exe -NoProfile -File skills/1c-form-validate/scripts/form-validate.ps1 -FormPath "Catalogs/Номенклатура/Forms/ФормаЭлемента"
powershell.exe -NoProfile -File skills/1c-form-validate/scripts/form-validate.ps1 -FormPath "src/МояОбработка/Forms/Форма/Ext/Form.xml"
```

## Сверка путей данных с объектом-владельцем (проверка 13)

Проверка 5 убеждается, что КОРЕНЬ пути данных - существующий реквизит формы. Дальше путь не
разбирался вовсе: `Объект.ИНН` при отсутствующем `ИНН` у справочника проходил молча, потому что
валидатор ничего не знал про конфигурацию.

С `-IndexPath` он узнает. Владелец определяется по ТИПУ реквизита формы (`cfg:CatalogObject.Контрагенты`),
а не по пути файла: так работает и для формы записи регистра, и для формы, лежащей не там, где
принято. Дальше сверяются вторая часть пути (реквизит, табличная часть, измерение, ресурс,
стандартный реквизит) и третья (колонка табличной части).

Чего проверка НЕ делает намеренно:

- реквизит формы составного типа пропускается - путь может вести в любой из типов;
- реквизит типа `DynamicList` или `ValueTable` пропускается: его состав задается запросом или
  колонками формы, а не метаданными;
- объект без блока `StandardAttributes` пропускается целиком, иначе любой `Объект.Code` был бы
  объявлен несуществующим;
- дальше третьей части путь не разбирается - навигация по ссылке потребовала бы разрешать типы
  цепочкой.

Тяжесть - предупреждение. Проверка новая и кросс-объектная, а ложное срабатывание в валидаторе
дороже пропуска: тот, кто однажды получил ложную ошибку, отключает проверку целиком.

Стандартные реквизиты в путях данных пишутся внутренними английскими именами (`Объект.Description`,
`Объект.Code`, `Запись.Period`) - индекс отдает их ровно в таком виде, потому что берет из блока
`StandardAttributes` самой выгрузки.

```bash
python skills/1c-config-index/scripts/config-index.py -ConfigPath src -OutFile .cache/index.json
python skills/1c-form-validate/scripts/form-validate.py -FormPath src/Catalogs/Контрагенты/Forms/ФормаЭлемента -IndexPath .cache/index.json
```

Files in this skill

  • SKILL.md4.6 KB
  • evals/evals.json3.2 KB
  • scripts/form-validate.ps135.2 KB
  • scripts/form-validate.py39.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.