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 <noreply@anthropic.com>
This commit is contained in:
Abel López
2026-09-30 10:58:35 -04:00
co-authored by Claude Sonnet 5
parent c795294090
commit a7431ef94a
2 changed files with 7 additions and 5 deletions
+1 -5
View File
@@ -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) "
{