18-02-2021 16:30

Запуск пакетной обработки

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]

Дополнительные опции. 

Есть возможность передачи параметра Договор цессии при запуске процесса Закрытие по цессии.
При сохранении документа Списание по цессии в коллекцию передач по цессии по контракту вставляется новая запись (с суммой документа и переданным параметром Договор цессии), при удалении документа запись о передачи по цессии с датой документа удаляется.

В случае если при запуске процесса не был передан параметр Договор цессии, то запись о передачи по цессии все равно добавится (с пустым договором).
При удалении документа ищется запись о передачи по цессии с совпадением даты и с признаком Передан = ДА, если запись найдена - она удаляется.


Строка с Id договора цессии в опциях запуска процессов передаётся с ключом CESSION_ARTICLE_ID
Пример:
  "options": {
          "CESSION_ARTICLE_ID": "102641"
  }

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": ""
}
                    
У данной функции отсутствует описание параметров ответа