fix(number-fields): избегаем потери точности длинных чисел
- number-поля теперь рендерятся как text + inputMode=numeric, чтобы браузер не округлял значения через input type=number - пробелы при вставке в number-поля удаляются - бэкенд нормализует значения number-полей в строку перед сохранением - добавлен хелпер normalizeFieldValueForStorage Closes: искажение расчётного счёта и других длинных числовых полей
This commit is contained in:
14
migrations/0017_contract_number_counters.sql
Normal file
14
migrations/0017_contract_number_counters.sql
Normal file
@@ -0,0 +1,14 @@
|
||||
-- Contract Number Counters (сквозная нумерация договоров)
|
||||
CREATE TABLE IF NOT EXISTS contract_number_counters (
|
||||
id SERIAL PRIMARY KEY,
|
||||
organization_id INTEGER NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
|
||||
form_id INTEGER NOT NULL REFERENCES forms(id) ON DELETE CASCADE,
|
||||
prefix TEXT NOT NULL,
|
||||
year INTEGER NOT NULL,
|
||||
last_number INTEGER NOT NULL DEFAULT 0,
|
||||
created_at TIMESTAMP DEFAULT NOW(),
|
||||
updated_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS contract_number_counters_unique
|
||||
ON contract_number_counters (organization_id, form_id, prefix, year);
|
||||
Reference in New Issue
Block a user