Получить корректировки долга

HTTP-сервис debtadjustments, метод GetDebtAdjustments. Возвращает документы Корректировка долга (Документ.КорректировкаДолга): взаимозачёты, переносы и списания задолженности по расчётам с контрагентами, вместе с расшифровкой по сделкам.

Метод входит в блок взаиморасчётов с покупателями вместе с заказами покупателей и закрытиями заказов.

Вид операции (Перечисление.ВидыОперацийКорректировкаДолга):

  • проведение взаимозачета;
  • перенос задолженности;
  • списание задолженности.

Две особенности документа

1. У документа нет реквизита СуммаДокумента. Поле СуммаДокумента в ответе - это итог по ТЧ СуммыДолга, рассчитанный модулем. Поэтому фильтр summ применяется уже после расчёта итога, а не в запросе к базе.

2. Контрагент хранится двумя реквизитами - КонтрагентДебитор и КонтрагентКредитор. Единого поля «Контрагент» у документа нет. Для поиска по любой из сторон используйте contractor.

Связь с заказом покупателя

Заказ покупателя доступен двумя путями:

  • шапка - реквизит ЗаказПокупателяОплата (поля ЗаказПокупателяОплата и НомерЗаказаОплаты);
  • строки ТЧ - реквизит Сделка, среди типов которого есть Документ.ЗаказПокупателя (поле НомерЗаказаСделки заполнено только когда сделка действительно заказ покупателя).

Фильтр order проверяет оба пути.

Endpoint

GET /main/hs/debtadjustments/get

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

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

Отбор в запросе к базе

ПараметрТипОписание
fromstringНачало периода. Действует только вместе с to
tostringКонец периода, включительно до конца дня
datestringОдин день. Применяется дополнительно к from/to
codestringПодстрока в номере документа (ПОДОБНО %code%)
approvedbooleanФильтр по признаку проведения. Истина: 1, true, yes, да

Пост-фильтры по шапке

ПараметрТипПоле ответаОписание
summnumberСуммаДокументаТочное совпадение по рассчитанному итогу ТЧ, а не по реквизиту
orgstringОрганизацияПодстрока в наименовании организации
divisionstringПодразделениеПодстрока в подразделении
responsiblestringОтветственныйПодстрока в ответственном
commentstringКомментарийПодстрока в комментарии
typestringВидОперацииПодстрока в представлении вида операции, например взаимозачет
debtorstringКонтрагентДебиторПодстрока в наименовании дебитора
creditorstringКонтрагентКредиторПодстрока в наименовании кредитора
contractorstringобе стороныПодстрока в наименовании любой из двух сторон
contractstringДоговорПодстрока в представлении договора шапки. Слэш задавайте как _slash_

Пост-фильтры с учётом строк ТЧ

ПараметрТипГде ищетсяОписание
orderstringшапка и строкиПодстрока в номере заказа покупателя: НомерЗаказаОплаты или НомерЗаказаСделки
debttypestringстрокиПодстрока в виде задолженности: Дебиторская или Кредиторская

Документ попадает в ответ, если условию соответствует шапка или хотя бы одна строка. Сами строки при full=true не фильтруются - возвращается весь состав документа.

Прочие

ПараметрТипОписание
fullbooleanПолный ответ: вместо сводки приходят строки ТЧ СуммыДолга. Ключ читается как full, Full и FULL

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

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

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

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

GET /main/hs/debtadjustments/get
GET /main/hs/debtadjustments/get?from=01.02.2025&to=28.02.2025
GET /main/hs/debtadjustments/get?date=15.02.2025&full=true
GET /main/hs/debtadjustments/get?type=взаимозачет&approved=true
GET /main/hs/debtadjustments/get?contractor=ДемоКлиент&full=true
GET /main/hs/debtadjustments/get?debtor=ДемоКлиент&creditor=Поставщик
GET /main/hs/debtadjustments/get?order=ДК-00001008&full=true
GET /main/hs/debtadjustments/get?debttype=Дебиторская&from=01.01.2025&to=31.12.2025
GET /main/hs/debtadjustments/get?contract=ДГ-25_slash_042
GET /main/hs/debtadjustments/get?summ=250000

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

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

{
  "data": [
    {
      "Номер": "КД-00000045",
      "ДатаДокумента": "15.02.2025",
      "Дата": "15.02.2025",
      "Организация": "ООО «ДемоСтрой Альфа»",
      "Подразделение": "Бухгалтерия",
      "ВидОперации": "проведение взаимозачета",
      "КонтрагентДебитор": "ООО «ДемоКлиент»",
      "КонтрагентКредитор": "ООО «Поставщик»",
      "Договор": "ДГ-25/042",
      "Валюта": "руб.",
      "Ответственный": "Сидоров С.С.",
      "СуммаДокумента": 250000,
      "ЗаказПокупателяОплата": "Заказ покупателя ДК-00001008 от 15.03.2025",
      "НомерЗаказаОплаты": "ДК-00001008",
      "Комментарий": "",
      "Проведен": true,
      "ПометкаУдаления": false,
      "СуммыДолга": { "Есть": true, "Количество": 1 }
    }
  ],
  "errors": []
}

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

