Sí, se puede simplificar bastante si lo pensás como intersección de intervalos en lugar de ir ramificando con tantos IF. En realidad tenés dos intervalos principales:
Intervalo de propiedad → desde la fecha de escritura (m.fecnot) hasta el fin del período (m.fecfin), limitado por el inicio del período (m.fecini).
Intervalo de alquiler → desde m.fecalt hasta m.fecbaj.
El número de días que usa el propietario es simplemente:
donde DuraciónPeriodo es la cantidad de días entre fecini y fecfin (ajustado por escritura), y la intersección es el tramo en que el alquiler cae dentro del período.
Ventajas de este enfoque
Eliminás la mayoría de los IF anidados.
Pensás todo como intervalos que se solapan o no.
Es más fácil de mantener y extender (por ejemplo, si después querés contemplar varios períodos de alquiler).
En tu ejemplo (escritura en julio, alquiler agosto-septiembre), el cálculo se reduce a:
Periodo válido: 1/7/2025 a 31/12/2025 → 184 días
Alquiler: 1/8/2025 a 1/9/2025 → 32 días
Uso propietario = 184 - 32 = 152 días
--
Blog de la Comunidad Visual FoxPro en Español http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/ce78f24f-2513-46ae-9632-defab77ec2aen%40googlegroups.com.