Проблема:
- free_qty передавался как float(decimal) в JSON API
- При конвертации Decimal→float терялась точность
- JavaScript показывал -0.050000000000044 вместо -0.05
Решение:
- free_qty теперь передаётся как строка: str(free_qty)
- Добавлено отдельное поле free_qty_sort (float) для сортировки
- После сортировки free_qty_sort удаляется из результата
- JavaScript parseFloat() корректно парсит строку без потери точности
Результат:
- Отображение остатков точное: -0.05 вместо -0.050000000000044
- Нет округления на фронте - видны реальные данные
- Сортировка по остаткам работает корректно