Generar cuotas vb 2008 y access

Trades por favor ayudame tengo un programa en donde tengo q generar cuotas dentro de un datagridview te explico
por ejemplo
tres formas de pago
contado
prepago(2 cuotas)
Credito (pueden ser 5 a mas depende)
Por ejemplo hoy es 31.12.11
producto x = 50
producto y=50
genero una vta credito con 2 productos
serian en dos producto 100.00
Inicial 15.00 se paga en ese instante y quedaria pendiente 85.00
y pondria el importe a pagar semanalmente bueno me supongo yo pero hasta ahora no logro hacer en este caso 20 (puede ser tambien 15.00,10.00)
1 cuota 20.00 07.01.12
2 cuota 20.00 14.01.12
3 cuota 20.00 21.01.12
4 cuota 20.00 28.01.12
5 cuota 5.00 04.02.12 total 85.00 ok
y pondria el importe a pagar semanalmente en este caso 15 (puede ser tambien 15.00,10.00)
1 cuota 15.00 07.01.12
2 cuota 15.00 14.01.12
3 cuota 15.00 21.01.12
4 cuota 15.00 28.01.12
5 cuota 15.00 04.02.12
5 cuota 10.00 11.02.12 total 85.00 ok
Y esas cuotas lo paso al datagridview
Bueno aqui lo pasaba constantemente en prepago 2 cuotas y en credito 5 cuotaslo dividia alli y era mas facil
pero debe ser mas flexible ya q no siempre pagan como uno quiero si no como las clientes pueden pagar y es mas el cliente q paga la cuota puede pagar menos del total del montocuota es bien flexible pero eso es otro tema lo q necesito es q me ayudes a pasar loas cuotas generadas al datagridview

1 respuesta

Respuesta
1
Lo siento pero no entiendo bien tu pregunta.
¿Exactamente cuál es tu problema?
¿Necesitas un algoritomo para dividir mejor las cuotas?
¿No sabes cómo cargar los datos al Grid?
gracias por responder
mi problema esta en hacer el algoritmo y pasarlo al datagridview y si estas ocupado aunque sea hacer el algoritmo q es lo mas importante lo del datagridview me la puedo arreglar muchas gracias espero tu pronta respuestay feliz año nuevo exitos
atte
marco guti
Creo que lo ideal en este caso es que dividas por una cantidad de meses fija (por ejemplo 5) y obtengas la cuota media.
Una vez la tengas haz un método para marcar como pagada una cuota que se lanzará cada vez que el cliente venga a pagar.
Pongamos un ejemplo en C# tomando como ejemplo un caso de 5 cuotas de 20 lo que hace un total de 100.
Tenemos una clase "Credito" que tiene:
double Total;
double ImporteTotalPagado;
List<Cuota> Cuotas;
La clase "Cuota" tendría:
int NumeroCuota;
double ImporteAPagar;
double ImportePagado;
bool Pagado;
Inicialmente el objeto crédito lo inicializaríamos así:
Credito credito = new Credito();
credito.Total = 100;
credito.ImporteTotalPagado = 0;
credito.Cuotas = new List<Cuota>();
credito.Cuotas.Add(new Cuota(1,20,0,false);
credito.Cuotas.Add(new Cuota(2,20,0,false);
credito.Cuotas.Add(new Cuota(3,20,0,false);
credito.Cuotas.Add(new Cuota(4,20,0,false);
credito.Cuotas.Add(new Cuota(5,20,0,false);
Con esto ya tenemos las cuotas cargadas en su respectiva clase.
Ahora, cada vez que el cliente viene a pagar una cuota, deberíamos indicarle al programa de qué cuota se trata y cuato ha pagado haciendo que el resto de cuotas se recalculen en función de lo que quede pendiente por lo que el método quedaría de esta forma (suponemos que es un método dentro de la clase "Credito"):
public void PagarYRecalcularCuotas(int numCuota, double importePagado)
{
//Voy ha hacerlo sin validar nada y de forma rápida. Dejo en tus manos refinarlo. Solo quiero que entiendas la idea.
//Obtenemos la cuota y editamos sus datos
Cuota cuotaAPagar = this.Cuotas.Single(c=> c.NumeroCuota == numCuota);
cuotaAPagar.Pagado = true;
cuotaAPagar.ImportePagado = importePagado;
GuardarCuota(cuotaAPagar); //Este método debería actualizar el valor de la cuota dentro de la lista. No vamos a entrar en este detalle.
this.ImporteTotalPagado += importePagado;
if (importePagado < cuotaAPagar.ImporteAPagar)
{
//Este es el caso en el que tendremos que recalcular el resto de cuotas
//Obtenemos cuantas cuotas quedan sin pagar
int cuotasPendientes = this.Cuotas.Count(c=> c.Pagado = false);
//Calculamos cuanto hay que pagar ahora por cuota
//Por ejemplo, si se pagó entera la cuota 1 (20) y solo se pagaron 10 de la cuota 2 queda por pagar 70 en 3 cuotas
double importePendiente = this.Total - this.ImporteTotalPagado;
double nuevoImporteCuota = importePendiente / cuotasPendientes;
// nuevoImporteCuota valdría ahora 23.33€
//Ponemos todos los valores sin pagar al nuevo valor
foreach(Cuota cuota in this.Cuotas.Where(c=> c.Pagado == false).ToList())
{
cuota.ImporteAPagar = nuevoImporteCuota;
GuardarCuota(cuota);
}
}
}
Con esto ya tendrías un método completo para guardar pagos que recalculan las cuotas en función de lo que te pagan cada vez.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas