diff --git a/src/food-market.api/Controllers/Inventory/InventoriesController.cs b/src/food-market.api/Controllers/Inventory/InventoriesController.cs index 424ef74..297039c 100644 --- a/src/food-market.api/Controllers/Inventory/InventoriesController.cs +++ b/src/food-market.api/Controllers/Inventory/InventoriesController.cs @@ -268,7 +268,13 @@ public async Task> Create([FromBody] InventoryInput i Notes = input.Notes, }; - // Если строки не указаны — подтягиваем все товары с ненулевым stock на складе. + // Если строки не указаны — подтягиваем товары склада как «ещё не + // посчитанные»: ActualQty = BookQty, Diff = 0. Так проведение НЕ трогает + // непосчитанные позиции (Diff=0 пропускается). Раньше здесь ставилось + // ActualQty=0 → Diff=-stock, и проведение ОБНУЛЯЛО всё, что кладовщик не + // пересчитал (в т.ч. всё вне выбранной группы). Кладовщик меняет ActualQty + // только у реально пересчитанных товаров (через add-line / правку строки); + // истинный ноль на складе вводится явным ActualQty=0. if (input.Lines is null || input.Lines.Count == 0) { var stocks = await (from s in _db.Stocks.AsNoTracking() @@ -283,8 +289,8 @@ public async Task> Create([FromBody] InventoryInput i { ProductId = st.ProductId, BookQty = st.Quantity, - ActualQty = 0, - Diff = -st.Quantity, + ActualQty = st.Quantity, + Diff = 0, UnitCost = st.Cost, SortOrder = order++, });