---
name: metadata-discovery
description: Работа с метаданными (Metadata Discovery). Навык учит агента **работать с метаданными конфигурации 1С** — находить объекты (справочники, документы, регистры, обработки), понимать их структуру и связи.
---
# Работа с метаданными (Metadata Discovery)
**Принцип:** Перед работой с бизнес-логикой — исследовать метаданные. Не создавать объекты «наугад», если пользователь не попросил явно.
## Инструменты
| Tool | Параметры | Назначение |
|------|-----------|------------|
| `list_metadata_objects` | metaType, nameMask, maxItems | Поиск объектов по типу и маске имени |
| `get_metadata_structure` | metaType, name | Структура: реквизиты, ТЧ, измерения, ресурсы |
| `navigate_symbol` | — | Переход к модулям, процедурам найденных объектов |
| `get_call_graph` | — | Анализ цепочек вызовов в модулях |
## Алгоритм работы
1. **Найти объект:** `list_metadata_objects(metaType, nameMask)` — проверить существование и тип. Для нечёткого поиска: `nameMask: "*Номенклатура*"`.
2. **Получить структуру:** `get_metadata_structure(metaType, name)` — реквизиты, ТЧ, измерения, ресурсы. Обязательно перед построением запроса.
3. **Анализ кода (при необходимости):** `navigate_symbol` → `get_call_graph`.
4. **Создание нового объекта:** агент НЕ создаёт объекты метаданных автоматически. Алгоритм: проверить что не существует → описать пользователю (имя, реквизиты, ТЧ) → пользователь создаёт в Конфигураторе/EDT → `get_metadata_structure` для верификации.
## Типичные ошибки
| Ошибка | Решение |
|--------|---------|
| Поиск по общему слову даёт много результатов | Сузить nameMask; указать metaType; уменьшить maxItems |
| Агент пытается создать объект сам | Протокол: агент описывает, пользователь создаёт в Конфигураторе/EDT |
---
depends_on: []
---