Перейти к основному содержимому

Метод фасада для запуска возврата товара

Краткое описание логики работы метода: - Валидация на заполнение обязательных полей, корректность сумм нового графика и проверка отсутствия просроченных сумм по кредитному контракту. - Выяснение типа возврата - полный или частичный (полный в случае, если Сумма возврата совпадает с суммой текущего графика) - Запуск кастомизированного документа Восстановление (при полном возврате восстанавливаются все погашения кроме штрафов, при частичном - восстанавливается только погашенная ОС) - Если возврат полный - списываем все суммы по контракту с видом движения Корректировка - Если частичный возврат - делается перерасчет графика по переданному новому графику (корректировка списания ОС, сохранение нового графика, корректировка выдача ОС на новый график - включая прошедшие транши) - Получаем сумму, которую восстановили документом Восстановление выше и на эту сумму пополняем лицевой счет (пай) - новый документ для пополнения пая без ДДС - Запускаем докумет Погашение реакцепт всех кредитных контрактов клиента за счет доп.пая - новый документ, работает также как документ погашения контрактов за счет пая, только создаёт операции с видом движения Погашение реакцепт. Важно - метод создаёт документы как по кредитному контракту, так и по паю-лицевому счету, поэтому при необходимости отката нужно будет удалять документы по обоим этим контрактам. Коды ошибок: NO_DATA_ERROR - никакие данные не переданы NO_RETURN_AMOUNT_ERROR - Не указана сумма возврата CONTRACT_NAME_IS_NOT_SPECIFIED_ERROR - Не передан номер кредитного контракта CONTRACT_NOT_FOUND_BY_NAME_ERROR - Не найден кредитный контракт по переданному номеру CONTRACT_MUST_BE_ISSUED_ERROR - Кредитный контракт не выдан CONTRACT_IS_OVERDUE_ERROR - По контракту есть просроченные суммы TRANCHE_TOTAL_PRINCIPAL_NOT_EQUAL_REMAINED_AMOUNT_ERROR - Суммы ОС на траншах не соответствуют остатку ОС по контракту после возврата Коды ошибок для переданного графика (аналогичные проверки как и для метода выдачи займа)

Request Body required

request

    contractName string
    date date-time
    fees object[]
  • Array [
  • amountTypeId int64
    chargeBaseId int64
    chargeMomentId int64
    chargePenalty boolean
    involvedInFullCostCalc boolean
    notForCharge boolean
    notForRepayment boolean
    value double
    valueTypeId int64
  • ]
  • newIntFreeSchedule object
    tranches object[]
  • Array [
  • interest double
    principal double
    repaymentDate date
  • ]
  • newSchedule object
    tranches object[]
  • Array [
  • interest double
    principal double
    repaymentDate date
  • ]
  • returnAmount double
Responses

OK


Schema

    string

Loading...