fix(number-fields): избегаем потери точности длинных чисел

- number-поля теперь рендерятся как text + inputMode=numeric,
  чтобы браузер не округлял значения через input type=number
- пробелы при вставке в number-поля удаляются
- бэкенд нормализует значения number-полей в строку перед сохранением
- добавлен хелпер normalizeFieldValueForStorage

Closes: искажение расчётного счёта и других длинных числовых полей
This commit is contained in:
2026-07-07 21:03:40 +03:00
commit 1f5ecb6da4
1089 changed files with 237546 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
-- Добавляем условную обязательность полей формы
ALTER TABLE form_fields ADD COLUMN IF NOT EXISTS required_rules jsonb;
-- Для существующих обязательных полей включаем условную обязательность без условий
UPDATE form_fields
SET required_rules = jsonb_build_object('enabled', true, 'statusId', null, 'logic', 'and', 'conditions', '[]'::jsonb)
WHERE is_required = true AND required_rules IS NULL;