diff --git a/apps/web/process/bonuses/validation.ts b/apps/web/process/bonuses/validation.ts index 564b9fc..5ffbf8a 100644 --- a/apps/web/process/bonuses/validation.ts +++ b/apps/web/process/bonuses/validation.ts @@ -10,8 +10,17 @@ export function createValidationSchema(context: ValidationContext) { return ValuesSchema.pick({ product: true, saleBonus: true }).superRefine( async ({ product, saleBonus }, ctx) => { const coefficient = await getCoefficient(product); + const minBonus = (coefficient?.evo_correction_coefficient || 0) * 100; const maxBonus = (coefficient?.evo_sot_coefficient || 0) * 100; + if (round(saleBonus, 2) < round(minBonus, 2)) { + ctx.addIssue({ + code: z.ZodIssueCode.custom, + message: 'Бонус не может быть ниже установленного по СОТ', + path: ['tbxSaleBonus'], + }); + } + if (round(saleBonus, 2) > round(maxBonus, 2)) { ctx.addIssue({ code: z.ZodIssueCode.custom,