Получить закрытия заказов покупателей
HTTP-сервис orderclosings, метод GetOrderClosings. Возвращает документы Закрытие заказов покупателей (Документ.ЗакрытиеЗаказовПокупателей) с перечнем закрываемых заказов и причинами закрытия.
Метод входит в блок взаиморасчётов с покупателями вместе с заказами покупателей и корректировками долга.
Объект конфигурации называется во множественном числе -
ЗакрытиеЗаказовПокупателей. ОбъектаЗакрытиеЗаказаПокупателяв 1С УПП нет.
Особенность документа
В шапке документа нет ни контрагента, ни суммы: только организация, подразделение, вид операции и ответственный. Контрагент, договор и сумма относятся к самим заказам и возвращаются по каждой строке табличной части Заказы.
Поэтому фильтры contractor и order работают по строкам ТЧ, а не по шапке.
Отсюда главное отличие метода от остальных: массив Заказы приходит всегда, в том числе без full. Перечень закрываемых заказов - это и есть содержание документа, и подменять его сводкой Есть/Количество бессмысленно: по такому ответу нельзя понять, какой заказ закрыт. Параметр full не включает заказы, а дополняет каждую строку данными самого заказа.
Вид операции (Перечисление.ВидыОперацийЗакрытиеЗаказовПокупателей):
- закрытие заказов от покупателей;
- снятие резервов и размещения.
Endpoint
GET /main/hs/orderclosings/get
Параметры запроса
Все параметры опциональны. Читаются из query string (ПараметрыЗапроса) или из URL-шаблона (ПараметрыURL).
Отбор в запросе к базе
| Параметр | Тип | Описание |
|---|---|---|
from | string | Начало периода. Действует только вместе с to |
to | string | Конец периода, включительно до конца дня |
date | string | Один день. Применяется дополнительно к from/to |
code | string | Подстрока в номере документа (ПОДОБНО %code%) |
approved | boolean | Фильтр по признаку проведения. Истина: 1, true, yes, да |
Пост-фильтры по шапке
| Параметр | Тип | Поле ответа | Описание |
|---|---|---|---|
org | string | Организация | Подстрока в наименовании организации |
division | string | Подразделение | Подстрока в подразделении |
responsible | string | Ответственный | Подстрока в ответственном |
comment | string | Комментарий | Подстрока в комментарии |
type | string | ВидОперации | Подстрока в представлении вида операции |
Пост-фильтры по строкам ТЧ
| Параметр | Тип | Поле строки | Описание |
|---|---|---|---|
reason | string | ПричинаЗакрытияЗаказа | Подстрока в причине закрытия |
order | string | НомерЗаказа | Подстрока в номере заказа покупателя |
contractor | string | Контрагент | Подстрока в контрагенте заказа |
Документ попадает в ответ, если условию соответствует хотя бы одна строка. Сами строки при этом не фильтруются - возвращается весь состав документа.
Прочие
| Параметр | Тип | Описание |
|---|---|---|
full | boolean | Дополняет каждую строку Заказы данными заказа: договор, сумма, организация, ответственный, склад, даты оплаты и отгрузки. Ключ читается как full, Full и FULL |
Форматы дат (from, to, date)
ДД.ММ.ГГГГ- например01.02.2025ГГГГ-ММ-ДД- например2025-02-01ДД-ММ-ГГГГ- если первый сегмент не год из 4 цифр
При некорректном формате даты ошибка попадает в массив errors, HTTP-код остаётся 200.
Примеры запросов
GET /main/hs/orderclosings/get
GET /main/hs/orderclosings/get?from=01.02.2025&to=28.02.2025
GET /main/hs/orderclosings/get?date=15.02.2025&full=true
GET /main/hs/orderclosings/get?approved=true
GET /main/hs/orderclosings/get?contractor=ДемоКлиент
GET /main/hs/orderclosings/get?order=ДК-00001008
GET /main/hs/orderclosings/get?reason=Отказ&from=01.01.2025&to=31.12.2025
GET /main/hs/orderclosings/get?type=снятие резервов
Формат ответа
Базовый ответ
{
"data": [
{
"Номер": "ЗЗ-00000012",
"ДатаДокумента": "15.02.2025",
"Дата": "15.02.2025",
"Организация": "ООО «ДемоСтрой Альфа»",
"Подразделение": "Отдел продаж",
"ВидОперации": "закрытие заказов от покупателей",
"Ответственный": "Сидоров С.С.",
"КоличествоЗаказов": 1,
"Комментарий": "",
"Проведен": true,
"ПометкаУдаления": false,
"Заказы": [
{
"НомерСтроки": "1",
"ЗаказПокупателя": "Заказ покупателя ДК-00001008 от 15.03.2025",
"НомерЗаказа": "ДК-00001008",
"ДатаЗаказа": "15.03.2025",
"Контрагент": "ООО «ДемоКлиент»",
"ПричинаЗакрытияЗаказа": "Отказ покупателя"
}
]
}
],
"errors": []
}
Расширенный ответ (full=true)
Шапка та же, меняется только состав строк в Заказы:
{
"Заказы": [
{
"НомерСтроки": "1",
"ЗаказПокупателя": "Заказ покупателя ДК-00001008 от 15.03.2025",
"НомерЗаказа": "ДК-00001008",
"ДатаЗаказа": "15.03.2025",
"Контрагент": "ООО «ДемоКлиент»",
"ПричинаЗакрытияЗаказа": "Отказ покупателя",
"Договор": "ДГ-25/042",
"СуммаЗаказа": 1500000,
"ОрганизацияЗаказа": "ООО «ДемоСтрой Альфа»",
"ОтветственныйЗаказа": "Петрова А.А.",
"Склад": "Склад «Северный»",
"ДатаОплаты": "20.03.2025",
"ДатаОтгрузки": "25.03.2025"
}
]
}
Поля ответа
Шапка документа
| Поле | Тип | Источник в 1С | Описание |
|---|---|---|---|
data | array | — | Массив документов. Сортировка: дата убыв., номер убыв. |
data[].Номер | string | Номер | Номер документа |
data[].ДатаДокумента | string | Дата | Дата в формате ДД.ММ.ГГГГ |
data[].Дата | string | Дата | То же значение, для совместимости с остальными методами |
data[].Организация | string | Организация | Организация, либо Не указана |
data[].Подразделение | string | Подразделение | Подразделение, либо Не указано |
data[].ВидОперации | string | ВидОперации | Вид операции, либо пустая строка |
data[].Ответственный | string | Ответственный | Ответственный, либо Не указан |
data[].КоличествоЗаказов | number | ТЧ Заказы | Число строк в ТЧ |
data[].Комментарий | string | Комментарий | Комментарий, либо пустая строка |
data[].Проведен | boolean | Проведен | Документ проведён |
data[].ПометкаУдаления | boolean | ПометкаУдаления | Пометка на удаление |
Строка массива Заказы
data[].Заказы - всегда массив, независимо от full. Эти поля есть в любом режиме:
| Поле | Тип | Источник в 1С | Описание |
|---|---|---|---|
НомерСтроки | string | НомерСтроки | Номер строки, строкой |
ЗаказПокупателя | string | ЗаказПокупателя | Представление заказа |
НомерЗаказа | string | ЗаказПокупателя.Номер | Номер заказа покупателя |
ДатаЗаказа | string | ЗаказПокупателя.Дата | Дата заказа (ДД.ММ.ГГГГ), либо пустая строка |
Контрагент | string | ЗаказПокупателя.Контрагент | Контрагент заказа, либо Не указан |
ПричинаЗакрытияЗаказа | string | ПричинаЗакрытияЗаказа | Причина закрытия, либо пустая строка |
При full=true к каждой строке добавляются данные самого заказа:
| Поле | Тип | Источник в 1С | Описание |
|---|---|---|---|
Договор | string | ЗаказПокупателя.ДоговорКонтрагента | Договор из заказа, либо пустая строка |
СуммаЗаказа | number | ЗаказПокупателя.СуммаДокумента | Сумма заказа, 0 если не заполнена |
ОрганизацияЗаказа | string | ЗаказПокупателя.Организация | Организация заказа, либо Не указана |
ОтветственныйЗаказа | string | ЗаказПокупателя.Ответственный | Ответственный по заказу, либо Не указан |
Склад | string | ЗаказПокупателя.СкладГруппа | Склад заказа, либо Не указано |
ДатаОплаты | string | ЗаказПокупателя.ДатаОплаты | Дата оплаты (ДД.ММ.ГГГГ), либо пустая строка |
ДатаОтгрузки | string | ЗаказПокупателя.ДатаОтгрузки | Дата отгрузки (ДД.ММ.ГГГГ), либо пустая строка |
Ошибки и производительность
- Строки ТЧ читаются отдельным запросом, данные заказа берутся через точку.
ПолучитьОбъект()не используется, поэтому метод заметно легче кассовых и банковских документов. - Строки читаются всегда: они и есть содержание документа, плюс по ним работают фильтры
reason/order/contractor.fullменяет только состав полей строки, а не факт её чтения. - Если строки прочитать не удалось, документ всё равно попадает в
dataс пустым массивомЗаказыиКоличествоЗаказовравным0, а причина уходит вerrors. HTTP-код остаётся 200. - Реквизит
СпособЗаполнения(тип «Хранилище значения») в ответ не выводится: он не сериализуется в JSON.