Fix: FIFO учитывает резервы, автоматическая дата/время в POS, исправлен фильтр Product в transfers

- Исправлен метод write_off_by_fifo() для учета зарезервированных партий
- Добавлено автоматическое проставление даты и времени при создании заказов в POS
- Исправлена ошибка фильтрации Product (is_active -> status='active') в transfers
- Предотвращает списание из зарезервированных партий, устраняя отрицательные остатки

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-05 23:40:03 +03:00
parent 456ae0b742
commit 2f7fed4a1a
3 changed files with 42 additions and 10 deletions

View File

@@ -1312,12 +1312,17 @@ def pos_checkout(request):
# Атомарная операция
with db_transaction.atomic():
# 1. Создаём заказ
# 1. Создаём заказ с автоматическим проставлением текущей даты и времени
now = timezone.now()
current_time = now.time()
order = Order.objects.create(
customer=customer,
is_delivery=False, # POS - всегда самовывоз
pickup_warehouse=warehouse,
status=completed_status, # Сразу "Выполнен"
delivery_date=now.date(), # Текущая дата
delivery_time_start=current_time, # Текущее время
delivery_time_end=current_time, # То же время (точное время)
special_instructions=order_notes,
modified_by=request.user
)