I created a server action where when the user clicks it, it will decrement the user's onhand quantity but it won't force save
for record in records:
location = record.x_studio_stock_location
# Search for the relevant stock.quant record
quant = env['stock.quant'].search([
('location_id', '=', record.x_studio_tools.id) # Adjust filters as needed
], limit=1)
if quant and quant.location_id == location:
new_inventory_quantity = quant.inventory_quantity_auto_apply - 1
if new_inventory_quantity < 0:
raise UserError(f"Inventory quantity cannot be negative for location {location.name}.")
# Update the inventory quantity (this won't save)
quant.sudo().write({'quantity': new_inventory_quantity})