Modelo de Datos: Stock
Modulo: stock
Total Modelos: 30+
Modelos Documentados: 8 (principales)
1. Indice de Modelos Principales
| Modelo |
Descripcion |
Campos |
Archivo |
| stock.move |
Movimientos |
40+ |
stock_move.py |
| stock.move.line |
Lineas operacion |
25+ |
stock_move_line.py |
| stock.picking |
Albaranes |
35+ |
stock_picking.py |
| stock.location |
Ubicaciones |
20+ |
stock_location.py |
| stock.warehouse |
Almacenes |
30+ |
stock_warehouse.py |
| stock.quant |
Cantidades |
20+ |
stock_quant.py |
| stock.rule |
Reglas procura |
15+ |
stock_rule.py |
| stock.lot |
Lotes/SN |
10+ |
stock_lot.py |
2. Detalle por Modelo
2.1 stock.move (Movimientos)
Archivo: models/stock_move.py
Descripcion: Stock Move
Hereda de: - (modelo independiente)
Estado (state)
| Estado |
Descripcion |
| draft |
Nuevo |
| waiting |
Esperando otro movimiento |
| confirmed |
Esperando disponibilidad |
| partially_available |
Parcialmente disponible |
| assigned |
Disponible/Reservado |
| done |
Completado |
| cancel |
Cancelado |
Campos Principales
| Campo |
Tipo |
Req |
Descripcion |
| sequence |
Integer |
No |
Secuencia (default=10) |
| state |
Selection |
Si |
Estado del movimiento |
| date |
Datetime |
Si |
Fecha programada |
| product_id |
Many2one |
Si |
Producto |
| product_qty |
Float |
No |
Cantidad real (computed) |
| product_uom_qty |
Float |
Si |
Cantidad demandada |
| product_uom |
Many2one |
Si |
Unidad de medida |
| location_id |
Many2one |
Si |
Ubicacion origen |
| location_dest_id |
Many2one |
Si |
Ubicacion destino |
| picking_id |
Many2one |
No |
Albaran asociado |
| company_id |
Many2one |
Si |
Empresa |
| partner_id |
Many2one |
No |
Direccion destino |
Campos de Cadena
| Campo |
Tipo |
Descripcion |
| move_orig_ids |
Many2many |
Movimientos origen (cadena) |
| move_dest_ids |
Many2many |
Movimientos destino (cadena) |
| rule_id |
Many2one |
Regla que lo creo |
| picking_type_id |
Many2one |
Tipo de operacion |
| route_ids |
Many2many |
Rutas preferidas |
| move_line_ids |
One2many |
Lineas de operacion |
2.2 stock.move.line (Lineas de Operacion)
Archivo: models/stock_move_line.py
Descripcion: Product Moves (Detailed Operations)
Campos Principales
| Campo |
Tipo |
Req |
Descripcion |
| move_id |
Many2one |
No |
Movimiento padre |
| picking_id |
Many2one |
No |
Albaran |
| product_id |
Many2one |
Si |
Producto |
| product_uom_id |
Many2one |
Si |
Unidad de medida |
| quantity |
Float |
Si |
Cantidad hecha |
| quantity_product_uom |
Float |
No |
Cantidad en UoM producto |
| lot_id |
Many2one |
No |
Lote/Numero de serie |
| lot_name |
Char |
No |
Nombre del lote |
| package_id |
Many2one |
No |
Paquete origen |
| result_package_id |
Many2one |
No |
Paquete destino |
| owner_id |
Many2one |
No |
Propietario |
| location_id |
Many2one |
Si |
Ubicacion origen |
| location_dest_id |
Many2one |
Si |
Ubicacion destino |
| state |
Selection |
No |
Estado (related) |
2.3 stock.picking (Albaranes/Transferencias)
Archivo: models/stock_picking.py
Descripcion: Transfer
Hereda de: mail.thread, mail.activity.mixin
Estado (state)
| Estado |
Descripcion |
| draft |
Borrador |
| waiting |
Esperando otra operacion |
| confirmed |
Esperando disponibilidad |
| assigned |
Listo |
| done |
Completado |
| cancel |
Cancelado |
Campos Principales
| Campo |
Tipo |
Req |
Descripcion |
| name |
Char |
No |
Referencia (secuencial) |
| state |
Selection |
No |
Estado (computed) |
| picking_type_id |
Many2one |
Si |
Tipo de operacion |
| picking_type_code |
Selection |
No |
Codigo tipo (related) |
| move_type |
Selection |
Si |
Politica envio |
| location_id |
Many2one |
Si |
Ubicacion origen |
| location_dest_id |
Many2one |
Si |
Ubicacion destino |
| move_ids |
One2many |
No |
Movimientos |
| move_line_ids |
One2many |
No |
Lineas detalladas |
| partner_id |
Many2one |
No |
Contacto |
| company_id |
Many2one |
No |
Empresa (related) |
Campos de Fecha
| Campo |
Tipo |
Descripcion |
| scheduled_date |
Datetime |
Fecha programada (computed) |
| date_deadline |
Datetime |
Fecha limite |
| date_done |
Datetime |
Fecha de ejecucion |
Campos Adicionales
| Campo |
Tipo |
Descripcion |
| priority |
Selection |
Prioridad (0=Normal, 1=Urgente) |
| user_id |
Many2one |
Responsable |
| owner_id |
Many2one |
Propietario asignado |
| is_locked |
Boolean |
Bloqueado (default=True) |
| backorder_id |
Many2one |
Albaran original (backorder) |
| signature |
Image |
Firma |
| printed |
Boolean |
Impreso |
2.4 stock.location (Ubicaciones)
Archivo: models/stock_location.py
Descripcion: Inventory Locations
Estructura: Jerarquica (_parent_store)
Tipos de Ubicacion (usage)
| Tipo |
Descripcion |
Virtual |
| supplier |
Proveedores |
Si |
| view |
Virtual/Jerarquica |
Si |
| internal |
Interna fisica |
No |
| customer |
Clientes |
Si |
| inventory |
Ajustes inventario |
Si |
| production |
Produccion |
Si |
| transit |
Transito |
Si |
Campos Principales
| Campo |
Tipo |
Req |
Descripcion |
| name |
Char |
Si |
Nombre |
| complete_name |
Char |
No |
Nombre completo (computed) |
| usage |
Selection |
Si |
Tipo de ubicacion |
| location_id |
Many2one |
No |
Ubicacion padre |
| child_ids |
One2many |
No |
Ubicaciones hijas |
| parent_path |
Char |
No |
Ruta de padres (indexed) |
| company_id |
Many2one |
No |
Empresa |
| barcode |
Char |
No |
Codigo de barras |
| active |
Boolean |
No |
Activo |
Campos de Configuracion
| Campo |
Tipo |
Descripcion |
| replenish_location |
Boolean |
Trigger reposicion |
| removal_strategy_id |
Many2one |
Estrategia extraccion |
| putaway_rule_ids |
One2many |
Reglas ubicacion |
| storage_category_id |
Many2one |
Categoria almacenamiento |
| cyclic_inventory_frequency |
Integer |
Frecuencia inventario (dias) |
2.5 stock.warehouse (Almacenes)
Archivo: models/stock_warehouse.py
Descripcion: Warehouse
Campos Principales
| Campo |
Tipo |
Req |
Descripcion |
| name |
Char |
Si |
Nombre |
| code |
Char |
Si |
Codigo corto (5 chars) |
| company_id |
Many2one |
Si |
Empresa |
| partner_id |
Many2one |
No |
Direccion |
| active |
Boolean |
No |
Activo |
| sequence |
Integer |
No |
Secuencia |
Ubicaciones del Almacen
| Campo |
Tipo |
Descripcion |
| view_location_id |
Many2one |
Ubicacion raiz |
| lot_stock_id |
Many2one |
Stock principal |
| wh_input_stock_loc_id |
Many2one |
Entrada |
| wh_qc_stock_loc_id |
Many2one |
Control calidad |
| wh_output_stock_loc_id |
Many2one |
Salida |
| wh_pack_stock_loc_id |
Many2one |
Empaque |
Configuracion de Flujos
| Campo |
Tipo |
Descripcion |
| reception_steps |
Selection |
Pasos recepcion (1/2/3) |
| delivery_steps |
Selection |
Pasos entrega (1/2/3) |
| route_ids |
Many2many |
Rutas por defecto |
Tipos de Operacion
| Campo |
Tipo |
Descripcion |
| in_type_id |
Many2one |
Tipo recepcion |
| out_type_id |
Many2one |
Tipo envio |
| int_type_id |
Many2one |
Tipo interno |
| pick_type_id |
Many2one |
Tipo pick |
| pack_type_id |
Many2one |
Tipo empaque |
2.6 stock.quant (Cantidades)
Archivo: models/stock_quant.py
Descripcion: Quants
Campos Principales
| Campo |
Tipo |
Req |
Descripcion |
| product_id |
Many2one |
Si |
Producto |
| product_tmpl_id |
Many2one |
No |
Plantilla (related) |
| location_id |
Many2one |
Si |
Ubicacion |
| warehouse_id |
Many2one |
No |
Almacen (related) |
| lot_id |
Many2one |
No |
Lote/SN |
| package_id |
Many2one |
No |
Paquete |
| owner_id |
Many2one |
No |
Propietario |
| company_id |
Many2one |
No |
Empresa (related) |
Campos de Cantidad
| Campo |
Tipo |
Descripcion |
| quantity |
Float |
Cantidad actual (readonly) |
| reserved_quantity |
Float |
Cantidad reservada (readonly) |
| available_quantity |
Float |
Cantidad disponible (computed) |
| in_date |
Datetime |
Fecha de entrada |
Campos de Inventario
| Campo |
Tipo |
Descripcion |
| inventory_quantity |
Float |
Cantidad contada |
| inventory_date |
Date |
Fecha programada |
| inventory_diff_quantity |
Float |
Diferencia (computed) |
| last_count_date |
Date |
Ultimo conteo |
| user_id |
Many2one |
Usuario asignado |
2.7 stock.rule (Reglas de Procura)
Archivo: models/stock_rule.py
Descripcion: Stock Rule
Campos Principales
| Campo |
Tipo |
Req |
Descripcion |
| name |
Char |
Si |
Nombre |
| active |
Boolean |
No |
Activo |
| action |
Selection |
Si |
Accion (pull/push/pull_push) |
| sequence |
Integer |
No |
Secuencia |
| route_id |
Many2one |
Si |
Ruta |
| location_src_id |
Many2one |
No |
Ubicacion origen |
| location_dest_id |
Many2one |
Si |
Ubicacion destino |
| picking_type_id |
Many2one |
Si |
Tipo operacion |
| procure_method |
Selection |
Si |
Metodo procura |
| company_id |
Many2one |
No |
Empresa |
| warehouse_id |
Many2one |
No |
Almacen |
| delay |
Integer |
No |
Tiempo entrega (dias) |
| auto |
Selection |
No |
Automatizacion |
| propagate_cancel |
Boolean |
No |
Propagar cancelacion |
2.8 stock.lot (Lotes/Numeros de Serie)
Archivo: models/stock_lot.py
Descripcion: Lot/Serial
Campos Principales
| Campo |
Tipo |
Req |
Descripcion |
| name |
Char |
Si |
Lote/SN |
| ref |
Char |
No |
Referencia interna |
| product_id |
Many2one |
Si |
Producto |
| product_qty |
Float |
No |
Cantidad en mano (computed) |
| company_id |
Many2one |
Si |
Empresa |
| expiration_date |
Datetime |
No |
Fecha expiracion |
| use_date |
Datetime |
No |
Mejor antes de |
| removal_date |
Datetime |
No |
Fecha remocion |
| alert_date |
Datetime |
No |
Fecha alerta |
| quant_ids |
One2many |
No |
Cantidades |
3. Diagrama Entidad-Relacion
┌───────────────────────┐ move_ids ┌───────────────────────┐
│ stock.picking │────────────────────►│ stock.move │
│ │ │ │
│ - name │ picking_id │ - state │
│ - state │◄─────────────────────│ - product_id │
│ - picking_type_id │ │ - product_qty │
│ - scheduled_date │ │ - location_id │
└───────────┬───────────┘ │ - location_dest_id │
│ └───────────┬───────────┘
│ picking_type_id │
▼ move_line_ids
┌───────────────────────┐ ▼
│ stock.picking.type │ ┌───────────────────────┐
│ │ │ stock.move.line │
│ - code │ │ │
│ - warehouse_id │ │ - quantity │
│ - reservation_method │ │ - lot_id │
└───────────────────────┘ │ - package_id │
└───────────────────────┘
┌───────────────────────┐ lot_stock_id ┌───────────────────────┐
│ stock.warehouse │────────────────────►│ stock.location │
│ │ │ │
│ - code │ warehouse_id │ - usage │
│ - reception_steps │◄─────────────────────│ - location_id │
│ - delivery_steps │ │ - parent_path │
└───────────────────────┘ └───────────┬───────────┘
│
location_id │
▼
┌───────────────────────┐ ┌───────────────────────┐
│ stock.quant │────────────────────►│ product.product │
│ │ product_id │ │
│ - quantity │ │ (from product) │
│ - reserved_quantity │ └───────────────────────┘
│ - location_id │
│ - lot_id │
└───────────────────────┘
┌───────────────────────┐ route_id ┌───────────────────────┐
│ stock.rule │────────────────────►│ stock.route │
│ │ │ │
│ - action │ │ - name │
│ - procure_method │ │ - product_selectable │
│ - location_src_id │ │ - warehouse_selectable│
│ - location_dest_id │ └───────────────────────┘
└───────────────────────┘
Referencias:
- Carpeta models:
addons/stock/models/