Добавлен статус 'converted_to_writeoff' для резервов документов списания
Проблема: - Резервы документов списания помечались как 'converted_to_sale' - Это вводило в заблуждение - списание это не продажа - В админке резервы списания отображались как 'В продажу' Решение: - Добавлен новый статус 'converted_to_writeoff' в Reservation.STATUS_CHOICES - Увеличен max_length поля status с 20 до 25 символов - Обновлен WriteOffDocumentService.confirm_document() - теперь использует новый статус - Обновлено описание поля converted_at (теперь для продажи ИЛИ списания) - Создана миграция 0011_add_writeoff_status_to_reservation Изменения: - inventory/models.py: добавлен статус, увеличен max_length, обновлен help_text - inventory/services/writeoff_document_service.py: используется converted_to_writeoff - inventory/migrations/0011_*.py: миграция для изменений модели Влияние: - Чистая аналитика: можно отличить продажи от списаний - Корректный учёт Stock: статус влияет на quantity_reserved - Защита от ошибок при будущих доработках (откат списания)
This commit is contained in:
@@ -281,9 +281,9 @@ class WriteOffDocumentService:
|
||||
f"Не хватает: {remaining}"
|
||||
)
|
||||
|
||||
# Обновляем резерв
|
||||
# Обновляем резерв - помечаем как преобразованный в списание
|
||||
if item.reservation:
|
||||
item.reservation.status = 'converted_to_sale'
|
||||
item.reservation.status = 'converted_to_writeoff'
|
||||
item.reservation.converted_at = timezone.now()
|
||||
item.reservation.save(update_fields=['status', 'converted_at'])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user