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

ColumnaDescripcion
Folio OSIdentificador unico de la orden de servicio
ClienteNombre del cliente asociado
PlacasPlacas de la unidad
MarcaMarca del vehiculo
ModeloModelo del vehiculo
EstadoEstado actual de la OS
Fecha IngresoFecha en que ingreso la unidad
MecanicoMecanico asignado
MotivoMotivo de ingreso
# LineasNumero total de lineas cargadas
RefaccionesSi/No — indica si tiene al menos una refaccion o consumible
Mano ObraSi/No — indica si tiene al menos una linea de mano de obra
Total EstimadoSuma de subtotales de todas las lineas
CompletitudSemaforo de completitud (ver abajo)

Semaforo de completitud

El semaforo indica si la OS esta lista para avanzar a facturacion:

ColorEtiquetaSignificado
VerdeCompletaLa OS tiene al menos una linea de refaccion o consumible y al menos una linea de mano de obra. Lista para avanzar.
AmarilloParcialLa OS tiene algunas lineas, pero le falta al menos un tipo (falta refaccion/consumible, o falta mano de obra).
RojoSin lineasLa 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 trabajando
  • trabajo_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

  1. Abrir la pestana stg_carga_lineas (o el formulario en AppSheet).
  2. 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.
  3. El sistema procesa la fila automaticamente y la promueve a _lineas_os.
  4. El subtotal se calcula como cantidad x precio_unitario.
  5. Verificar en la vista que la linea aparece reflejada.

Mano de Obra

  1. Abrir la pestana stg_carga_lineas.
  2. 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.
  3. El sistema no requiere producto_id para lineas de mano de obra.

Consumibles

  1. Abrir la pestana stg_carga_lineas.
  2. 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.
  3. 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:

Si el producto que necesitas agregar no aparece en el catalogo (_productos):

  1. No intentes agregar la linea sin producto_id (excepto mano de obra).
  2. Ir a la pestana stg_alta_producto y registrar el producto nuevo.
  3. Llenar: descripcion, categoria, unidad de medida, precio unitario.
  4. Esperar a que el producto se procese y aparezca en _productos.
  5. Regresar a stg_carga_lineas y ahora agregar la linea con el nuevo producto_id.

Si el precio real de una refaccion o consumible difiere mas del 20% del precio registrado en catalogo:

  1. Agregar la linea con el precio real (no el de catalogo).
  2. Llenar los campos de override (ver seccion de Excepciones).
  3. 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:

  1. Reportar al administrador del sistema.
  2. No crear lineas hasta que el tipo de servicio se registre.
  3. 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

CampoProposito
override_reason_codeCodigo del motivo de la excepcion
override_notaDescripcion libre del motivo
override_porNombre de quien autoriza la excepcion
override_fechaFecha 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 proveedor
  • descuento_volumen — se aplico descuento por volumen
  • precio_urgencia — sobreprecio por compra urgente
  • producto_temporal — producto no catalogado, pendiente de alta

Reglas Importantes

  1. Seleccionar la OS por folio en la vista. Solo aparecen OS en estado en_proceso o trabajo_terminado.
  2. Para agregar refaccion: seleccionar producto del catalogo, ingresar cantidad. El precio se toma del catalogo.
  3. Para agregar mano de obra: escribir descripcion del trabajo, cantidad de horas, y precio por hora.
  4. Si el producto no aparece en catalogo, primero registrarlo en el formulario Alta de Producto (stg_alta_producto).
  5. Si el precio real difiere del catalogo, llenar los campos de override con el motivo.
  6. Verificar que el semaforo de completitud este en verde antes de solicitar avance de estado.
  7. 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:

CampoValor
status_procesamientook (exito) o error (fallo)
error_codeCodigo del error (ej. VALIDATION_ERROR)
error_detailDescripcion detallada del problema
procesado_atFecha y hora del procesamiento

Errores frecuentes y solucion

ErrorCausaSolucion
”os_id es obligatorio”No se selecciono la OSVerificar que el campo os_id tenga un valor valido
”OS con id=X no encontrada”El os_id no existe en _ordenes_servicioVerificar 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 invalidoUsar unicamente los tres tipos permitidos
”qty debe ser > 0”Cantidad cero o negativaIngresar una cantidad mayor a cero
”precio_unitario debe ser > 0”Precio cero o negativoIngresar un precio mayor a cero
”producto_id es obligatorio para refacciones y consumibles”Falta producto para una refaccion/consumibleSeleccionar un producto del catalogo, o dar de alta uno nuevo

Que hacer si una fila tiene error

  1. Revisar los campos error_code y error_detail en la fila de staging.
  2. Corregir el dato incorrecto.
  3. Limpiar el campo status_procesamiento (dejarlo vacio) para que el sistema vuelva a procesar la fila.
  4. 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