Поиск ДДС
POST   /bs-core/main/fund-transactions/partial-load
Метод предназначен для поиска ДДС с возможность задавать набор полей в ответе и порядок сортировки элементов.
Поле externalAction является вычисляемым, поэтому в запросах типа partial-load получить его, к сожалению, нельзя.
Запрос
POST /bs-core/main/fund-transactions/partial-load
{
"fields": [
"orderId",
"amountMovingDirection.id",
"amount",
"date",
"contract.id",
"paymentType.id",
"settlementAccount.id",
"cashOffice.id",
"comment",
"account.id",
"client.id",
"linkedCashOffice.id"
],
"orderBy": "id",
"orderDirection": "ASC",
"searchFields": [
]
}
Для неполного набора полей по ДДС можно воспользоваться вот таким примером:
{
"fields": [
"orderId",
"contract.id",
"amount.local"
],
"orderBy": "id",
"orderDirection": "ASC",
"orderByFields": [
{ "field": "orderId" },
{ "field": "contract.id", "direction": "desc" }
],
"searchFields": [
{
"field": "date",
"value": ">=2017-09-01 00:00:00"
},
{
"field": "controlAmount.local",
"value": ">0"
}
]
}
Описание параметров
Параметр | Обязателен | Тип данных | Описание |
fields | R | [collection] | Коллекция полей, которые должны вернуться в результатах поиска. |
fields.{fieldName} | М | [string][255] | В качестве элементов списка могут быть указаны любые поля из сущности ДДС, которые не являются внешними ключами. Например: "date", "orderId" и так далее. Признаком внешнего ключа является указание в описание параметра на метод, который позволяет по ID (по значению параметра - получить объект). Пример: contractId. Для полей, которые являются внешними ключами - возможно получение любых полей объекта, ID котрого указано в поле. Например: в объекте ДДС есть поле contractId, котрое является внешним ключом. Это значит, что мы можем запросить любое поле объекта контракт: contract.id, contract.name и так далее. Также возможны варианты, при которых мы можем запросить поля из более глубоких сущностей, при наличии внешних ключей. Например: settlementAccount.bank.name - позволяет получить название банка, по счету которого была проведена ДДС (в самом ДДС указан только settlementAccountId - идентификатор счета) |
orderBy | R | [string][255] | Название поля, по которому надо делать сортировку. С релиза 2.0.0-65 для сортировки следует использовать коллецию orderByFields. |
orderDirection | R | [enum] | Направление сортировки результатов поиска
С релиза 2.0.0-65 для направления сортировки следует передавать направление в коллекции orderByFields. |
orderByFields | R | [collection] | Массив полей, по которым происходит сортировка. "orderByFields": [ В этом примере сортировка происходит по полям orderId и contract.id. Также результат сортируется по убыванию. Для направления сортировки используется параметр contract.id. Если поле direction не указан, то сортировка по полю выполняется по возрастанию. Если в запросе на ядро переданы оба способа сортировки, то старый способ задания сортировки игнорируется. Эти изменения действуют с релиза 2.0.0-65. Смотрите также описание параметров orderBy и orderDirection. |
searchFields | R | [collection] | Условия поиска (фильтрации) ДДС, наличие параметра searchFields является обязательным, однако это может быть пустая коллекция (условия поиска могут быть не заданы). Строго рекомендуется задавать параметры фильтрации. |
searchFields._.field | М | [string][255] | Название поля, по которому нужно сделать фильтрацию. Правила формирования этого поля следующие: В качестве значения могут быть указаны любые поля из сущности ДДС, которые не являются внешними ключами. Например: "date", "orderId" и так далее. Признаком внешнего ключа является указание в описание параметра на метод, который позволяет по ID (по значению параметра - получить объект). Пример: contractId. Для полей, которые являются внешними ключами - возможно получение любых полей объекта, ID котрого указано в поле. Например: в объекте ДДС есть поле contractId, котрое является внешним ключом. Это значит, что мы можем запросить любое поле объекта контракт: contract.id, contract.name и так далее. Также возможны варианты, при которых мы можем запросить поля из более глубоких сущностей, при наличии внешних ключей. Например: settlementAccount.bank.name - позволяет получить название банка, по счету которого была проведена ДДС (в самом ДДС указан только settlementAccountId - идентификатор счета) |
searchFields._.value | М | [string][255] | Значение для фильтрации. В значении параметра может указывается как точное значение, так и нет. Для значений не полного соответствия используются различные параметры. Для указания значений этого параметра можно использовать следующие операторы: %, like, !=, null, not null, >, <, >=, <=. Для передачи даты используется следующий формат YYYY-MM-DD (действует с 2.0.0-65 релиза) например 2018-05-25, а для передачи даты и времени YYYY-MM-DD hh:mm:ss (например 2018-05-25 12:22:35). Пример: { Так и условия строгого и нестрогого неравенства, например: { { |
searchFields._.ornumber | М | [string][255] | Значение для группировки параметров поиска (фильтрации) в условии OR. Пример 1: { { { Пример 2: { { { { В выражении языка SQL : (comment like "TEST%" OR comment like "ТЕСТ%" ) AND (orderId like "1%" OR orderId like "5%") |
countFrom | R | [int] | Смещение от начала поиска, т.е. если хотим получить с 10 записи, то передаем 10 |
countTo | R | [int ] | Лимит (сколько записей будет возвращено) |
Ответ
{
"timestamp": 1504777747170,
"data": [
{
"id": 123409746,
"fields": {
"orderId": "1",
"contract.id": 5544,
"amount.local": 1234
}
},
{
"id": 7867123,
"fields": {
"orderId": "2",
"contract.id": 4455,
"amount.local": 3212
}
},
{
"id": 0098123,
"fields": {
"orderId": "3",
"contract.id": 42234,
"amount.local": 3311
}
}
],
"status": "ok"
}
Описание параметров
Параметр | Обязателен | Тип данных | Описание |
id | R | [int] | Идентификатор ДДС, который соотвествует заданным параметрам фильтрации |
fields | R | [collection] | коллекция полей, которые вернулись в ответ на запрос |
fields.{field} | R | [mixed] | Набор полей в ответе зависит от того, какие поля были переданы в коллекцию searchFields. Типы данных и значения следует смотреть в описании соответствующих сущностей. |