27-09-2019 18:41

Описание дополнительных колонок в отчетах

NO    

Описание:

Дополнительные колонки в отчетах служат для отображения необходимой информации для определенного отчета и для определенной организации.
То есть, если нужно добавить в существующий отчет дополнительно колонку с нужной информацией, то её можно добавить только для определенной организации.
Колонки построены на отображении имеющейся информации из полей и сущностей данных. Доп. колонки могут быть двух видов:
- статические. Эти поля являются полями, которые не рассчитываются и хранятся в базе данных. (пример, Подразделение контракта).
- динамические. Эти поля не хранятся в базе данных и каждый раз рассчитываются исходя их данных в базе.(пример, Менеджер клиента по мониторингу,  Остаток ОС).

Статические колонки могут добавляться всегда в настройках отчета, новые динамические колонки требуют доработки ядра.


Структура справочника:

Справочник Доп. колонок хранит информацию по тому, какие доп. колонки должны отображаться в каждом отдельном отчете. 
Поля справочника:
Report  - Название класса отчета, текст (пример, ActiveClients - Активные клиенты);
OrderNo - Порядковый номер колонки в списке дополнительных, число. Рекоммендуется добавлять номер десятками, чтобы была возможность добавить в последствии колонку между имеющимися. Например,10, 20, 30, и вслучае необходимости добавить колонку между 10 и 20, достаточно добавить новую запись с номером 15.
Width - Ширина колонки, число. Необходимо указать ширину колонки в excel в формате 1/256 от ширины символа. Ширина колонки зависит от размера шрифта в ячейке excel. Для простоты можно использовать следующее правило: для того, чтобы колонка имела ширину в 23.43 единицы в excel, нужно эту цифру умножить на 256 и округлить до целой тысячи. 256 * 23.43 ~ 6000. То есть ширину колонки прописываем как 6000.
Name -  Название колонки, текст. Это название будет отображаться в отчете.
Value - Правило заполнения значение колонки, текст. Правило описываеся исходя из структуры методов java, или методов хранения модели основных сущностей. Статические поля указываются всегда согласно модели методов. Динамические поля имеют специфичные названия, которые не пересекаются с названиями статических полей. Примеры:
 - contract.getCreditOfficer().getName() - статический параметр. Где contract - сущность модели, в которой хранится искомый параметр, getCreditOfficer() - метод получения Специалиста по займам из контракта, getName() - метод получения Имени специалиста по займам.
client.getMCreditOfficer() - динамический параметр. Используется для получения Специалиста по займам по мониторингу клиента. Список доступных динамических параметров приводится ниже.
Пример записи в таблице настроек:

Id Report OrderNo Width Name Value
1 ActionsList 10 6000 Подразделение contract.getSubdividion().getName()

ВАЖНО. В случае некорректного заполнения правила формирования в поле Value, колонка будет пустой.

Список возможных для использования динамических полей:

