Запуск пакетной обработки
POST   /bs-core/main/processes/execute/process-type-id/{processTypeId}/date/{date}
В теле запроса передаётся список критериев (которые использовались для выборки контрактов) и список процессов.
Процесс - набор документов, выполняемых в определенном порядке для каждого контракта, попадающего под выборку данного процесса. Каждый документ связан с операцией, которая применяется для данного контракта. То есть процесс представляет собой логику выполнения определенных документов, создающих операции для каждого контракта.
Получение нужных данных и информации для запуска пакетной обработки и пошаговая инструкция для него:
1. Нахождение нужного идентификатора типа процесса происходит при помощи метода "Получение доступных типов процессов" и его расшифровки из справочника "Типы процессов" (параметр адресной строки).
2. Получение списка сущностей для фильтрации выборки контрактов (Значение параметра "object" передается в теле запроса в критериях в поле "entity").
3. Получение полей сущности для фильтрации выборки контрактов (Значение параметра "object" передается в теле запроса в критериях в поле "field").
4. Выборка контрактов для выполнения пакетной обработки. В выборке можно использовать критерии для фильтрации. Если их не использовать, то в теле запроса передается пустая коллекция [] и будут возвращены контракты без применения к ним фильтрации. Выборка контрактов для обработки процессом заложена в логику работы процесса пакетной обработки и рекомендуется ее применять для метода описанного в следуещем шаге.
--> 5. Запуск пакетной обработки. При передаче параметра запроса select-contracts со значением true, перед запуском сложного процесса (пакетной обработки), метод сам делает предварительную выборку контрактов по фильтрам (критериям) переданным в теле запроса. При таком подходе предыдущий шаг выборки контрактов пропускается за ненадобностью.
Для удобства работы с пакетной обработкой критерии (фильтры) можно подготовить один раз и использовать их. (см. шаги 1-3)
Запрос
POST /bs-core/main/processes/execute/process-type-id/101439/date/2016-05-11T03:00:00
{
"criterions":
[
{
"entity": "com.pq.establ.Tranche",
"field": "repaymentDate",
"value1": "2016-05-11",
"value2": "2016-05-15"
}
],
"processes": [
{
"processTypeId": 101439,
"contractId": 10134217,
"paymentTypeId": 101173,
"payment": {
"local": 0,
"foreign": 0
},
"clientName": "Акчурина Лилия Ренатовна",
"contractName": "217",
"contractType": "CREDIT",
"contractAmount": 300000
},
{
"processTypeId": 101439,
"contractId": 10134292,
"paymentTypeId": 101173,
"payment": {
"local": 0,
"foreign": 0
},
"clientName": "Козлова Людмила Витальевна",
"contractName": "292",
"contractType": "CREDIT",
"contractAmount": 20000
}
]
}
Описание параметров
Параметр | Обязателен | Тип данных | Описание |
processTypeId | R | [int][20] | Идентификатор типа процесса. Параметр адресной строки. |
date | R | [string] | Дата и время в формате YYYY-MM-DDThh:mm:ss, например 2016-05-11T03:00:00. Параметр адресной строки. |
line-violation | О | [bool] | Нарушение последовательности. Этот параметр позволяет нарушать последовательность для процесса. Это необходимо, когда нужно запустить процесс в прошлом периоде. Дополнительный параметр адресной строки, в адресной строке передаётся следующим образом: https://core.brainysoft.ru:9025/bs-core/main/processes/execute/process-type-id/101439/date/2016-05-11T03:00:00?line-violation=true |
future-date | О | [date] | Этот параметр используется только для процесса "Начисление будущих процентов" (идентификатор 1014344). В поле передаётся будущая дата в формате YYYY-MM-DD, на которую нужно начислить проценты. Дополнительный параметр адресной строки. |
select-contracts | О | [bool] | Этот параметр можно использовать для того, чтобы перед запуском сложного процесса произвести выборку контрактов, по которым будет запущен сложный процесс. Для этого нужно передать этот параметр со значение true и задать в коллекции criterions (см. описание ниже) необходимые фильтры по которым будет производиться выборка контрактов. Шаг с вызовом метода "Выборка контрактов для выполнения пакетной обработки" при передаче этого параметра со значение true и указанием фильтров пропускаеться за ненадобностью. Дополнительный параметр адресной строки. |
options | О | [collection] | Дополнительные опции. Есть возможность передачи параметра Договор цессии при запуске процесса Закрытие по цессии.
|
criterions | R | [collection] | Критерии по которым происходит запуск пакетной обработки. Например по фамилии, дате погашения или подразделению. Если параметр select-contracts не передан или передан со значением false, то эта коллекция служит для того, чтобы эти критерии сохранились в логах запуска сложных процессов (эта информация потом выводится в отчете о запуске сложных процессов). |
criterions._.entity | М | [string] | Сущность по которой происходит пакетная обработка. Список всех сущностей получаются методом "Получение списка сущностей для фильтрации выборки контрактов". Одно из значений параметра "object" будет являтся значением этого параметра. |
criterions._.field | М | [string] | Этоn параметр принимает одно из значений параметра "object" метода "Получение полей сущности для фильтрации выборки контрактов". |
criterions._.value[n] | М | [string] | Дата, значение id определенного справочника или enumeration. Смотрите описание других шагов. |
processes | R | [collection] | Коллекция выбранная методом "Выборка контрактов для выполнения пакетной обработки" |
Ответ
{
"status": "ok",
"timestamp": 1462959560786,
"data": ""
}