Примеры выражений в СПР
|
Выражение |
Описание выражения |
|
1 |
lead.getAge() >= 18 && lead.getAge() <= 65 |
Проверка возраста клиента: В данному случае возраст должен быть от 18 до 65 лет. |
|
2 |
clientManager.isInArrears(lead.clientId, true) |
Выражение для проверки отсутствия текущей задолженности |
|
3 |
clientManager.getLastCreditDurationInDays(lead.clientId) >= 15 |
Выражение для срока предыдущего займа больше либо равно 15 дней |
|
4 |
clientManager.getMaxDelinqDaysQty(lead.clientId) <= 15 |
Выражение для проверки максимального срока просрочки по предыдущим займам клиента |
|
5 |
lead.getAddress().getRegionName().contains("Москва") || lead.getAddress().getRegionName().contains("Московская") || lead.getAddress().getRegionName().contains("Севастополь") |
Проверка региона проживания клиента. |
|
6 |
client.workPlaceData.workAge >= 6 |
Проверка на стаж работы |
|
7 |
client.meanIncome >= 15000 |
Провера на уровень дохода |
|
8 |
additional.trustRating45.trustRating.result > 349 |
Проверка балла благонадежности |
|
9 |
decision.decisionBinnar == 1 |
Статус Одобрено по Кредитному решению |
|
10 |
if (additional.decisionMessage < loanApplication.loanAmount) { loanApplication.loanAmount = double:parseDouble(additional.decisionMessage) } |
Проверка рекомендуемой суммы по Скористе |
|
11 |
loanApplication.loanAmount + 1 > 0 |
Выражение по средством которого можно создать заявку на займ в определенном месте СПР. |
|
12 |
nbkinohistory == 0 || nbkinohistory == 1 |
Проверка на технический сбой при запросе в НБКИ. |
|
13 |
nbkinpl30 == 0 |
Просрочка более 30 дней в НБКИ |
|
14 |
if (loanApplication.loanStage == 1) { loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 1013346L) } if (loanApplication.loanStage == 2) { loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 1013347L) } if (loanApplication.loanStage >= 3) { loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 1013348L) } |
Проверка ступени займа (1 ступень = КП "Ступень1" id 1013346 2 ступень = КП "Ступень2" id 1013347 3 ступень = КП "Ступень3" id 1013348) Присвоение кредитного продукта в зависимости, от ступени займа |
|
15 |
client.averageMonthlyCost + client.alimony + client.loanPaymentExpense > 0 && (client.meanIncome + client.additionalIncome + client.bonusIncome + client.rentIncome) / (client.averageMonthlyCost + client.alimony + client.loanPaymentExpense) >= 2 |
Проверка уровня доходов клиента Формула расчета: (Среднемесячный доход +Дополнительный доход +Премии +Доход от аренды)/(Среднемесячные расходы +Алименты +Прочие расходы +Выплаты по кредитам) |
|
16 |
scoringPoint < 30 |
Скоринговый бал менее 30 (скоринговый бал более 30, то знак >) |
|
17 |
lead.findExtraField("fullAmount") <= client.creditLimit |
Проверка по достаточности суммы кредитного лимита |
|
18 |
if (loanApplication.gettingMoneyMethod.id == 102391) { loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 1013358L) } if (loanApplication.gettingMoneyMethod.id == 102395) { loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 1013357L) } |
Команда изменющая кредитный продукт в заявке в зависимости от способа выдачи. |
|
19 |
!clientManager.approvedLoanAppsExistence(lead.clientId) |
Проверяем первый ли займ у клиента (отсутствие наличия ранее одобренных или выданных заявок) |
|
20 |
if (loanApplication.loanAmount >= 4000 && loanApplication.loanAmount <= 9000 && loanApplication.gettingMoneyMethod.id == 1023910) { loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 1013358L) } if (loanApplication.loanAmount >= 9001 && loanApplication.loanAmount <= 11000 && loanApplication.gettingMoneyMethod.id == 1023910) { loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 1013359L) } if (loanApplication.loanAmount >= 11001 && loanApplication.loanAmount <= 13000 && loanApplication.gettingMoneyMethod.id == 1023910) { loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 1013360L) } if (loanApplication.loanAmount >= 13001 && loanApplication.loanAmount <= 14000 && loanApplication.gettingMoneyMethod.id == 1023910) { loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 1013362L) }
|
Комнада. Подбор кредитного продукта для первоначального займа в зависимости от суммы займа и способа выдачи. |
|
21 |
additional.trustRating45.trustRating.result > 450 |
Баллы благонадежности по отчету Скористы |
|
22 |
bkinpl30 == 0 |
Проверяется наличие просрочки (Эквифакс) |
|
23 |
loanApplication.getCreditProduct().getName().equals("Экспресс") |
Проверка по названию кредитного продукта |
|
24 |
lead.getSex().getId()==101252 (id женщина) |
Проверка пола |
|
25 |
loanApplication.loanStage == 1 |
Проверка на ступень займа в заявке |
|
26 |
clientManager.getIssuedCreditsQty(lead.clientId, 1500d) <= 0 |
Если не было выданных кредитов больше либо равно 1500 - проходим дальше по СПР, если были - отказ или переход на ветку |
|
27 |
if (clientHasActiveCredits) { loanApplicationManager.putProcessingStatus(loanApplication.id, 1025017L, '', false) } |
Команда измененяюща кредитный продукта в зависимости от ступени займа. |
|
28 |
{ loanApplicationManager.putProcessingStatus(loanApplication.id, 1025017L, '', false) } |
Команда измененяюща статус рассмотрения заявки. |
|
29 |
loanApplication.bureauScoringPoint = double:valueOf(nbkiscoring) |
Выражения по скорр баллу: Сохраняет нбки скорр. балл (nbkiscoring) в заявку в поле bureauScoringPoint. |
|
30 |
leadManager.addExtraField(lead, 'nbkiscoring', nbkiscoring) |
Это выражение добавляет из нбки скорр. балла (nbkiscoring) в коллекцию лида extraFields новое поле 'nbkiscoring'. |
|
31 |
var modCondition1 = client.maritalStatus.name eq "MARRIED" && client.childrenCount > 0 ?: false; var baseCreditLimit = client.rating.name() eq "GOOD" ? 120000 : 80000; client.creditLimit = baseCreditLimit + (modCondition1 ? 0 : 0); client.creditMaxLimit = client.creditLimit; |
Составной параметр проверки на макслимит |
|
32 |
clientManager.getIssuedCreditsQty(lead.clientId, null) <= 0 || clientManager.getPaymentsQty(lead.clientId) > 0 |
Проверка имеется у клиента открытый договор. |
|
33 |
if (loanApplication.bureauScoringPoint >= 600 && loanApplication.bureauScoringPoint <= 699 ) { client.creditLimit = 80000 } |
Команда. Проставление кредитного лимита по скоринговому баллу. |
|
34 |
loanApplication.loanAmount + 1 > 0 |
Выражение для создания заявки. |
|
35 |
client.getAge() > 0 |
Выражение, которое позволет создание клиента на определенном шаге СПР. |
|
36 |
clientManager.getActiveCreditsQty(lead.clientId) <= 0 |
Проверка активные контракты клиента. |
|
37 |
client.passport.closeDate != null && client.passport.closeDate.compareTo(new Date('java.util.Date')) > 0 |
Срок действия паспорта. |
|
38 |
clientManager.getIssuedCreditsQty(lead.clientId) <= 2 |
Выражение, проверяющее кол-во откртых контратков. В данном случае проверка на 2 открытых договора. |
|
39 |
clientManager.getLastDenialDate(lead.clientId) == null || dateUtil:getDaysDiff(clientManager.getLastDenialDate(lead.clientId), new('java.util.Date')) >= 30 |
Выражения для проверки того что с момента последнего отклонения заявки клиента прошло не меньше 30 дней (или по клиенту нету отклонённых заявок). |
|
40 |
clientManager.prevCreditsDelinqStatusAbsence(lead.clientId, 6) |
В результате выполнения выражения, если последние 6 займов были без просрочки - идём дальше по СПР, иначе отказ или переходим на ветвь (вместо 6 можно ставить нужное кол-во последних займов без просрочки.) |
|
41 |
clientManager.getClosedCreditsQty(lead.clientId) >= 3 |
Выражение. 3 и более закрытых займов |
|
42 |
clientManager.prevCreditsDelinqStatusAbsence(lead.clientId, 3) |
Проверка просрочки в последних 3 займах. Если просрчока была - октаз. |
|
43 |
if (loanApplication.loanAmount > 15000) { loanApplication.loanAmount = 15000 } |
Команда. Изменение суммы до 15000 рублей в заявке |
|
44 |
decision.decisionBinnar == 1 |
Статус Одобрено по Кредитному решению |
|
45 |
nager.prevCreditsDelinqStatusAbsence(lead.clientId, 6) |
Выражение. Последние 6 займов без просрочки. |
|
46 |
loanApplication = loanApplicationManager.applyCreditProduct(loanApplication, 101340L) |
Команда, изменяющая Кредитный продукт. |
|
47 |
bkimaxoverdue <= 30 |
Просрочка более 30 дней по действующим займам |
|
48 |
clientManager.getClosedCreditsQty(lead.clientId) >= 6 |
Выражение. 6 и более закрытых займов |
|
49 |
clientManager.getLastDenialDate(lead.clientId) == null || dateUtil:getDaysDiff(clientManager.getLastDenialDate(lead.clientId), new('java.util.Date')) >= 30 |
Выражение. Запрет подачи заявки 30 дней от последней отказанной. |
|
50 |
loanApplication.loanStage == 1 && loanApplication.loanAmount <= 10000 |
Команда. Первый ли займ у клиента, если да - то сумма займа не должна превышать 10 000 |
|
51 |
nbkinpl30 == 0 |
Проверяется наличие просрочки (НБКИ) |
|
52 |
nbkinpl30 == 0d |
Проверяется наличие просрочки (НБКИ с учетом долевых) |
|
53 |
nbkinohistory == 1 |
В НБКИ нет кредитной истории |
|
54 |
loanApplication.getCreditProduct().getName().equals("название тарифа") |
Проверка кредитного продукта из заявки, если КП совпадает, идет дальше (если нет, то на вложенную) |
|
55 |
jexlHelper.getContractDelinqDaysQty(contract.id, false) >= 10 |
Выражение для СПР по действующим контрактам. (просрочка более 10 дней) – выражение на проверку количества дней просрочки |
|
56 |
contract.msfoReserveRate = 5 |
Команда, присваивающая ставку резерва. |
|
57 |
contract.restructedContract != null |
Выражение для СПР по действующим контрактам. Проверка на реструктурированный контракт |
|
58 |
!empty(contract.loanApplication.collaterals) |
Если надо проверить что по заявке из контракта есть залоги и пройти дальше по СПР (если наоборот надо убедиться что залогов нету и пройти дальше по СПР то выражение такое же, только без знака ! в начале) |
|
59 |
if (loanApplication.gettingMoneyMethod.id == xxxxxx) { clientMonitorManager.create(client, xxxxxxL) } |
Команда. Создать новый мониторинг клиента, в зависимости от способа выдачи |
|
60 |
client.passport.closeDate != null && client.passport.closeDate.compareTo(new('java.util.Date')) > 0 |
Проверка на срок действия паспорта |
|
61 |
client.livingDocument.complementaryDocType != null && client.livingDocument.complementaryDocType.id =~ [ххххххL, ххххххL] |
Проверка на тип дополнительного документа |
|
62 |
client.passport.complementaryDocType.id == ХХХХХХ |
Проверка на тип основного документа |
|
63 |
clientManager.getActiveCreditsQty(lead.clientId) <= 0 |
Выражение. Проверка на параллельные займы |
|
64 |
clientManager.getLastDenialDate(lead.clientId) == null || dateUtil:getDaysDiff(clientManager.getLastDenialDate(lead.clientId), new('java.util.Date')) >= 30 |
Выражения для проверки того что с момента последнего отклонения заявки клиента прошло не меньше 30 дней (или по клиенту нету отклонённых заявок). В результате если отклонённых заявок нет или прошло больше или равно 30 дн. то идём дальше по СПР, иначе отказ или переход на ветку. |
|
65 |
if (loanApplication.creditField.trancheDuration > 21) { loanApplication.creditField.trancheDuration = 21 } |
Команда. Изменение срока займа на 21 день, если срок займа больше 21 дня |
|
66 |
lead.isNaturalPerson()==true |
Проверка на тип клиента. (тип клиента - юр. лицо) |
|
67 |
innerScoringAdvice == 'UNDEFINED' |
Проверка внутреннего скоринга (статус - "Не определен") |
|
68 |
jexlHelper.isPersonAccountByBikExists(lead.clientId, 'ХХХХХХХ') |
Проверка для определения есть ли у клиента счет в банке с указанным БИКом (где ХХХХХХХ - должен быть указан БИК банка) |
|
69 |
clientMonitorManager.create(client, loanApplication.mainManager.id)) |
Команда по созданию мониторинга по заявке. |
|
70 |
clientManager.getIssuedCreditsQty(lead.clientId, null) > 0 && dateUtil:getDaysDiff(jexlHelper.getLastCredit(lead.clientId, false).issueDate, new('java.util.Date')) < 15 |
Выражение проверяет, что по клиенту ранее были выданные контракты и с даты выдачи последнего выданного контракта до текущей даты прошло меньше 15 дней (строго меньше). Если эти условия выполняются - идём дальше по СПР, иначе отказ или переход на ветку. |
|
71 |
dateUtil:datePartEquals(jexlHelper.getLastCredit(lead.clientId, true).closeDate, new('java.util.Date')) |
Выражение проверяет, что дата закрытия последнего закрытого контракта по клиенту совпадает с текущей датой (если закрытых контрактов нет или если даты не совпадают - то отказ) |
|
72 |
clientManager.getClosedCreditsQty(lead.clientId) > 0 && dateUtil:getDaysDiff(jexlHelper.getLastCredit(lead.clientId, true).closeDate, new('java.util.Date')) <= 3 |
Выражение проверяет, что по клиенту есть закрытые контракты и с даты закрытия последнего закрытого контракта до текущей даты прошло 3 дня или меньше. |
|
73 |
clientManager.getClosedCreditsQty(lead.clientId) > 0 && dateUtil:getDaysDiff(jexlHelper.getLastCredit(lead.clientId, true).issueDate, jexlHelper.getLastCredit(lead.clientId, true).closeDate) <= 15 |
Выражение проверяет, что по клиенту есть закрытые контракты и фактический срок действия последнего закрытого контракта меньше либо равен 15 дням |
|
74 |
clientManager.getClosedCreditsQty(lead.clientId) > 0 && jexlHelper.getLastCredit(lead.clientId, true).loanAmount <= 5000 |
Выражение проверяет, что по клиенту есть закрытые контракты и сумма последнего закрытого контракта меньше либо равна 5000 |
|
75 |
clientManager.getClosedCreditsQty(lead.clientId) > 0 && jexlHelper.getDelinqDaysQty(jexlHelper.getLastCredit(lead.clientId, true)) > 15 |
Выражение проверяет, что по клиенту есть закрытые контракты и общее кол-во дней просрочки по последнему закрытому контракту строго больше 15 дней. Если эти условия выполняются - идём дальше по СПР, иначе отказ или переход на ветку. Общее кол-во дней просрочки считается по статусам контракта (если было несколько просрочек - то дни этих просрочек суммируются) |
|
76 |
jexlHelper.isUnderCourt(lead.clientId) |
В результате если по клиенту есть хоть один контракт с признаком судебный - идем дальше по СПР, иначе отказ или переход на ветку. При необходимости можно добавить восклицательный знак в самом начале этого выражения, чтобы работало наоборот (шло дальше по СПР если нет судебных контрактов) |
|
77 |
client.inBlackList |
Черный список - это поля в клиенте, соответственно их можно использовать напрямую в выражениях |
|
78 |
client.inRedList |
Красный список - это поля в клиенте, соответственно их можно использовать напрямую в выражениях |
|
79 |
jexlHelper.isCessionOutgoingTransferAbsent(lead.clientId) |
Метод для проверки отсутствия по клиенту проданных по цессии контрактов, в результате, если проданных по цессии контрактов нет - идём дальше по СПР или переход на ветку. |
|
80 |
jexlHelper.isCessionIncomingTransferAbsent(lead.clientId) |
Метод для проверки отсутствия по клиенту выкупленных по цессии контрактов, Оба метода определяют отсутствие по коллекции переводов по цессии (cessionTransfer) |
|
81 |
loanApplication.issueSteps.0.date != null || !empty(loanApplication.issueSteps.0.date) |
Проверка заполнения даты подписания в заявке. |
|
82 |
loanApplication.loanDeniedRejection != null && loanApplication.loanDeniedRejection.id != {id} |
Проверка на то, что статус предыдущей проверки "Проверка ПОД/ФТ не пройдена" |
|
83 |
client.naturalperson |
Проверка на тип клиента ИП |
|
84 |
client.businessman |
Проверка на признак ИП |
|
85 |
jexlHelper.getPrincipalBalanceAmount(lead.clientId) + loanApplication.loanAmount <= 1500000d |
Получение суммы остатка ОС по всем активным кредитным контрактам клиента Общая сумма задолженности менее или равна 1500000 |
|
86 |
!empty(client.personAccounts) && !empty(client.personAccounts[0].accountNo) |
Проверка наличия р/с |
|
87 |
loanApplication.contractName = loanApplicationManager.getNextContractName() |
Имя контракта |
|
88 |
loanApplication.conclusionDate = new('java.util.Date') |
Выражение. Дата соглашения равна сегодняшней дате |
|
89 |
loanApplication.decisionExpDate != null && dateUtil:getDaysDiff(loanApplication.decisionExpDate, new('java.util.Date')) <= 0 |
Проверка срока действия решения |
|
90 |
jexlHelper.prevCreditsSpecifiedCustomStatusesAbsence(lead.clientId, arrays:asList('UNDER_COURT', 'BANKRUPTCY', 'BAD_LOAN', 'WRITTEN_OFF')) |
В результате выполнения выражения, если нет указанных статусов по выданным кредитам клиента - идём дальше по СПР, иначе - отказ или переход на ветку |
|
91 |
clientManager.getLoanAppsInSomeStatus(lead.clientId, '101541') == 0 && clientManager.getLoanAppsInSomeStatus(lead.clientId, '101545') == 0 |
Выражение. По клиенту имеются заявки в статусе "В рассмотрении" или "Ожидает рассмотрения". |
|
92 |
loanApplication.manager = jexlHelper.findManagerByLastConsideringUser(lead.loanApplicationId) |
Команда, которая смотрит id пользователя по последней ручной проверке, после этого ищет id специалиста по займам пользователя из ручной проверк, и записывает id специалиста по займам в managerId заявки. Без создания мониторинга |
|
93 |
jexlHelper.findRuleTaskOption(lead.id, 'nbkinohistory') != null && (nbkinohistory == 0 || nbkinohistory == 1) |
Проверяется, присутствует ли опция nbkinohistory и если да, то затем проверяется что её значение равно 0 или 1 - если всё это выполняется то идём дальше по СПР, иначе отказ или переход на ветку. |
|
94 |
lead.registrationAddress.regionName !~ ["Чеченская Респ.", "Респ. Чеченская", "Кабардино-Балкарская Респ.", "Респ. Кабардино-Балкарская", "Респ. Ингушетия", "Карачаево-Черкесская Респ.", "Респ. Карачаево-Черкесская", "Респ. Дагестан", "Респ. Северная Осетия - Алания", "Респ. Крым", "Севастополь", "г. Севастополь"] |
Регистрация в республиках "черного списка" |
|
95 |
fio_match == 1 && birth_date_match == 1 && fio_record_id == birth_date_record_id |
ФИО + Дата рождения (ЧС) |
|
96 |
if (loanApplication.loanStage >= 11) { loanApplication.creditField.trancheDuration = 31 } |
Изменение срока займа, в зависимости от ступени займа |
|
97 |
loanApplication.loanStage <= 1 && loanApplication.loanAmount >= 10000 |
Проверка первый ли займ у клиента, если да - то сумма займа не должна превышать 10 000 руб. (возможны другие условия (ступень займа, сумма из заявки)) |
|
98 |
loanApplication.bureauScoringPoint = double:valueOf(nbkiscoring) |
Балл КИ в поле интерфейса (extraFields созданный в xml) . Выражение подходит и для вывода других данных извне |
|
99 |
lead.registrationAddress.regionName.contains("Москва") || lead.registrationAddress.regionName.contains("Московская") |
Проверка региона нахождения клиента (Москва и МО) |
|
100 |
dateUtil:getYearsDiff(client.birthDate, dateUtil:addDay(loanApplication.creationDate, loanApplication.creditField.getDurationInDays())) < 65 |
Проверка возраста на окончание срока кредита. не более 65 лет |
|
101 |
client.workPlaceData.workStartDate != null && dateUtil:getMonthsDiff(client.workPlaceData.workStartDate, loanApplication.creationDate) >= 6 |
Проверка стажа работы на последнем месте работы, более 6 месяцев |
|
102 |
leadManager.addExtraField(lead, 'delay_last_180_days', delay_last_180_days) |
Указание просрочки по активным займам за последние 180дней |
|
103 |
leadManager.addExtraField(lead, 'nbki_current_debt', nbki_current_debt) |
Запись суммарной задолженности |
|
104 |
leadManager.addExtraField(lead, 'nbki_monthly_repayments', nbki_monthly_repayments) |
Запись ежемесячного платежа по всем кредитам |
|
105 |
nbki_overdue_debt == 0 |
Текущая просроченная задолженность по кредитам |
|
106 |
nbki_2year == 0 |
Исторические просрочки по кредитам в течении последних 2 лет |
|
107 |
loanApplication.creditProduct.id != {id} |
Проверка на кредитный продукт |
|
108 |
!empty(loanApplication.collaterals) |
Проверка наличия залога в заявке. Если есть залог идем дальше, если нет, то отказ. |
|
109 |
!clientManager.isInArrears(lead.clientId, true) |
Если по активным контрактам клиента нет просрочки (определяется по статусам) - идем дальше по СПР, если просрочка есть - отказ/переход на ветку. |
|
110 |
clientManager.getDelinquencyAmount(lead.clientId) <= 500 |
Проверяется сумма просрочки по всем активным кредитам клиента, если меньше или равно 500 - идем дальше, иначе - отказ/ветка. Если вместо 500 поставить ноль, то дальше по СПР пойдет только при отсутствии каких-либо просроченных сумм по всем кредитам клиента. |
|
111 |
!empty(loanApplication.collaterals) && loanApplication.collaterals[0].collateralType.id == 1017510L |
Выражение. Если по заявке есть залоги и в первом залоге проставлен тип залога с id 1017510 - идём дальше по СПР, иначе - отказ/вложенная проверка. |
|
112 |
jexlHelper.checkIsNewContractsForClient(client.id) |
Проверяет, есть ли по клиенту новые контракты (без статуса закрытия, не к выдаче и не в процессе выдачи) |
|
113 |
jexlHelper.checkIsForIssueContractsForClient(client.id) |
Проверяет, есть ли по клиенту контракты к выдаче без статуса закрытия |
|
114 |
jexlHelper.checkIsIssueInProgressContractsForClient(client.id) |
Проверяет, есть ли по клиенту контракты в процессе выдачи без статуса закрытия |
|
115 |
!jexlHelper.isLoanAppDenialReasonsLastNDays(loanApplication.id, 14, [123L,456L]) |
Выражение проверяет что по заявке с id 1000 небыло статусов с отклонениями по причинам с id 123 и 456.где, loanApplication.id - id заявки, 14 - кол-во дней, 123 и 456 - id причины отклонения (L после цифры обязательна) |
|
116 |
jexlHelper.getContractCustomStatus(jexlHelper.getLastCredit(client.id, false).id).status.name() == 'SOLD' |
выражение, которое позволяет проверить текущий бизнес статус по последнему контракту клиента. Текущий статус по последнему контракту = Продан |
|
117 |
clientManager.searchClientsId(0, 2, "mobilePhone:"+client.mobilePhone, "ASC", "mobilePhone").size()>1 |
выражение, которое проверит если в базе больше одного клиента с таким номером |
|
118 |
clientManager.searchClientsId(0, 2, "mobilePhone:"+client.mobilePhone, "ASC", "mobilePhone").size()==1 |
выражение, которое одобряется, если есть только 1 клиент с таким |
|
119 |
clientManager.searchClientsId(0, 1, "mobilePhone:"+client.mobilePhone, "ASC", "mobilePhone").size()==0 |
выражение, которое одобряется, если вообще нет клиентов с таким номером |
|
120 |
var shareContract = jexlHelper.createAdditionalShare(client); jexlHelper.createCollateralLine(lead, client, shareContract); |
создание паевого контракта и линии кредитов |