# Xdto Decompile

Выгрузка пакета XDTO 1С в XML-схему (XSD).

- Repository: https://github.com/Nikolay-Shirokov/cc-1c-skills (750 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add Nikolay-Shirokov/cc-1c-skills --skill xdto-decompile -g -a claude-code -y`
Codex: `npx skills add Nikolay-Shirokov/cc-1c-skills --skill xdto-decompile -g -a codex -y`
Cursor: `npx skills add Nikolay-Shirokov/cc-1c-skills --skill xdto-decompile -g -a cursor -y`
Gemini CLI: `npx skills add Nikolay-Shirokov/cc-1c-skills --skill xdto-decompile -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Nikolay-Shirokov/cc-1c-skills`

## Description

Выгрузка пакета XDTO 1С в XML-схему (XSD). Используй когда нужно получить схему существующего пакета, чтобы переработать её целиком, отдать контрагенту или перенести пакет в другую конфигурацию

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /xdto-decompile, Выгрузка пакета XDTO в XML-схему

Превращает пакет XDTO в обычную XML-схему, читаемую и редактируемую.
Заменяет чтение `Ext/Package.bin` напрямую.

## Параметры

| Параметр | Обязательный | Описание |
|----------|--------------|----------|
| `PackagePath` | да | Каталог пакета, путь к `Ext/Package.bin` или к `<Имя>.xml` объекта метаданных. Псевдоним, `-Path` |
| `OutFile` | нет | Записать схему в файл (UTF-8 с BOM). Без него, вывод в stdout |

```powershell
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-decompile.ps1" -PackagePath "<путь>"
```

Примеры:
```powershell
... -PackagePath src/XDTOPackages/ОбменСБанком
... -PackagePath src/XDTOPackages/ОбменСБанком -OutFile bank.xsd
```

## Переработка схемы целиком

`/xdto-decompile` → правка XSD → `/xdto-compile -Force` возвращает пакет без потерь,
включая имя, синоним и комментарий объекта метаданных, они выгружаются
в `xs:annotation/xs:appinfo`.

Этот же путь даёт версионную копию пакета: смени в схеме `targetNamespace` и собери
её с `-Name` нового пакета, имя и синоним задаются флагами `/xdto-compile`, внутри
схемы их править не нужно. Меняя пространство имён, поправь **и объявление `xmlns`
с тем же URI**: внутренние ссылки пользуются им как префиксом. Заменять все вхождения
строки нельзя, пострадает импорт пространства имён, для которого старый URI является
префиксом (`urn:пример:обмен` и `urn:пример:обмен:legacy`).

Этот путь нужен, когда схему меняют широко или сначала надо разобраться, как она
устроена. Чтобы поправить одно свойство, схему целиком читать не нужно, `/xdto-edit`.
Если нужна не схема, а сводка «что присвоить и что обязательно»,, `/xdto-info`.

В схеме могут встретиться атрибуты с префиксом `xdto:`, так записано то, что
XML Schema выразить не может (например `nillable` у атрибута). Схема при этом остаётся
валидной, валидаторы такие атрибуты игнорируют. Трогать их обычно не нужно; смысл
каждого описан в `xsd-reference.md` навыка `/xdto-compile`.

The rest: https://github.com/Nikolay-Shirokov/cc-1c-skills/blob/HEAD/.claude/skills/xdto-decompile/SKILL.md
