diff --git a/apps/web/process/payments/validation.ts b/apps/web/process/payments/validation.ts index fd0cb9c..28359da 100644 --- a/apps/web/process/payments/validation.ts +++ b/apps/web/process/payments/validation.ts @@ -5,25 +5,26 @@ import { areEqual, isSorted } from 'tools/array'; // eslint-disable-next-line sonarjs/cognitive-complexity export default function validatePaymentsTable({ $calculation, $tables }: RootStore) { + /** + * в таблице платежей в столбце Соотношение платежей + * для строк с 2 до "Срок лизинга-1" минимальное значение должно быть равно 3 + */ + { + const MIN_PAYMENT = 3; + const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue(); + const targetPayments = $tables.payments.values.slice(1, leasingPeriod - 1); + + if (!targetPayments.every((payment) => payment >= MIN_PAYMENT)) { + return `Минимальное значение платежа должно быть равно ${MIN_PAYMENT}`; + } + } + switch ($calculation.element('radioGraphType').getValue()) { // Дегрессия case 100_000_001: { if (!$calculation.element('selectSeasonType').getValue()) { return 'Не выбран тип дегрессии'; } - /** - * в таблице платежей в столбце Соотношение платежей - * для строк с 2 до "Срок лизинга-1" минимальное значение должно быть равно 3 - */ - { - const MIN_PAYMENT = 3; - const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue(); - const targetPayments = $tables.payments.values.slice(1, leasingPeriod - 1); - - if (!targetPayments.every((payment) => payment >= MIN_PAYMENT)) { - return `Минимальное значение платежа должно быть равно ${MIN_PAYMENT}`; - } - } /** * при Дегрессии все значения не должны быть равны друг другу