Skip to main content
Состав публикации определяет, какие объекты конфигурации видны через сервис. Он хранится в регистре сведений OData4_Состав и настраивается на вкладке Состав формы «Настройки OData4».

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

Пока состав не настроен, сервис публикует то же, что стандартный интерфейс OData платформы: объекты, отмеченные в «Составе стандартного интерфейса OData» (ПолучитьСоставСтандартногоИнтерфейсаOData()). Если стандартный интерфейс у вас уже настроен, OData4 сразу работает с тем же набором объектов.
Платформа отдаёт состав стандартного интерфейса только администратору. Поэтому OData4 хранит его снимок, а снимок записывается при первом запросе администратора к сервису. Пока снимка нет, остальные пользователи получают 503 «Состав стандартного интерфейса OData не сохранён». Порядок действий — в разделе Установка.
Как только в составе появляется хотя бы одна запись, сервис публикует только отмеченные в нём объекты.

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

Вкладка «Состав» формы «Настройки OData4»

Вкладка «Состав» формы «Настройки OData4»

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

Развёрнутый объект: снятый флажок у поля «Адрес» исключает его из публикации

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

Правила

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

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

Состав определяет, что сервис может опубликовать вообще. Профили сужают это для конкретного пользователя или токена: закрывают объекты, поля и строки. Профиль не может открыть объект вне состава.