Вместо сводки приходит массив строк:

{
  "data": [
    {
      "Номер": "КД-00000045",
      "ДатаДокумента": "15.02.2025",
      "Дата": "15.02.2025",
      "КонтрагентДебитор": "ООО «ДемоКлиент»",
      "КонтрагентКредитор": "ООО «Поставщик»",
      "СуммаДокумента": 250000,
      "СуммыДолга": [
        {
          "НомерСтроки": "1",
          "Договор": "ДГ-25/042",
          "Сделка": "Заказ покупателя ДК-00001008 от 15.03.2025",
          "НомерЗаказаСделки": "ДК-00001008",
          "Сумма": 250000,
          "СуммаРегл": 250000,
          "СуммаНУ": 0,
          "ВидЗадолженности": "Дебиторская",
          "СчетУчетаРасчетов": "62.01",
          "СчетУчетаАвансов": "62.02",
          "ДокументРасчетовСКонтрагентом": ""
        }
      ]
    }
  ],
  "errors": []
}

Поля ответа

Шапка документа

ПолеТипИсточник в 1СОписание
dataarray—Массив документов. Сортировка: дата убыв., номер убыв.
data[].НомерstringНомерНомер документа
data[].ДатаДокументаstringДатаДата в формате ДД.ММ.ГГГГ
data[].ДатаstringДатаТо же значение, для совместимости с остальными методами
data[].ОрганизацияstringОрганизацияОрганизация, либо Не указана
data[].ПодразделениеstringПодразделениеПодразделение, либо Не указано
data[].ВидОперацииstringВидОперацииВид операции, либо пустая строка
data[].КонтрагентДебиторstringКонтрагентДебиторДебитор, либо Не указан
data[].КонтрагентКредиторstringКонтрагентКредиторКредитор, либо Не указан
data[].ДоговорstringДоговорКонтрагентаДоговор шапки, либо пустая строка
data[].ВалютаstringВалютаДокументаВалюта документа, либо пустая строка
data[].ОтветственныйstringОтветственныйОтветственный, либо Не указан
data[].СуммаДокументаnumberитог ТЧ СуммыДолгаРасчётное поле. Реквизита с этим значением у документа нет
data[].ЗаказПокупателяОплатаstringЗаказПокупателяОплатаПредставление заказа покупателя, либо пустая строка
data[].НомерЗаказаОплатыstringЗаказПокупателяОплата.НомерНомер этого заказа, либо пустая строка
data[].КомментарийstringКомментарийКомментарий, либо пустая строка
data[].ПроведенbooleanПроведенДокумент проведён
data[].ПометкаУдаленияbooleanПометкаУдаленияПометка на удаление

Дальше состав зависит от full:

ПолеРежимОписание
data[].СуммыДолгабез fullСводка { "Есть": boolean, "Количество": number } - число строк ТЧ
data[].СуммыДолгаfull=trueМассив строк ТЧ СуммыДолга

Строка ТЧ СуммыДолга (только при full=true)

ПолеТипИсточник в 1СОписание
НомерСтрокиstringНомерСтрокиНомер строки, строкой
ДоговорstringДоговорКонтрагентаДоговор строки, либо пустая строка
СделкаstringСделкаЗаказ покупателя, заказ поставщику или счёт на оплату
НомерЗаказаСделкиstringСделка как ЗаказПокупателяНомер заказа покупателя. Пустая строка, если сделка другого типа
СуммаnumberСуммаСумма по строке, 0 если не заполнена
СуммаРеглnumberСуммаРеглСумма регламентированного учёта
СуммаНУnumberСуммаНУСумма налогового учёта
ВидЗадолженностиstringВидЗадолженностиДебиторская или Кредиторская, либо пустая строка
СчетУчетаРасчетовstringСчетУчетаРасчетовСчёт учёта расчётов
СчетУчетаАвансовstringСчетУчетаАвансовСчёт учёта авансов
ДокументРасчетовСКонтрагентомstringДокументРасчетовСКонтрагентомДокумент расчётов, либо пустая строка

Ошибки и производительность

  • Строки ТЧ читаются отдельным запросом к Документ.КорректировкаДолга.СуммыДолга, без ПолучитьОбъект().
  • Строки читаются всегда, даже без full: без них нельзя посчитать СуммаДокумента и применить фильтры summ / order / debttype.
  • Если строки прочитать не удалось, документ попадает в data с СуммаДокумента равной 0 и пустой сводкой, а причина уходит в errors. HTTP-код остаётся 200.
  • Реквизиты бухгалтерских проводок шапки (СчетДт, СчетКт, СубконтоДт1..3, СубконтоКт1..3 и их аналоги по НУ) в ответ не выводятся: они составные, с десятками допустимых типов, и для интеграционных задач бесполезны.