> ## 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.

# Состав публикации

> Какие объекты конфигурации публикует сервис и как исключить поля и табличные части.

**Состав публикации** определяет, какие объекты конфигурации видны через сервис. Он хранится в регистре сведений
`OData4_Состав` и настраивается на вкладке **Состав** формы [«Настройки OData4»](/odatav4/admin/settings).

## По умолчанию — как standard.odata

Пока состав не настроен, сервис публикует то же, что стандартный интерфейс OData платформы: объекты, отмеченные в
«Составе стандартного интерфейса OData» (`ПолучитьСоставСтандартногоИнтерфейсаOData()`). Если стандартный интерфейс
у вас уже настроен, OData4 сразу работает с тем же набором объектов.

<Note>
  Платформа отдаёт состав стандартного интерфейса только администратору. Поэтому OData4 хранит его снимок, а снимок
  записывается при первом запросе администратора к сервису. Пока снимка нет, остальные пользователи получают `503`
  «Состав стандартного интерфейса OData не сохранён». Порядок действий — в разделе [Установка](/odatav4/install/extension).
</Note>

Как только в составе появляется хотя бы одна запись, сервис публикует **только** отмеченные в нём объекты.

## Вкладка «Состав»

<Frame caption="Вкладка «Состав» формы «Настройки OData4»">
  <img src="https://mintcdn.com/o-data-v4/8iesiGXq06VGcZxz/images/admin/settings-composition.png?fit=max&auto=format&n=8iesiGXq06VGcZxz&q=85&s=d080ac77f5fd1039c6a9d438febfdc8d" alt="Вкладка «Состав» формы «Настройки OData4»" width="1094" height="680" data-path="images/admin/settings-composition.png" />
</Frame>

* **Дерево** видов объектов (справочники, документы, регистры, планы и т. д.) и объектов с флажками. Поля и табличные
  части объекта подгружаются, когда вы его разворачиваете. Снятый флажок у поля или табличной части исключает их из
  публикации.
* **Заполнить из стандартного интерфейса** — отмечает в дереве всё, что публикует `standard.odata`. Удобная
  отправная точка.
* **Добавить всё из ветки** — отмечает все объекты выбранного вида.
* **Обновить предупреждения** — пересчитывает предупреждения и оценку размера `$metadata`.
* **Записать** — сохраняет состав одним набором.

<Frame caption="Развёрнутый объект: снятый флажок у поля «Адрес» исключает его из публикации">
  <img src="https://mintcdn.com/o-data-v4/8iesiGXq06VGcZxz/images/admin/composition-fields.png?fit=max&auto=format&n=8iesiGXq06VGcZxz&q=85&s=7c11ef7e566ff85cfda593212a86a83b" alt="Развёрнутый объект: снятый флажок у поля «Адрес» исключает его из публикации" width="1094" height="680" data-path="images/admin/composition-fields.png" />
</Frame>

Предупреждения подсказывают, но сохранять не мешают. Они появляются, если:

* объект не входит в стандартный интерфейс OData;
* данные могут быть чувствительными: это видно по имени поля или по хранилищу значения;
* оценка размера `$metadata` больше 10 МБ;
* объект нельзя опубликовать;
* исключено поле ключа;
* состав пуст.

## Правила

* **Поля ключа не исключаются**: `Ссылка` (`Ref_Key`), `НомерСтроки`, измерения регистров, `Регистратор`, `Период`
  периодического регистра. Они нужны для адресации записей.
* **Навигация в неопубликованный объект** не публикуется. Путь через неё в `$filter`, `$orderby` или `$expand`
  получает `400` «Навигация в неопубликованный набор». Поле-ссылка (`Контрагент_Key`) при этом остаётся.
* **Пустой состав** (сохранён без единого объекта) означает, что сервис ничего не публикует. К стандартному
  интерфейсу он не возвращается.
* **Журналы документов** показывают только строки документов из состава.
* Изменение состава действует **со следующего запроса**: модель кэшируется по ключу, в который входит содержимое
  состава.

<Tip>
  Публикуйте только то, что нужно клиентам. От состава зависят размер `$metadata`, время первого запроса нового
  сеанса и память рабочего процесса веб-сервера. Подробнее — [Производительность](/odatav4/admin/performance).
</Tip>

## Состав и профили

Состав определяет, что сервис может опубликовать **вообще**. [Профили](/odatav4/security/profiles) сужают это для
конкретного пользователя или токена: закрывают объекты, поля и строки. Профиль не может открыть объект вне состава.


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