Fix: количество — только целое 0–99 (модели, формы, JS)

Made-with: Cursor
This commit is contained in:
2026-02-26 15:51:04 +00:00
parent 97d19a4659
commit 824d5512c7
6 changed files with 86 additions and 6 deletions

View File

@@ -1,5 +1,15 @@
# История изменений ERP WaterSurf
## 2025-02-26 15:50 UTC Количество: только целое число 099
**Проблема**: Поле «Количество» допускало дробные значения и числа больше двухзначного; требовалось ограничить целыми числами от 0 до 99 везде.
**Решение**: В моделях **CustomerOrderItem** и **SupplierOrderItem** поле `quantity` переведено на `decimal_places=0` и добавлены валидаторы `MinValueValidator(0)` и `MaxValueValidator(99)`. В формах заказа клиента и заказа поставщику поле «Количество» переопределено на `IntegerField(min_value=0, max_value=99)` с виджетом `step=1`. В шаблонах заказов в JS добавлена функция `parseQty()` (целое 099), расчёт суммы строки использует её для количества; при потере фокуса поле количества приводится к целому 099; при добавлении новой строки количество устанавливается в 1.
**Изменения**: documents/models.py (quantity: decimal_places=0, validators), documents/forms.py (IntegerField для quantity), order_form.html и supplier_order_form.html (parseQty, focusout, клон с quantity=1), миграция 0003_quantity_integer_0_99.
---
## 2025-02-26 00:50 UTC Форма заказа клиента: сетка, компактные поля, ширина
**Проблема**: На форме заказа клиента поле «Номер» визуально смещено вправо; высота полей и отступы между строками слишком большие; поля «Вид заказа», «Организация», «Клиент», «Автор» узкие.