Files
octopus/myproject/inventory/templates/inventory/base_inventory.html
Andrey Smakotin 6735be9b08 feat: Реализовать систему поступления товаров с партиями (IncomingBatch)
Основные изменения:
- Создана модель IncomingBatch для группировки товаров по документам
- Каждое поступление (Incoming) связано с одной батчем поступления
- Автоматическое создание StockBatch для каждого товара в приходе
- Реализована система нумерации партий (IN-XXXX-XXXX) с поиском максимума в БД
- Обновлены все представления (views) для работы с новой архитектурой
- Добавлены детальные страницы просмотра партий поступлений
- Обновлены шаблоны для отображения информации о партиях и их товарах
- Исправлена логика сигналов для создания StockBatch при приходе товара
- Обновлены формы для работы с новой структурой IncomingBatch

Архитектура FIFO:
- IncomingBatch: одна партия поступления (номер IN-XXXX-XXXX)
- Incoming: товар в партии поступления
- StockBatch: одна партия товара на складе (создается для каждого товара)

Это позволяет системе правильно применять FIFO при продаже товаров.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 03:26:06 +03:00

97 lines
4.2 KiB
HTML

{% extends 'base.html' %}
{% block title %}{% block inventory_title %}Склад{% endblock %}{% endblock %}
{% block content %}
<div class="container-fluid mt-4">
<div class="row">
<!-- Боковая панель навигации -->
<div class="col-md-3 mb-4">
<div class="card">
<div class="card-header bg-primary text-white">
<h5 class="mb-0">Управление складом</h5>
</div>
<div class="list-group list-group-flush">
<a href="{% url 'inventory:inventory-home' %}" class="list-group-item list-group-item-action">
<i class="bi bi-house-door"></i> Главная
</a>
<a href="{% url 'inventory:warehouse-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-building"></i> Склады
</a>
<a href="{% url 'inventory:incoming-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-arrow-down-square"></i> Приходы
</a>
<a href="{% url 'inventory:incoming-create' %}" class="list-group-item list-group-item-action">
<i class="bi bi-file-earmark-plus"></i> Поступление товара
</a>
<a href="{% url 'inventory:incoming-batch-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-diagram-3-fill"></i> Партии поступлений
</a>
<a href="{% url 'inventory:sale-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-arrow-up-square"></i> Продажи
</a>
<a href="{% url 'inventory:inventory-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-clipboard-check"></i> Инвентаризация
</a>
<a href="{% url 'inventory:writeoff-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-x-circle"></i> Списания
</a>
<a href="{% url 'inventory:transfer-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-arrow-left-right"></i> Перемещения
</a>
</div>
</div>
<!-- Справочная информация -->
<div class="card mt-3">
<div class="card-header bg-info text-white">
<h5 class="mb-0">Справочная информация</h5>
</div>
<div class="list-group list-group-flush">
<a href="{% url 'inventory:stock-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-box-seam"></i> Остатки
</a>
<a href="{% url 'inventory:batch-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-diagram-3"></i> Партии
</a>
<a href="{% url 'inventory:movement-list' %}" class="list-group-item list-group-item-action">
<i class="bi bi-journal-check"></i> Журнал
</a>
</div>
</div>
</div>
<!-- Основной контент -->
<div class="col-md-9">
{% block inventory_content %}{% endblock %}
</div>
</div>
</div>
<style>
.list-group-item {
border-left: 4px solid transparent;
transition: all 0.2s;
}
.list-group-item:hover {
border-left-color: #007bff;
background-color: #f8f9fa;
}
.list-group-item.active {
border-left-color: #007bff;
background-color: #e7f1ff;
}
.card {
border: none;
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
.card-header {
border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}
</style>
{% endblock %}