> ## Documentation Index
> Fetch the complete documentation index at: https://docs.1unic.com/odatav4/llms.txt
> Use this file to discover all available pages before exploring further.

# $metadata

> Описание модели в CSDL XML и CSDL JSON

`$metadata` описывает все опубликованные наборы, их свойства, ключи, навигации, действия и функции. По нему Power BI, Excel и генераторы клиентов строят модель данных.

## Форматы

<CodeGroup>
  ```http CSDL XML (по умолчанию) theme={null}
  GET /hs/odata/v4/$metadata
  ```

  ```http CSDL JSON theme={null}
  GET /hs/odata/v4/$metadata?$format=json
  ```

  ```http CSDL JSON по заголовку theme={null}
  GET /hs/odata/v4/$metadata
  Accept: application/json
  ```
</CodeGroup>

CSDL JSON выдаётся по `$format=json` или по `Accept: application/json`, если в заголовке нет `application/xml`.

## Что описано

* Типы сущностей и наборы с именами, совместимыми со `standard.odata`, в пространстве имён `StandardODATA`.
* Действия `Post` и `Unpost` — у каждого документа, связанные `Action` с параметром `PostingModeOperational` (см. [Проведение](/odatav4/write/posting)).
* Виртуальные таблицы регистров — связанные `Function` у коллекции регистра (см. [Регистры](/odatav4/read/registers)).
* Коллекции без собственного набора (`ExtDimensionTypes`, `LeadingCalculationTypes`) объявлены как `ComplexType`.

Если пользователю назначен профиль доступа, `$metadata` и служебный документ строятся по урезанной модели: скрытые наборы и поля в них не попадают.

## Размер и скорость

Размер `$metadata` определяется [составом публикации](/odatav4/admin/composition). У большой конфигурации полный состав — несколько мегабайт: в замерах на крупной конфигурации — около 5 МБ XML. Публикуйте только нужные объекты: это уменьшает документ, ускоряет обновление моделей в Power BI и снижает память сеансов веб-сервера.

### Кэш между сеансами

Настройка «Хранить `$metadata` между сеансами» включена по умолчанию. Готовые документы хранятся в базе по ключу, который учитывает:

* состав публикации и настройки;
* профиль пользователя и доступные ему объекты;
* версию платформы, конфигурации и расширений.

С кэшем первый `$metadata` в новом сеансе — около 0,55 с вместо 2,7 с. Повторный запрос в том же сеансе — десятки миллисекунд.

### Проверка изменений конфигурации

| Режим | Поведение |
| - | - |
| **Полная** (по умолчанию) | обходит метаданные (около 0,3 с на новый сеанс) и замечает любое изменение |
| **По номеру версии** | быстрее, но изменение конфигурации без смены номера версии будет замечено только после перезапуска веб-сервера или очистки кэша |

Чтобы очистить кэш вручную, снимите и снова поставьте флажок «Хранить `$metadata` между сеансами».

<Note>
  Изменения состава публикации, настроек и профилей действуют со следующего запроса, без перезапуска веб-сервера.
</Note>

Вывод CSDL может выполнять Rust-компонента (переключатель «Вывод `$metadata`») — см. [Rust-компонента](/odatav4/admin/native).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.