Добавлено разделение типов поступлений на склад
- Добавлено поле receipt_type в модель IncomingBatch с типами: supplier, inventory, adjustment - Исправлен баг в InventoryProcessor: теперь корректно создается IncomingBatch при инвентаризации - Создан IncomingAdjustmentCreateView для оприходования без инвентаризации - Обновлены формы, шаблоны и админка для поддержки разных типов поступлений - Добавлена навигация и URL для оприходования - Тип поступления отображается в списках приходов и партий
This commit is contained in:
@@ -105,10 +105,23 @@ class IncomingBatch(models.Model):
|
||||
Партия поступления товара (один номер документа = одна партия).
|
||||
Содержит один номер документа и может включать несколько товаров.
|
||||
"""
|
||||
RECEIPT_TYPE_CHOICES = [
|
||||
('supplier', 'Поступление от поставщика'),
|
||||
('inventory', 'Оприходование при инвентаризации'),
|
||||
('adjustment', 'Оприходование без инвентаризации'),
|
||||
]
|
||||
|
||||
warehouse = models.ForeignKey(Warehouse, on_delete=models.CASCADE,
|
||||
related_name='incoming_batches', verbose_name="Склад")
|
||||
document_number = models.CharField(max_length=100, unique=True, db_index=True,
|
||||
verbose_name="Номер документа")
|
||||
receipt_type = models.CharField(
|
||||
max_length=20,
|
||||
choices=RECEIPT_TYPE_CHOICES,
|
||||
default='supplier',
|
||||
db_index=True,
|
||||
verbose_name="Тип поступления"
|
||||
)
|
||||
supplier_name = models.CharField(max_length=200, blank=True, null=True,
|
||||
verbose_name="Наименование поставщика")
|
||||
notes = models.TextField(blank=True, null=True, verbose_name="Примечания")
|
||||
@@ -122,6 +135,7 @@ class IncomingBatch(models.Model):
|
||||
indexes = [
|
||||
models.Index(fields=['document_number']),
|
||||
models.Index(fields=['warehouse']),
|
||||
models.Index(fields=['receipt_type']),
|
||||
models.Index(fields=['-created_at']),
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user