Добавлен расчёт и отображение доступного количества комплектов

- Добавлен метод calculate_available_quantity() в модель ProductKit для точного расчёта максимального количества комплектов на основе свободных остатков компонентов
- Обновлён метод check_availability() для использования нового расчёта (обратная совместимость)
- Удалён устаревший сервис kit_availability.py

Исправлено отображение остатков комплектов:
- products_list.html: вместо прочерка показывается количество комплектов
- catalog.html: добавлено отображение доступного количества комплектов с цветовой индикацией
- POS terminal.js: в карточке товара показывается конкретное количество вместо общего 'В наличии'

Обновлены представления:
- ProductsListView: аннотирует комплекты атрибутом total_free
- CatalogView: рассчитывает доступное количество для каждого комплекта
- POS get_products(): убран хардкод, используется реальный расчёт по складу
This commit is contained in:
2026-01-06 01:02:28 +03:00
parent 2aba3d2404
commit d44ae0b598
12 changed files with 130 additions and 176 deletions

View File

@@ -547,7 +547,8 @@ def create_sale_on_order_completion(sender, instance, created, **kwargs):
)
except Exception as e:
logger.error(
f"❌ Ошибка финализации ShowcaseItem #{showcase_item.id}: {e}"
f"❌ Ошибка финализации ShowcaseItem #{showcase_item.id}: {e}",
exc_info=True
)
if finalized_count > 0: