Получить остатки товаров
HTTP-сервис balances, метод GetBalances. Возвращает остатки номенклатуры на складах по регистру накопления ТоварыНаСкладах (РегистрНакопления.ТоварыНаСкладах) на указанную дату среза.
Endpoint
GET /main/hs/balances/get
Параметры запроса
Все параметры опциональны. Читаются из query string (ПараметрыЗапроса) или из URL-шаблона (ПараметрыURL).
| Параметр | Тип | Описание |
|---|---|---|
code | string | Фильтр по коду номенклатуры. Поиск ПОДОБНО — подстрока в Код |
name | string | Фильтр по наименованию номенклатуры. Поиск ПОДОБНО |
warehouse | string | Фильтр по наименованию склада в остатках. Подстрока без учёта регистра |
date | string | Дата среза остатков. Если не указан — конец текущего дня сеанса 1С |
full | boolean | Режим выборки. Истина: 1, true, yes, да |
Форматы даты (date)
ДД.ММ.ГГГГ— например15.03.2025ГГГГ-ММ-ДД— например2025-03-15ДД-ММ-ГГГГ— если первый сегмент не год из 4 цифр
При некорректном формате ошибка попадает в массив errors, HTTP-код остаётся 200.
Параметр full
| Значение | Поведение |
|---|---|
false (по умолчанию) | В data только номенклатура с суммарным остатком > 0 хотя бы на одном складе (после фильтра warehouse) |
true | Вся отфильтрованная номенклатура, включая нулевые остатки (пустой массив Остатки или нули по складам) |
Примеры запросов
GET /main/hs/balances/get
GET /main/hs/balances/get?name=бетон
GET /main/hs/balances/get?code=ДК-00001008
GET /main/hs/balances/get?warehouse=Северный
GET /main/hs/balances/get?date=15.03.2025
GET /main/hs/balances/get?date=2025-03-15&warehouse=Объект
GET /main/hs/balances/get?name=кирпич&full=true
Формат ответа
{
"data": [
{
"Код": "ДК-00001008",
"Наименование": "Смесь DEMO-M300",
"ЕдиницаИзмерения": "м3",
"ВидНоменклатуры": "Товар",
"НоменклатурнаяГруппа": "Стройматериалы",
"ДатаСреза": "15.03.2025",
"Остатки": [
{
"Склад": "Склад «Северный»",
"Количество": 125.5
},
{
"Склад": "Склад «Южный»",
"Количество": 40
}
]
}
],
"errors": []
}
В регистре остатки читаются только с ненулевым КоличествоОстаток. При full=true позиция без движений всё равно попадает в data с пустым Остатки.
Поля ответа
| Поле | Тип | Источник в 1С | Описание |
|---|---|---|---|
data | array | — | Массив позиций. Сортировка: наименование номенклатуры по возрастанию |
data[].Код | string | Номенклатура.Код | Код номенклатуры |
data[].Наименование | string | Номенклатура.Наименование | Наименование |
data[].ЕдиницаИзмерения | string | БазоваяЕдиницаИзмерения | Единица измерения |
data[].ВидНоменклатуры | string | ВидНоменклатуры | Вид номенклатуры |
data[].НоменклатурнаяГруппа | string | НоменклатурнаяГруппа | Номенклатурная группа |
data[].ДатаСреза | string | параметр date / сеанс | Дата среза в формате ДД.ММ.ГГГГ |
data[].Остатки | array | ТоварыНаСкладах.Остатки | Остатки по складам |
data[].Остатки[].Склад | string | Склад | Наименование склада |
data[].Остатки[].Количество | number | КоличествоОстаток | Количество на складе |
errors | array | — | Ошибки парсинга date или запроса остатков |
HTTP-коды
| Код | Когда | Тело |
|---|---|---|
| 200 | Запрос обработан | { "data": [...], "errors": [...] } |
| 500 | Непредвиденная ошибка на стороне 1С | { "error": "текст ошибки" } |
Примечания
- В выборку номенклатуры попадают только элементы (не группы), без пометки на удаление.
- Фильтр
warehouseотсекает строки вОстаткипо подстроке в наименовании склада; если после фильтра сумма остатков 0, позиция не попадает в ответ безfull=true. - Без
codeиnameвозвращается вся номенклатура (с учётомfullи остатков). - При ошибке чтения регистра остатков в
errorsдобавляется сообщение,dataможет содержать позиции с пустымиОстатки. - Ответ содержит заголовок
Access-Control-Allow-Origin: *.