# 1c Xdto Info

> Анализ структуры пакета XDTO 1С - типы, свойства, точки входа. Используй как подготовительный шаг при написании кода, создающего и заполняющего объект XDTO, при разборе входящего XML, а также чтобы узнать, какие пакеты есть в конфигурации

- Skill: `desko77/1c-xdto-info` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add desko77/1c-xdto-info`
- Raw SKILL.md: https://api.skillmd.com/api/skills/desko77/1c-xdto-info/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-xdto-info

---


# /xdto-info - Анализ структуры пакета XDTO

Показывает структуру типа в терминах 1С: какой тип значения присваивать, что обязательно,
где нужен вложенный объект, какие значения допустимы. Заменяет чтение `Package.bin`
или XSD с ручным переводом `xs:decimal` → `Число` и `lowerBound="0"` → необязательный.

## Параметры

| Параметр | Обязательный | Описание |
|----------|--------------|----------|
| `PackagePath` | да | Каталог пакета либо корень исходников конфигурации. Псевдоним - `-Path` |
| `Namespace` | нет | Выбрать пакет по пространству имен (когда путь - корень исходников) |
| `Package` | нет | Выбрать пакет по имени объекта метаданных |
| `Name` | нет | Имя типа. Без выбранного пакета ищется по всей конфигурации |
| `Depth` | нет | Глубина разузлования вложенных объектов. По умолчанию 1 |
| `RequiredOnly` | нет | Оставить только обязательные свойства - скелет для "заполни обязательное". Необязательный объект уходит вместе со своим содержимым |
| `Mode` | нет | `used-by` - показать, кто ссылается на тип |
| `Limit` / `Offset` | нет | Пагинация. По умолчанию 150 строк |
| `OutFile` | нет | Записать результат в файл (UTF-8 BOM) |

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

## Что показывает

Точка входа определяется по пути: корень исходников - список пакетов, каталог пакета -
его состав.

| Вызов | Результат |
|---|---|
| `-PackagePath src` | все пакеты конфигурации: имя, число типов, namespace |
| `-PackagePath src/XDTOPackages/ОбменСБанком` | импорты, точки входа, списки типов |
| `... -Name ПлатежныйДокумент` | структура типа для заполнения |
| `... -Name ПлатежныйДокумент -Depth 3` | то же с раскрытием вложенных объектов |
| `... -Mode used-by -Name СуммаТип` | кто ссылается на тип, включая соседние пакеты |

## Когда известны namespace и тип, но не имя пакета

Так бывает чаще всего: namespace и имя типа видны в коде или в образце XML,
а как называется пакет - нет. Вызов повторяет строку, от которой отталкиваешься:

```powershell
# ФабрикаXDTO.Тип("urn:1C.ru:ClientBankExchange", "ПлатежныйДокумент")
... -PackagePath src -Namespace "urn:1C.ru:ClientBankExchange" -Name ПлатежныйДокумент
```

Если известно только имя типа - укажи `-Name` и корень исходников: тип найдется
по всем пакетам. При нескольких совпадениях навык покажет, где именно, чтобы уточнить.

## Что в выводе

Свойства показаны так, как их предстоит заполнять в коде: тип значения - в нотации
1С и с учетом ограничений (`Строка(6)`, `Число(18,2)`), обязательность и коллекции -
флагами, для перечислимых типов перечислены допустимые значения. Непомеченное
свойство необязательно.

Обозначения, которые сами по себе неочевидны, навык поясняет прямо в выводе -
и только те, что в нем встретились.

## Типичный workflow

1. `/xdto-info src` - какие пакеты есть
2. `/xdto-info src -Namespace "<URI>"` - точки входа и типы пакета
3. `/xdto-info src -Namespace "<URI>" -Name <Тип> -Depth 2` - структура для кода
4. Перед правкой типа: `-Mode used-by -Name <Тип>` - кого затронет

Нужна сама XML-схема, а не сводка, - это `/xdto-decompile`.

