Calcular cuota

Hola experto necesito de su ayuda, le planteo la idea tengo un socio que ingreso el 01/01/2009 y aporta 30 dolares mensualmete y en marzo necesita un préstamo, lo que requiero es programar para que verifique en el sistema si el socio esta al día en sus aportaciones si esta al día sera Activo de lo contrario deudor, gracias de antemano

1 respuesta

Respuesta
1
Bien... comprendo... seguramente vos tendrás un alta de pagos... cdo haces el alta de pagos tendría que guardar el pago con la fecha del mes que cancela (por lo tanto tendrías una tabla con los campos: nro_cliente, fecha, importe).
Entonces, por ej, cdo el cliente va y te pide el prestamos tendrías un procedimiento que verifica que este con los pagos al día, y eso lo harías recorriendo la tabla de pagos, por ej:
SELECT clientes
fecha=clientes.fecha_alta //tomamos la fecha en que fue dado de alta el cliente porque desde esa fecha tendria que haber empezado a pagar la cuota
mes = MONTH (clientes.fecha_alta) //guardamos en una variable el mes de alta
SELECT pagos //aca seleccionas la tabla pagos
SET FILTER TO
SET FILTER TO (pagos.nro_cliente = clientes)
//filtramos por el cliente que queremos verificar
SET ORDER TO fecha //lo ordenas por fecha, para eso necesitas un indice
DO WHILE ((MONTH (pagos.fecha)) = (mes + 1)) and (eof ()) // la primera vez que pase pro aca la pregunta seria si el 1er pago que se registra es igual al mes siguiente que fue dado de alta, si es asi entonces a partir de ahí hasta la fecha actual se deben registrar todos los pagos, si un mes no pago va a salir del WHILE.
               go bottom //avanzamos al registro siguiente en la tabla de pagos
               IF mes = 12
                       mes = 1
               ELSE
                       Mes = mes + 1
//avanzamos esta variable que va a ser el siguiente mes a encontrar en la tabla de pagos
              END IF
ENDDO
IF (MONTH (pagos.fecha)) <> (mes + 1) //Si salió del WHILE porque falto un pago
             ENTONCES EL CLIENTE SERIA DEUDOR
ELSE  //SI SALIO PORUQE LLEGO AL FINAL DE LA TABLA DE PAGOS Y NO SE REGISTRO NINGUN FALTANTE VERIFICAMOS QUE EL MES DEL ULTIMO PAGO SEA DEL MES ANTERIOR AL MES ACTUAL
             IF ((MONTH (pagos.fecha)) + 1) = MONTH (date) Si se cumple esto significa que el ultimo pago fue el mes pasado
                         PAGOS OK
             ELSE
Debe los últimos pagos
ENDIF
ENDIF

Bueno... trate de hacerlo lo mejor posible, obviamente tendrías que probarlo y limar las imperfecciones, fíjate si entendés el código, trate de explciartelo lo mejor posible... ¿cualquier cosa me preguntas dale?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas