Получить заказы на производство

HTTP-сервис morders, метод GetMOrders. Возвращает документы Заказ на производство (Документ.ЗаказНаПроизводство) из 1С УПП.

Endpoint

GET /main/hs/morders/get

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

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

ПараметрТипОписание
codestringФильтр по номеру заказа. Поиск ПОДОБНО — подстрока в номере. Пример: 565 найдёт ЗП-00001042, ЗП-00001043
contractstringФильтр по комментарию/договору (поле Комментарий в 1С). Поиск ПОДОБНО. Символ / передавайте как _slash_
fromstringНачало периода по дате документа. Работает только вместе с to
tostringКонец периода по дате документа. Работает только вместе с from
fullbooleanРасширенный ответ: ссылка 1С, табличные части Продукция и Материалы. Истина: 1, true, yes, да (без учёта регистра)

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

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

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

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

GET /main/hs/morders/get
GET /main/hs/morders/get?code=565
GET /main/hs/morders/get?contract=DEMO%20obj
GET /main/hs/morders/get?contract=02_slash_25%20DEMO%20obj
GET /main/hs/morders/get?from=01.01.2024&to=31.12.2024
GET /main/hs/morders/get?code=565&full=true

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

Базовый ответ (full не задан или false)

{
  "data": [
    {
      "Номер": "ЗП-00001042",
      "Дата": "12.12.2024",
      "Договор": "Договор DEMO-001",
      "Организация": "ООО «ДемоСтрой Альфа»",
      "Ответственный": "Сидоров С.С."
    }
  ],
  "errors": []
}

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

Дополнительно к базовым полям:

{
  "data": [
    {
      "Ссылка": "Заказ на производство ЗП-00001042 от 12.12.2024 0:00:00",
      "Номер": "ЗП-00001042",
      "Дата": "12.12.2024",
      "Договор": "Договор DEMO-001",
      "Организация": "ООО «ДемоСтрой Альфа»",
      "Ответственный": "Сидоров С.С.",
      "Продукция": [
        {
          "Номенклатура": "Изделие DEMO-A",
          "Количество": 120,
          "ЕдиницаИзмерения": "шт"
        }
      ],
      "Материалы": [
        {
          "Номенклатура": "Смесь DEMO-M300",
          "Количество": 2.5,
          "ЕдиницаИзмерения": "т"
        }
      ]
    }
  ],
  "errors": []
}

Поля ответа

ПолеТипИсточник в 1СОписание
dataarrayМассив заказов на производство, сортировка по дате по возрастанию
data[].НомерstringНомерНомер документа. Если пусто — "Не указан"
data[].ДатаstringДатаДата в формате ДД.ММ.ГГГГ. Если пусто — "Не указана"
data[].ДоговорstringКомментарийТекст комментария/договора. Если пусто — "Не указан"
data[].ОрганизацияstringОрганизация.НаименованиеОрганизация
data[].ОтветственныйstringОтветственный.НаименованиеОтветственный
data[].СсылкаstringСсылкаТолько при full=true. Строковое представление ссылки 1С
data[].ПродукцияarrayТЧ ПродукцияТолько при full=true
data[].Продукция[].НоменклатураstringНоменклатура.НаименованиеНаименование
data[].Продукция[].КоличествоnumberКоличествоКоличество
data[].Продукция[].ЕдиницаИзмеренияstringЕдиницаИзмерения.НаименованиеЕдиница измерения
data[].МатериалыarrayТЧ МатериалыТолько при full=true, структура аналогична Продукция
errorsarrayОшибки парсинга параметров или загрузки табличных частей отдельных документов

HTTP-коды

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

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

Примечания

  • Поле Договор в JSON — это Комментарий документа в 1С, а не ссылка на справочник договоров.
  • Фильтры code и contract можно комбинировать с периодом from/to.
  • Без параметров возвращаются все заказы на производство (с учётом прав доступа публикации 1С).
  • Ответ содержит заголовок Access-Control-Allow-Origin: *.