Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Antigüedad de Saldos (https://www.clubdelphi.com/foros/showthread.php?t=29618)

AzidRain 26-01-2006 23:06:10

Antigüedad de Saldos
 
A reserva de que me regañen los moderadores, les dejo aqui este post, que aunque no es una pregunta, yo creo que a alguien por ahi le va a servir.

Se trata de una consulta para obtener la antigüedad de un saldo en una DB de cuentas por cobrar, normalmente es un reporte que muestra que tanto tiempo tiene de vencida una cuenta segun el dia en que debia cobrarse mostrando rangos de dias . Esta consulta funciona para MySQL 4.11 en adelante, pero supongo que la podran adaptar si lo requieren

Código:

SELECT NOMBRE, NO_TALON, NUMCLIENTE, CVE_CLIENTE,FECHA,
IF( DATEDIFF( CURDATE(), PROGRAMADO )<0 AND ( PROGRAMADO<>'0000-00-00'), IMPORTE, 0 ) AS PORVENCER,
IF( (DATEDIFF( CURDATE(), PROGRAMADO )>=0 AND DATEDIFF( CURDATE(), PROGRAMADO )<=15) OR PROGRAMADO='0000-00-00',IMPORTE,0) AS VENCIDOS115 ,
IF( DATEDIFF( CURDATE(), PROGRAMADO )>=16 AND DATEDIFF( CURDATE(), PROGRAMADO )<=30, IMPORTE,0) AS VENCIDOS1630,
IF( DATEDIFF( CURDATE(), PROGRAMADO )>=31 AND DATEDIFF( CURDATE(), PROGRAMADO )<=45, IMPORTE,0) AS VENCIDOS3145,
IF( DATEDIFF( CURDATE(), PROGRAMADO )>=46 AND DATEDIFF( CURDATE(), PROGRAMADO )<=60, IMPORTE,0) AS VENCIDOS4660,
IF( DATEDIFF( CURDATE(), PROGRAMADO )>=61 AND DATEDIFF( CURDATE(), PROGRAMADO )<=90, IMPORTE,0) AS VENCIDOS6190,
IF( DATEDIFF( CURDATE(), PROGRAMADO )>=91 AND DATEDIFF( CURDATE(), PROGRAMADO )<=120,IMPORTE,0) AS VENCIDOS91120,
IF( DATEDIFF( CURDATE(), PROGRAMADO )>=121 ,IMPORTE,0) AS VENCIDOSMAS120
FROM COBRANZA
ORDER BY NOMBRE

Donde PROGRAMADO es el campo que contiene la fecha en que debia cobrarse esa cuenta y FECHA es la fecha en que se facturo, los demas campos se explican solo.

Ojalá y a alguien le sirva aunque no creo que haya descubierto el hilo negro...
Saludos a todos

Héctor Randolph 27-01-2006 08:19:26

Hola AzidRain!

Antes que nada gracias por publicar tú código, seguramente será útil para muchas personas.

Te comento que hace tiempo elaboré un sistema de cuentas por cobrar y entre los requerimientos del sistema estaba reflejar la antigüedad de saldos en un reporte similar al tuyo. Yo lo hice con FireBird y recuerdo que me compliqué un poco la existencia con este reporte.

Seguramente los visitantes del club que se encuentren en la misma situación te agradecerán por brindarles una guía de cómo atacar el problema.

Saludos.

AzidRain 27-01-2006 15:16:50

Pues sí, por ahi en algun post vi que alguien tenía este problema pero en ese entonces todavía no llegaba a esa parte de mi sistema..Cuando finalmente me tocó hacer este reporte me tarde un poco en encontrar una solución y me acordé de ese post. Gracias a Club Delphi he podido resolver muchas dudas a veces muy simples otras muy complejas que de otra forma me hubiese tardado mucho, por eso pienso que todo lo que pueda aportar, sea poco o mucho es una especie de "pago" que quiero hacerle al Club.

:D :D


La franja horaria es GMT +2. Ahora son las 03:17:26.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi