Procedimiento: Carga de Refacciones y Mano de Obra
Proposito
Esta intervencion permite al capturista agregar lineas de refacciones, mano de obra y consumibles a las ordenes de servicio (OS) que estan en proceso en el taller. Cada linea queda registrada en la tabla canonica _lineas_os y se refleja automaticamente en la vista operativa.
El objetivo es que al completar la carga, cada OS tenga al menos una linea de refaccion o consumible y al menos una linea de mano de obra, condicion necesaria para que la OS pueda avanzar hacia facturacion.
Vista: Carga de Refacciones
La pestana vista_carga_refacciones es una vista de solo lectura (Capa 3a) que muestra las OS activas junto con un resumen de las lineas cargadas. Se actualiza automaticamente cada vez que se procesan cambios.
Columnas de la vista
| Columna | Descripcion |
|---|---|
| Folio OS | Identificador unico de la orden de servicio |
| Cliente | Nombre del cliente asociado |
| Placas | Placas de la unidad |
| Marca | Marca del vehiculo |
| Modelo | Modelo del vehiculo |
| Estado | Estado actual de la OS |
| Fecha Ingreso | Fecha en que ingreso la unidad |
| Mecanico | Mecanico asignado |
| Motivo | Motivo de ingreso |
| # Lineas | Numero total de lineas cargadas |
| Refacciones | Si/No — indica si tiene al menos una refaccion o consumible |
| Mano Obra | Si/No — indica si tiene al menos una linea de mano de obra |
| Total Estimado | Suma de subtotales de todas las lineas |
| Completitud | Semaforo de completitud (ver abajo) |
Semaforo de completitud
El semaforo indica si la OS esta lista para avanzar a facturacion:
| Color | Etiqueta | Significado |
|---|---|---|
| Verde | Completa | La OS tiene al menos una linea de refaccion o consumible y al menos una linea de mano de obra. Lista para avanzar. |
| Amarillo | Parcial | La OS tiene algunas lineas, pero le falta al menos un tipo (falta refaccion/consumible, o falta mano de obra). |
| Rojo | Sin lineas | La OS no tiene ninguna linea cargada. Requiere atencion inmediata. |
Importante: Verificar que el semaforo este en verde (Completa) antes de solicitar avance de estado de la OS.
Filtros
Solo aparecen OS en los siguientes estados:
en_proceso— el mecanico esta trabajandotrabajo_terminado— el mecanico termino, pero falta cargar refacciones/MO
Las OS en otros estados (registrada, facturable, facturada, etc.) no aparecen en esta vista.
Ordenamiento
Las OS se muestran ordenadas por fecha de ingreso de mas antigua a mas reciente, para priorizar las que llevan mas tiempo en el taller.
Como Agregar Lineas
Las lineas se agregan a traves de la pestana de captura stg_carga_lineas. Cada fila representa una linea que se desea agregar a una OS.
Refacciones
- Abrir la pestana
stg_carga_lineas(o el formulario en AppSheet). - Llenar los campos:
- stg_id: Identificador unico de esta captura (se genera automaticamente en AppSheet).
- os_id: Seleccionar la OS por su ID (consultable en la vista).
- tipo_linea: Seleccionar
refaccion. - producto_id: Seleccionar el producto del catalogo (
_productos). - descripcion: Se toma del catalogo, pero puede editarse.
- cantidad: Numero de piezas.
- precio_unitario: Se toma del catalogo. Si el precio real difiere, ver seccion de Excepciones.
- El sistema procesa la fila automaticamente y la promueve a
_lineas_os. - El subtotal se calcula como
cantidad x precio_unitario. - Verificar en la vista que la linea aparece reflejada.
Mano de Obra
- Abrir la pestana
stg_carga_lineas. - Llenar los campos:
- tipo_linea: Seleccionar
mano_obra. - producto_id: Dejar vacio (no aplica para mano de obra).
- descripcion: Escribir la descripcion del trabajo realizado (ej. “Diagnostico electrico”, “Cambio de aceite”).
- cantidad: Numero de horas o unidades de trabajo.
- precio_unitario: Precio por hora o por unidad de trabajo.
- tipo_linea: Seleccionar
- El sistema no requiere
producto_idpara lineas de mano de obra.
Consumibles
- Abrir la pestana
stg_carga_lineas. - Llenar los campos:
- tipo_linea: Seleccionar
consumible. - producto_id: Seleccionar del catalogo.
- descripcion: Descripcion del consumible (ej. “Aceite sintetico 5W-30”).
- cantidad: Cantidad utilizada (litros, piezas, etc.).
- precio_unitario: Precio por unidad.
- tipo_linea: Seleccionar
- Los consumibles cuentan igual que las refacciones para el semaforo de completitud.
Cuando Escalar
Las siguientes situaciones requieren accion adicional y no pueden resolverse directamente en la carga normal:
Producto no existe en catalogo
Si el producto que necesitas agregar no aparece en el catalogo (_productos):
- No intentes agregar la linea sin
producto_id(excepto mano de obra). - Ir a la pestana
stg_alta_productoy registrar el producto nuevo. - Llenar: descripcion, categoria, unidad de medida, precio unitario.
- Esperar a que el producto se procese y aparezca en
_productos. - Regresar a
stg_carga_lineasy ahora agregar la linea con el nuevoproducto_id.
Precio difiere mas del 20% del catalogo
Si el precio real de una refaccion o consumible difiere mas del 20% del precio registrado en catalogo:
- Agregar la linea con el precio real (no el de catalogo).
- Llenar los campos de override (ver seccion de Excepciones).
- El motivo debe justificar la diferencia (ej. “Precio de proveedor alterno”, “Descuento por volumen”).
Tipo de servicio no registrado
Si la OS requiere un tipo de servicio que no esta registrado en _tipos_servicio:
- Reportar al administrador del sistema.
- No crear lineas hasta que el tipo de servicio se registre.
- Documentar en las observaciones de la OS.
Excepciones
Cuando una situacion requiere desviarse del flujo normal, se utilizan los campos de override en stg_carga_lineas:
Campos de override
| Campo | Proposito |
|---|---|
override_reason_code | Codigo del motivo de la excepcion |
override_nota | Descripcion libre del motivo |
override_por | Nombre de quien autoriza la excepcion |
override_fecha | Fecha de la autorizacion |
Cuando usar override
- Precio diferente al catalogo: Cuando el precio unitario ingresado no coincide con el precio del catalogo del producto.
- Linea sin producto_id: Cuando se necesita agregar una refaccion o consumible que no tiene producto en catalogo (situacion temporal mientras se da de alta).
Codigos de motivo (override_reason_code)
Los codigos deben describir la situacion. Ejemplos comunes:
precio_proveedor_alterno— el precio difiere porque se compro a otro proveedordescuento_volumen— se aplico descuento por volumenprecio_urgencia— sobreprecio por compra urgenteproducto_temporal— producto no catalogado, pendiente de alta
Reglas Importantes
- Seleccionar la OS por folio en la vista. Solo aparecen OS en estado
en_procesootrabajo_terminado. - Para agregar refaccion: seleccionar producto del catalogo, ingresar cantidad. El precio se toma del catalogo.
- Para agregar mano de obra: escribir descripcion del trabajo, cantidad de horas, y precio por hora.
- Si el producto no aparece en catalogo, primero registrarlo en el formulario Alta de Producto (
stg_alta_producto). - Si el precio real difiere del catalogo, llenar los campos de override con el motivo.
- Verificar que el semaforo de completitud este en verde antes de solicitar avance de estado.
- No cerrar ni facturar OS desde esta interfaz. Eso corresponde a INT-3 (Facturacion).
Errores Comunes
Cuando una fila de staging se procesa incorrectamente, el sistema escribe el resultado en los campos de sistema:
| Campo | Valor |
|---|---|
status_procesamiento | ok (exito) o error (fallo) |
error_code | Codigo del error (ej. VALIDATION_ERROR) |
error_detail | Descripcion detallada del problema |
procesado_at | Fecha y hora del procesamiento |
Errores frecuentes y solucion
| Error | Causa | Solucion |
|---|---|---|
| ”os_id es obligatorio” | No se selecciono la OS | Verificar que el campo os_id tenga un valor valido |
| ”OS con id=X no encontrada” | El os_id no existe en _ordenes_servicio | Verificar el ID correcto en la vista |
| ”OS en estado X no acepta lineas” | La OS esta en un estado que no permite carga (ej. facturada) | Solo se pueden agregar lineas a OS en en_proceso o trabajo_terminado |
| ”line_type debe ser: refaccion, mano_obra, o consumible” | Tipo de linea invalido | Usar unicamente los tres tipos permitidos |
| ”qty debe ser > 0” | Cantidad cero o negativa | Ingresar una cantidad mayor a cero |
| ”precio_unitario debe ser > 0” | Precio cero o negativo | Ingresar un precio mayor a cero |
| ”producto_id es obligatorio para refacciones y consumibles” | Falta producto para una refaccion/consumible | Seleccionar un producto del catalogo, o dar de alta uno nuevo |
Que hacer si una fila tiene error
- Revisar los campos
error_codeyerror_detailen la fila de staging. - Corregir el dato incorrecto.
- Limpiar el campo
status_procesamiento(dejarlo vacio) para que el sistema vuelva a procesar la fila. - Esperar el siguiente ciclo de procesamiento o ejecutar manualmente.
Referencias
- Especificacion tecnica:
docs/views/int-2_carga-refacciones.yaml - Arquitectura de datos:
docs/architecture/dec_001_modelo-de-datos-canonico.md - Capas de datos:
docs/architecture/dec_002_capa-canonica-y-vistas-operativas.md - Vistas por rol:
docs/architecture/dec_003_vistas-decision-support-por-rol.md - Ruta de intervencion:
docs/architecture/spec_ruta-de-intervencion.md