Название поля Описание
contract.getRestructedContractLenght() Количество реструктуризаций контракта
client.getMCreditOfficer() Специалист по займам согласно мониторингу клиента на правую дату отчета.
client.getInformationAboutClientRelatives() Информация по родственниками клиента, собирается информация по всем родственниками в одну ячейку. Выгружается имя родственника и номер телефона
client.getInformationAboutClientWorking() Информация "о работе" из клиента. Собирается в одну ячейку информация о Месте работы клиента, а именно: Название организации, ИНН, Должность, телефон, сотрудник 1, сотрудник 2, Телефон сотрудника/секретаря, телефон организации
contract.getComment() Комментарии из контракта. В одну ячейку собираются все комментарии в контракте. Выгружается информация: Комментарий - дата создания - пользователь.
client.getExtraAddress(N) Дополнительные адреса клиента. ВАЖНО: поле используется для отображения информации по дополнительным адреса (не основным). Дополнительные адреса у каждой организации могут быть своими и иметь свой порядок. Для этого вместо N нужно вставить код дополнительного адреса. Например, в списке дополнительных адресов имеется: 1 - Адрес регистрации на родине, 2 - Адрес проживания на родине. Теперь, если нужно получить адрес регистрации на родине, то нужно записать поле как client.getExtraAddress(1)
client.getMainManager() Региональный специалист. Определяется кредитный специалист клиента, затем по кредитному специалисту определяется Региональный менеджер. Привязка к клиенту.
contract.getCalcFullCostOfCredit() Рассчитанное (то есть не сохраненное) значение ПСК. Рассчитывается каждый раз при формировании расчета на крайнюю дату отчета
contract.getUserOnLoanEditStatus('проверено андерайтером') Название пользователя, который проставил статус обработки заявки, по которой затем был создан контракт. В скобках через запятую указывается название статусов обработки. В списке статусов обработки по заявке берется первая запись по дате. Пользователь проставивший этот статус выводится в колонке.
contractCustomStatus Пользовательский статус контракта на крайнюю дату отчета
contractCustomStatusDate Дата пользовательского статуса контракта на крайнюю дату отчета
contractCurrentManager ПМ контракта на крайнюю дату отчета
contractCurrentMainManager РМ контракта на крайнюю дату отчета
contract.getUserOnLoanApplicationEditStatus(N) Пользователь, который был последним, кто изменил статус заявки на статус N, где N название статуса, например contract.getUserOnLoanApplicationEditStatus('Удовлетворена','К выдаче')
client.getExtraField(N) Значение extra field клиента, где N название extra field
client.getComments() набор комментариев в клиенте
contract.getLTV() Расчет значение LTV (баланс по ОС делить на залоговую стоимость залога
contract.getCollateralProperty(N) Получить свойство залога, где N - ID свойства залога
contract.getPrincipalBalance() Баланс ОС на крайнюю дату отчета.
contract.getLastProlongationDate() Дата последней пролонгации по контракту
contract.getLastTrancheIssueDate() Дата выдачи последнего транша из планового графика
contract.getLastTrancheRepaymentDate() Дата погашения последнего транша из планового графика
contract.getDelinqDaysQty(...) Количество дней просрочки контракта, в случае если нужно получить просрочку по статусу нужно передать contract.getDelinqDaysQty(true), в противном случае contract.getDelinqDaysQty(false)
contract.getPeriodical().getLastItemDate(...) Дата периодического значения по контракту. Например для получения даты периодического значения остановки начисления штрафов нужно передать contract.getPeriodical().getLastItemDate(penaltyStop). Для получения такой же информации по остановке начислений процентов нужно передать interestStop
contract.getPeriodical().getLastItemField(...) Периодическое значение по контракту. Например для получения периодического значения остановки начисления штрафов нужно передать contract.getPeriodical().getLastItemField(penaltyStop). Для получения такой же информации по остановке начислений процентов нужно передать interestStop
contract.getRegistDuration() Разница в месяцах между датой выдачи регистрационного документа и датой создания заявки
client.getLoanStageByStatus(...) Количество состояний контракта в определенном пользовательском статусе. Список статусов нужно передавать через зпятую вкавычках, например client.getLoanStageByStatus('Отклонено','Продан')
contract.getCessionTransfer() Статус продажи/покупки по цессии контракта на дату отчета
contract.getNearestRepaymentDate() Ближайшая дата платежа по плановому графику
contract.getDurationInDays() Длительность займа по плановому графику
contract.getCharged(...) Сумма начислений по определеным видам сумм за период отчета, виды сумм нужно передавать как ID через запятую, например contract.getCharged(101291, 101292)
contract.getBalanceAmt(...) Сумма баланса по видам сумм на правую дату отчета, виды сумм нужно передавать как ID через запятую, например contract.getBalanceAmt(101291, 101292)

 


Ограничения

Функционал дополнительных колонок в отчетах имеет следущие ограничения:

- колонки выводятся всегда в конце, после основных колонок;
- нет возможности производить суммирование доп колонок;
- доп колонки не выводят коллекции данных, если только такая колонка не будет доработана в качестве динамической;
- не все отчеты поддерживают работу доп колонок (список отчетов, в которых можно использовать доп колонки приведен ниже);
- на данный момент настройка доп колонок производится только в БД.
(ограничения снимаются путем доработок, в зависимости от сложности задачи и необходимости)

Список отчетов, поддерживающих работу дополнительных колонок:

Название отчета Класс отчета
Движения ActionsList
Активные клиенты ActiveClients
Активные залоги ActiveCollaterals
Отчет о фактическом погашении ActualRepayment
Закрытые займы ClosedLoans
Список кредитных контрактов ContractList
Выданные займы IssuedLoans
Ведомость на выдачу IssueSheet
Заявки на займ за период LoanApplicationsByStatus
Пассивные клиенты PassiveClients
Отчет по погашениям клиентов в просрочке PaymentsOfDelinquentLoans
Плановое и фактическое погашение PlanAndFactRepayment
Отчет по погашаемости за период ReportByRepayment
Займы на закрытие LoansForClosing
   

Запрос

У данной функции отсутствует описание параметров запроса

Ответ

У данной функции отсутствует описание параметров ответа