Files
iistwin/server/utils/normalize-field-value.ts
Ильяс Султанов 1f5ecb6da4 fix(number-fields): избегаем потери точности длинных чисел
- number-поля теперь рендерятся как text + inputMode=numeric,
  чтобы браузер не округлял значения через input type=number
- пробелы при вставке в number-поля удаляются
- бэкенд нормализует значения number-полей в строку перед сохранением
- добавлен хелпер normalizeFieldValueForStorage

Closes: искажение расчётного счёта и других длинных числовых полей
2026-07-07 21:03:40 +03:00

12 lines
547 B
TypeScript

/**
* Нормализация значения перед сохранением в task_field_values.
* Поля типа number храним как строку, чтобы избежать потери точности
* при сериализации в JSON/JavaScript Number (IEEE 754).
*/
export function normalizeFieldValueForStorage(value: unknown, fieldType?: string): any {
if (fieldType === 'number' && value !== null && value !== undefined && value !== '') {
return String(value).replace(/\s/g, '');
}
return value;
}