Получить банковские документы
HTTP-сервис bankpayments, метод GetBankPayments. Возвращает банковские документы одной выборкой: платёжные поручения (входящие и исходящие) и платёжные ордера.
Состав документов:
Документ.ПлатежноеПоручениеВходящееДокумент.ПлатежноеПоручениеИсходящееДокумент.ПлатежныйОрдерПоступлениеДенежныхСредствДокумент.ПлатежныйОрдерСписаниеДенежныхСредств
В отличие от ведомости по денежным средствам, которая отдаёт итоги по регистру, этот метод отдаёт сами документы - вплоть до всех строк их табличных частей.
Договор и назначение платежа
Поля Договор и НазначениеПлатежа приходят в базовом ответе, без full.
Договор - это представление реквизита ДоговорКонтрагента. Для банковских документов именно через него идёт связь с заказом покупателя: договор контрагента может ссылаться на заказ, и по этой связке видно, под какой наш договор с покупателем банк открыл целевой кредит или кредитную линию.
НазначениеПлатежаесть у трёх типов из четырёх. УПлатежныйОрдерСписаниеДенежныхСредствтакого реквизита в шапке нет, поэтому для него поле всегда приходит пустой строкой.
Endpoint
GET /main/hs/bankpayments/get
Параметры запроса
Все параметры опциональны. Читаются из query string (ПараметрыЗапроса) или из URL-шаблона (ПараметрыURL).
Отбор в запросе к базе
| Параметр | Тип | Описание |
|---|---|---|
from | string | Начало периода. Действует только вместе с to |
to | string | Конец периода, включительно до конца дня |
date | string | Один день. Применяется дополнительно к from/to, а не вместо них |
code | string | Подстрока в номере документа (ПОДОБНО %code%) |
summ | number | Точное совпадение по СуммаДокумента |
approved | boolean | Фильтр по признаку проведения |
type | string | Опрашивать только типы, чьё имя содержит подстроку, например ПлатежноеПоручениеВходящее. Применяется при построении запроса, а не после него. Если не подошёл ни один тип, data пустой, причина в errors |
Пост-фильтры (подстрока без учёта регистра)
| Параметр | Тип | Поле ответа | Описание |
|---|---|---|---|
org | string | Организация | Подстрока в наименовании организации |
contractor | string | Контрагент | Подстрока в контрагенте. Синоним: contactor |
account | string | СчетКасса | Подстрока в кассе или банковском счёте организации |
responsible | string | Ответственный | Подстрока в ответственном |
contract | string | Договор | Подстрока в представлении договора контрагента. Слэш в query задавайте как _slash_ |
purpose | string | НазначениеПлатежа | Подстрока в назначении платежа |
Прочие
| Параметр | Тип | Описание |
|---|---|---|
full | boolean | Полный ответ: все реквизиты шапки и все табличные части. Ключ читается как full, Full и FULL |
Форматы дат (from, to, date)
ДД.ММ.ГГГГ- например01.02.2025ГГГГ-ММ-ДД- например2025-02-01ДД-ММ-ГГГГ- если первый сегмент не год из 4 цифр
При некорректном формате даты ошибка попадает в массив errors, HTTP-код остаётся 200.
Примеры запросов
GET /main/hs/bankpayments/get
GET /main/hs/bankpayments/get?from=01.02.2025&to=28.02.2025
GET /main/hs/bankpayments/get?date=15.02.2025&full=true
GET /main/hs/bankpayments/get?type=ПлатежноеПоручениеВходящее&approved=true
GET /main/hs/bankpayments/get?org=Демо&summ=15000
GET /main/hs/bankpayments/get?contractor=Поставщик&from=01.02.2025&to=28.02.2025
GET /main/hs/bankpayments/get?account=Основная&responsible=Сидоров
GET /main/hs/bankpayments/get?code=00-000123&full=true
GET /main/hs/bankpayments/get?purpose=кредитная линия&from=01.01.2025&to=31.12.2025
GET /main/hs/bankpayments/get?contract=Основной договор 15_slash_2025
Формат ответа
Без full возвращается шапка и сводка по табличным частям:
{
"data": [
{
"ТипДокумента": "ПлатежноеПоручениеВходящее",
"Номер": "00-000123",
"ДатаДокумента": "15.02.2025",
"Дата": "15.02.2025",
"Организация": "ООО «ДемоСтрой Альфа»",
"Контрагент": "ООО «Поставщик»",
"Договор": "Основной договор 15/2025",
"НазначениеПлатежа": "Оплата по договору 15/2025 от 10.01.2025",
"СчетКасса": "Основная касса",
"ВидОперации": "Оплата от покупателя",
"Валюта": "руб.",
"Ответственный": "Сидоров С.С.",
"СуммаДокумента": 15000,
"Комментарий": "",
"Проведен": true,
"ПометкаУдаления": false,
"ТабличныеЧасти": { "Есть": true, "Количество": 1 }
}
],
"errors": []
}
С full=true вместо сводки приходят все реквизиты шапки и все строки ТЧ:
{
"data": [
{
"ТипДокумента": "ПлатежноеПоручениеВходящее",
"Номер": "00-000123",
"ДатаДокумента": "15.02.2025",
"Дата": "15.02.2025",
"Организация": "ООО «ДемоСтрой Альфа»",
"Контрагент": "ООО «Поставщик»",
"Договор": "Основной договор 15/2025",
"НазначениеПлатежа": "Оплата по договору 15/2025 от 10.01.2025",
"СчетКасса": "Основная касса",
"ВидОперации": "Оплата от покупателя",
"Валюта": "руб.",
"Ответственный": "Сидоров С.С.",
"СуммаДокумента": 15000,
"Комментарий": "",
"Проведен": true,
"ПометкаУдаления": false,
"Реквизиты": {
"Контрагент": "ООО «Поставщик»",
"ВалютаДокумента": "руб."
},
"ТабличныеЧасти": {
"РасшифровкаПлатежа": [
{
"НомерСтроки": "1",
"Сумма": 15000,
"ДоговорКонтрагента": "Основной договор"
}
]
}
}
],
"errors": []
}
Поля ответа
Шапка приходит всегда:
| Поле | Тип | Описание |
|---|---|---|
data[].ТипДокумента | string | Имя объекта метаданных, например ПлатежноеПоручениеВходящее |
data[].Номер | string | Номер документа |
data[].ДатаДокумента | string | Дата (ДД.ММ.ГГГГ) |
data[].Дата | string | То же значение, для совместимости с остальными методами |
data[].Организация | string | Представление организации, либо Не указана |
data[].Контрагент | string | Представление контрагента, либо Не указан |
data[].Договор | string | Представление договора контрагента, либо пустая строка. Через него идёт связь с заказом покупателя |
data[].НазначениеПлатежа | string | Назначение платежа, либо пустая строка. Всегда пустое у ПлатежныйОрдерСписаниеДенежныхСредств |
data[].СчетКасса | string | Касса или банковский счёт организации, либо Не указан |
data[].ВидОперации | string | Вид операции документа, либо пустая строка |
data[].Валюта | string | Валюта документа, либо пустая строка |
data[].Ответственный | string | Ответственный, либо Не указан |
data[].СуммаДокумента | number | Сумма документа, 0 если не заполнена |
data[].Комментарий | string | Комментарий, либо пустая строка |
data[].Проведен | boolean | Признак проведения |
data[].ПометкаУдаления | boolean | Признак пометки на удаление |
Дальше состав зависит от full:
| Поле | Режим | Описание |
|---|---|---|
data[].ТабличныеЧасти | без full | Сводка { "Есть": boolean, "Количество": number } - суммарное число строк по всем ТЧ |
data[].Реквизиты | full=true | Объект: ключ - имя реквизита шапки из метаданных, значение - приведённое значение |
data[].ТабличныеЧасти | full=true | Объект: ключ - имя ТЧ, значение - массив строк; в каждой строке НомерСтроки и пара ключ-значение на каждый реквизит ТЧ |
Состав
РеквизитыиТабличныеЧастине фиксирован. Он читается из метаданных конкретного документа, поэтому у разных типов набор ключей разный. Не полагайтесь на наличие конкретного ключа - проверяйте его перед чтением.
Приведение значений
| Тип в 1С | В JSON |
|---|---|
| Строка, Число, Булево | как есть |
| Дата | строка ДД.ММ.ГГГГ |
| Ссылка на объект | строковое представление |
Пустая ссылка, NULL, Неопределено | пустая строка "" |
Ошибки и производительность
- Если объект документа не удалось прочитать, строка всё равно попадает в
data- с пустымиРеквизиты/ТабличныеЧасти, а причина уходит вerrors. HTTP-код остаётся 200. - Каждый документ читается через
ПолучитьОбъект(), то есть одно обращение к базе на документ. На широком периоде без фильтров ответ будет тяжёлым - сужайте период либо отбирайте поtype. - Сортировка сквозная по всем типам: дата по убыванию, затем номер по убыванию.