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

# Адреса и наборы

> Корень сервиса, имена наборов сущностей, чтение по ключу и количество

## Корень сервиса

| Адрес | Что это |
| - | - |
| `https://server/base/hs/odata/v4/` | сервис с входом по Basic (пользователь 1С) |
| `https://server/base-svc/hs/odatat/v4/` | сервис с входом по токену, на отдельной публикации — см. [Токены](/odatav4/security/tokens) |

`GET` корня возвращает служебный документ — список опубликованных наборов:

```json theme={null}
{
  "@odata.context": "https://server/base/hs/odata/v4/$metadata",
  "value": [
    { "name": "Catalog_Номенклатура", "kind": "EntitySet", "url": "Catalog_Номенклатура" },
    { "name": "Document_РеализацияТоваровУслуг", "kind": "EntitySet", "url": "Document_РеализацияТоваровУслуг" }
  ]
}
```

Публикуются объекты из [состава публикации](/odatav4/admin/composition), которые пользователь может читать. Пока состав не настроен, это состав стандартного интерфейса OData — тот же, что видит `standard.odata`.

## Имена наборов

Имена совпадают со `standard.odata`, поэтому готовые запросы и отчёты переносятся заменой корня адреса.

| Вид объекта 1С | Набор |
| - | - |
| Справочник | `Catalog_Номенклатура` |
| Документ | `Document_РеализацияТоваровУслуг` |
| Табличная часть | `Document_РеализацияТоваровУслуг_Товары`, `Catalog_Номенклатура_ДополнительныеРеквизиты` |
| План видов характеристик | `ChartOfCharacteristicTypes_X` |
| План обмена | `ExchangePlan_X` |
| План видов расчёта | `ChartOfCalculationTypes_X` |
| План счетов | `ChartOfAccounts_Хозрасчетный` |
| Бизнес-процесс, задача | `BusinessProcess_X`, `Task_X` |
| Константа | `Constant_X` |
| Журнал документов | `DocumentJournal_X` |
| Регистр сведений | `InformationRegister_КурсыВалют` |
| Регистр накопления | `AccumulationRegister_ТоварыНаСкладах` |
| Регистр бухгалтерии | `AccountingRegister_Хозрасчетный` |
| Регистр расчёта | `CalculationRegister_X` |

У регистров, подчинённых регистратору, два набора:

* `AccumulationRegister_ТоварыНаСкладах` — наборы движений по регистратору, строки лежат в свойстве-коллекции `RecordSet`;
* `AccumulationRegister_ТоварыНаСкладах_RecordType` — отдельные записи, удобно для выгрузки и отборов.

То же у `InformationRegister_X` в режиме «Подчинение регистратору», `AccountingRegister_X` и `CalculationRegister_X`. Виртуальные таблицы регистров описаны в разделе [Регистры](/odatav4/read/registers).

## Чтение по ключу

Ключ ссылочного объекта — GUID. Принимаются обе формы: как в `standard.odata` и как в OData v4.

```http theme={null}
GET /hs/odata/v4/Catalog_Номенклатура(guid'3f2a1c90-5b7e-11ee-8c99-0242ac120002')
GET /hs/odata/v4/Catalog_Номенклатура(3f2a1c90-5b7e-11ee-8c99-0242ac120002)
```

У регистров ключ составной и записывается именованной формой:

```http theme={null}
GET /hs/odata/v4/InformationRegister_КурсыВалют(Period=datetime'2026-01-01T00:00:00',Валюта_Key=guid'…')
```

| Набор | Ключ |
| - | - |
| Независимый регистр сведений | `Period` (у периодического) и измерения |
| Записи, подчинённые регистратору (`…_RecordType`) | `Recorder`, `Recorder_Type`, `LineNumber` |
| Набор по регистратору | `Recorder`, `Recorder_Type` (при одном виде регистратора — `Recorder_Key`) |
| Регистр без ключевых полей, константа | `SurrogateKey` |

`SurrogateKey` выдаётся как `0`, у константы — `Constant_X(0)`. В `$filter`, `$orderby` и `$apply` он не участвует: поле не хранится в базе (`400`).

## Количество

```http theme={null}
GET /hs/odata/v4/Catalog_Контрагенты/$count
GET /hs/odata/v4/Catalog_Контрагенты/$count?$filter=ЭтоГруппа eq false
```

Ответ — число текстом. Количество вместе со страницей данных даёт `$count=true` (см. [Параметры запроса](/odatav4/read/query-options)).

## Ссылки и навигационные свойства

Реквизит-ссылка выдаётся двумя свойствами: `Контрагент_Key` (GUID) и навигационным `Контрагент`. Навигацию можно:

* раскрыть: `$expand=Контрагент` — см. [Раскрытие](/odatav4/read/expand);
* использовать в выражениях: `$filter=Контрагент/Description eq 'ООО Ромашка'`, `$orderby=Контрагент/Description`;
* открыть адресом: `Document_РеализацияТоваровУслуг(guid'…')/Контрагент`.

Путь через навигации — не длиннее 10 переходов: каждый переход — соединение в запросе 1С.

<Note>
  Навигация в объект вне состава публикации не публикуется. Путь через неё — `400` «Навигация в неопубликованный набор».
</Note>

## Составные поля

Поле составного типа (`Recorder`, `ExtDimension1`, реквизит «Справочник.А, Справочник.Б, Строка») выдаётся значением и типом:

```json theme={null}
{
  "Recorder": "8a1b…",
  "Recorder_Type": "StandardODATA.Document_РеализацияТоваровУслуг"
}
```

Отбирать по такому полю можно сравнением `eq`/`ne` с `cast(guid'…','Document_X')`, `cast('Значение','Перечисление')` или литералом — см. [Параметры запроса](/odatav4/read/query-options), раздел «Составные поля».


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