Gestión completa del ciclo productivo: desde la lista de materiales a los códigos de barras, desde la expedición de pedidos al registro de horas. Patrón MVP con Presenter separado de la View, 30 consultas catalogadas, MemoryLens integrado.
El Presenter no tiene dependencias VCL. La View no accede a los datos. La comunicación ocurre mediante eventos tipados: el Presenter es reutilizable con una futura View HTML.
UProdTypes
UProdQueryNames
UProd_QueryProvider
UProd_DistintaPresenter
30 consultas · ML capture
UFrProdDistinta
cxGrid · Barcode input
procedure TProdDistintaPresenter.AggiornaDistinta; begin FQueryProvider.ExecSQL( FQueryProvider.GetSQL(QRY_PROD_AGG_DIST), [LQta, LIdProd]); // MemoryLens: captura la acción del usuario (graceful) TMLHelper.CaptureAction(ML_MODULE, 'AggiornaDistinta', Format('{"idprod":%d,"qta":%d}', [LIdProd, LQta])); if Assigned(FOnDistintaLoaded) then FOnDistintaLoaded(Self, FQryDistinta, LCount); end;
Carga de la lista de materiales desde stored procedure. Actualización de cantidades, notas por fila, diferencias con la base de datos. Rejilla con coloreado condicional.
Lectura con input dedicado. Asignación automática a la producción. Recuento de códigos de barras sin asignar. Muestreo y número de serie.
Pallets con capacidad configurable. Expedición de pedidos, confirmación, cierre e impresión de pallets. Histórico de pallets por lote.
Registro de horas por equipo y usuario. Horas de producción, cambio de formato, otros tiempos. Presencia por centro de coste con histórico.
Cálculo en tiempo real: códigos de barras disponibles, piezas producidas, por completar, pallet actual. Record con 11 contadores.
Cada acción capturada vía TMLHelper. Anomalías señaladas automáticamente (lista de materiales vacía, códigos de barras insuficientes). Errores con exception class y stack.
Cada consulta tiene un nombre constante. Ninguna cadena SQL hardcodeada en los Presenter. El QueryProvider centraliza el acceso a los datos.
| Área | Consulta | Objetivo |
|---|---|---|
| Lote | prod_lotto_q | Carga lote por ID |
| Lista de materiales | prod_distinta_q | Componentes de la lista por producción |
| Lista de materiales | prod_aggdist_q | Actualiza qtaprod de la lista |
| Código de barras | prod_barcode_q | Códigos de barras por lote/producción |
| Expedición | prod_dett103_q | Detalles del pedido por artículo |
| Pallet | prod_pallet_q | Pallet activo por equipo |
| Horas | prod_presteam_q | Presencia del equipo por producción |
Se muestran 7 de 30. El conjunto completo incluye histórico, seriales, notas de equipo y planificación.
Producción y Planificación comparten ProdTools y el mismo Host.