Получить поступления товаров и услуг

HTTP-сервис receipts, метод GetReceipts. Возвращает документы Поступление товаров и услуг (Документ.ПоступлениеТоваровУслуг) из 1С УПП.

Endpoint

GET /main/hs/receipts/get

Параметры запроса

Все параметры опциональны. Читаются из query string (ПараметрыЗапроса) или из URL-шаблона (ПараметрыURL).

Фильтры в запросе к базе

ПараметрТипОписание
fromstringНачало периода по дате документа. Работает только вместе с to
tostringКонец периода по дате документа. Работает только вместе с from
datestringФильтр по одной дате документа (весь день)
codestringФильтр по номеру поступления. Поиск ПОДОБНО — подстрока в номере
summnumberТочное совпадение суммы документа (СуммаДокумента)
approvedbooleanФильтр по проведённости. Истина: 1, true, yes, да

Пост-фильтры (после выборки из базы)

Поиск подстроки без учёта регистра (ВРег), если параметр задан.

ПараметрТипОписание
contractorstringПодстрока в наименовании контрагента
orgstringПодстрока в наименовании организации
warehousestringПодстрока в складе (СкладОрдер)
responsiblestringПодстрока в ответственном

Расширенный ответ

ПараметрТипОписание
fullbooleanПолные Сделка, табличные части Товары и Услуги, массив Вложения (с base64). Истина: 1, true, yes, да (без учёта регистра ключа в URL)

Форматы дат (from, to, date)

  • ДД.ММ.ГГГГ — например 01.01.2024
  • ГГГГ-ММ-ДД — например 2024-01-01
  • ДД-ММ-ГГГГ — если первый сегмент не год из 4 цифр

При некорректном формате даты ошибка попадает в массив errors, HTTP-код остаётся 200.

Примеры запросов

GET /main/hs/receipts/get
GET /main/hs/receipts/get?from=01.01.2025&to=31.01.2025
GET /main/hs/receipts/get?code=ПТ-00001001
GET /main/hs/receipts/get?contractor=ООО&warehouse=Северный&approved=true
GET /main/hs/receipts/get?date=15.03.2025&summ=125000
GET /main/hs/receipts/get?code=ПТ-00001001&full=true

Формат ответа

Базовый ответ

{
  "data": [
    {
      "Номер": "ПТ-00001001",
      "ДатаДокумента": "15.03.2025",
      "Дата": "15.03.2025",
      "Контрагент": "ООО «ПримерПоставка»",
      "Организация": "ООО «ДемоСтрой Альфа»",
      "Склад": "Склад «Северный»",
      "Ответственный": "Сидоров С.С.",
      "СуммаДокумента": 125000,
      "Комментарий": "Поступление по заказу поставщику",
      "Проведен": true,
      "Сделка": { "Есть": true, "Количество": 1 },
      "Вложения": { "Есть": true, "Количество": 2 }
    }
  ],
  "errors": []
}

Расширенный ответ (full=true)

Дополнительно к полям шапки:

{
  "data": [
    {
      "Номер": "ПТ-00001001",
      "ДатаДокумента": "15.03.2025",
      "Контрагент": "ООО «ПримерПоставка»",
      "СуммаДокумента": 125000,
      "Сделка": {
        "Тип": "ЗаказПоставщику",
        "Номер": "ЗК-00002015",
        "Дата": "10.03.2025",
        "НомерДата": "ЗК-00002015 от 10.03.2025"
      },
      "Товары": [
        {
          "НомерСтроки": "1",
          "Номенклатура": "Смесь DEMO-M300",
          "ХарактеристикаНоменклатуры": "",
          "ЕдиницаИзмерения": "мешок",
          "Количество": 50,
          "Цена": 2500,
          "Сумма": 125000,
          "СтавкаНДС": "НДС 20%",
          "СуммаНДС": 20833.33
        }
      ],
      "Услуги": [],
      "Вложения": [
        {
          "ИмяФайла": "invoice.pdf",
          "Данные": "JVBERi0xLjQK..."
        }
      ]
    }
  ],
  "errors": []
}

Поля ответа

Шапка поступления

ПолеТипИсточник в 1СОписание
dataarrayМассив поступлений. Сортировка: дата убыв., номер убыв.
data[].НомерstringНомерНомер документа
data[].ДатаДокументаstringДатаДата документа (ДД.ММ.ГГГГ) или пустая строка
data[].ДатаstringДатаДублирует ДатаДокумента
data[].КонтрагентstringКонтрагентКонтрагент. Если пусто — "Не указан"
data[].ОрганизацияstringОрганизацияОрганизация. Если пусто — "Не указана"
data[].СкладstringСкладОрдерСклад. Если пусто — "Не указан"
data[].ОтветственныйstringОтветственныйОтветственный. Если пусто — "Не указан"
data[].СуммаДокументаnumberСуммаДокументаСумма документа
data[].КомментарийstringКомментарийКомментарий
data[].ПроведенbooleanПроведенДокумент проведён

Сделка и вложения

Без full — сводки { Есть, Количество }. При full=true — полные данные.

ПолеТипОписание
data[].СделкаobjectДокумент-основание (заказ поставщику и т.д.)
data[].Сделка.ТипstringИмя метаданных документа-основания (только при full)
data[].Сделка.НомерstringНомер основания (только при full)
data[].Сделка.ДатаstringДата основания (ДД.ММ.ГГГГ, только при full)
data[].Сделка.НомерДатаstringПредставление «номер от дата» (только при full)
data[].Вложенияarray / objectБез full — сводка; с full — массив { ИмяФайла, Данные }

Табличные части (только при full=true)

ПолеТипИсточник в 1СОписание
data[].Товары[]arrayТЧ ТоварыСтроки товаров
data[].Товары[].НоменклатураstringНоменклатураНаименование номенклатуры
data[].Товары[].ХарактеристикаНоменклатурыstringХарактеристикаНоменклатурыХарактеристика
data[].Товары[].ЕдиницаИзмеренияstringЕдиницаИзмеренияЕдиница измерения
data[].Товары[].КоличествоnumberКоличествоКоличество
data[].Товары[].ЦенаnumberЦенаЦена
data[].Товары[].СуммаnumberСуммаСумма строки
data[].Товары[].СтавкаНДСstringСтавкаНДССтавка НДС
data[].Товары[].СуммаНДСnumberСуммаНДССумма НДС
data[].Услуги[]arrayТЧ УслугиСтроки услуг
data[].Услуги[].СодержаниеstringСодержаниеСодержание услуги
data[].Услуги[].НоменклатураstringНоменклатураНоменклатура услуги
errorsarrayОшибки парсинга параметров, чтения ТЧ или вложений

HTTP-коды

КодКогдаТело
200Запрос обработан{ "data": [...], "errors": [...] }
500Непредвиденная ошибка на стороне 1С{ "error": "текст ошибки" }

Массив errors при 200 не означает полный провал: data может содержать найденные поступления, а в errors — проблемы с отдельными документами.

Примечания

  • Поле Склад в ответе соответствует реквизиту СкладОрдер в 1С.
  • Без full табличные части Товары и Услуги не возвращаются — только сводки по Сделка и Вложения.
  • При full=true вложения могут быть большими (Base64) — используйте осознанно.
  • Поступление попадает в data только если успешно сериализуется в JSON; иначе ошибка уходит в errors.
  • Без параметров возвращаются все поступления (с учётом прав публикации 1С).
  • При успешном ответе (200) возвращается заголовок Access-Control-Allow-Origin: *.