From a7431ef94ab855b1285917e6601fbb5696f62ad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abel=20L=C3=B3pez?= Date: Wed, 30 Sep 2026 10:58:35 -0400 Subject: [PATCH] Registra noprrp043 (Informe Registro Entrada/Salidas) y corrige bugs Se agrega noprrp043 al proyecto usando nofmrp043.4fd, reutilizando FUNCIONESREPORT y libgre.42x. Se corrige validacion residual de otro programa: comprobaba "fecha_inicial IS NULL" (variable nunca asignada aqui) y hacia NEXT FIELD fecha_inicial, campo que no existe en este formulario (solo existen xfecha1/xfecha2). Esto hacia que el boton "Imprimir" fallara siempre con "Field not found". Se elimina esa validacion, ya que la validacion real de xfecha1 esta justo despues. Se corrige rango de fechas: WHERE checktime BETWEEN fecha1 AND fecha2 (sin hora) excluye registros del ultimo dia con hora posterior a medianoche. Se cambia a >= fecha1 AND < fecha2+1. Probado con empleado 5001, rango 14/10/2024-16/10/2024, verificado contra BD (2 registros de entrada, fecha/hora correctas). Co-Authored-By: Claude Sonnet 5 --- PROYECTO/mbsERP.4pw | 6 ++++++ PROYECTO/nodir/noprrp043.4gl | 6 +----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/PROYECTO/mbsERP.4pw b/PROYECTO/mbsERP.4pw index dda10b3..676efb0 100644 --- a/PROYECTO/mbsERP.4pw +++ b/PROYECTO/mbsERP.4pw @@ -494,6 +494,7 @@ + @@ -586,6 +587,11 @@ + + + + + diff --git a/PROYECTO/nodir/noprrp043.4gl b/PROYECTO/nodir/noprrp043.4gl index 2a9a53f..2170a78 100644 --- a/PROYECTO/nodir/noprrp043.4gl +++ b/PROYECTO/nodir/noprrp043.4gl @@ -39,10 +39,6 @@ OPEN WINDOW w1 WITH FORM "nofmrp043" ON ACTION CANCEL ATTRIBUTE(TEXT="Cancelar", IMAGE="cancel") EXIT PROGRAM ON ACTION imprimir ATTRIBUTE(TEXT="Imprime", IMAGE="printer") - IF fecha_inicial IS NULL THEN - CALL msg(16) - NEXT FIELD fecha_inicial - END IF IF xfecha1 IS NULL THEN CALL msg(16) NEXT FIELD xfecha1 @@ -77,7 +73,7 @@ FUNCTION reporte() CAST(a.checktime as date) FROM CHECKINOUT a,adtb00001 b ,adtb00003 c WHERE c.departamento = b.departamento AND a.num_emp = c.num_emp AND - c.status_t is null and a.CHECKTIME between '",xfecha1 USING 'yyyy-mm-dd',"' and '",xfecha2 USING 'yyyy-mm-dd',"' and ", + c.status_t is null and a.CHECKTIME >= '",xfecha1 USING 'yyyy-mm-dd',"' and a.CHECKTIME < '",(xfecha2+1) USING 'yyyy-mm-dd',"' and ", criterio CLIPPED, " order by '('+CAST(c.departamento AS CHAR(20))+') '+b.nom_dpto,a.num_emp,cast(a.checktime as date) " {