Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Python (https://www.clubdelphi.com/foros/forumdisplay.php?f=46)
-   -   Django Crear lista de fechas vencimiento de pagos (https://www.clubdelphi.com/foros/showthread.php?t=96025)

martincho 29-12-2022 15:02:17

Django Crear lista de fechas vencimiento de pagos
 
Hola a todos.
Soy nuevo en la programación y luego de aprender lo básico en Python estoy estudiando django.
Si es posible desearía me puedan ayudar con algo que me tiene estresado (obviamente falta de experiencia).
Estoy creando una aplicación en Django en donde tiene un formulario para ingresar* nombre de cliente, fecha de inicio, periodo de años y forma de pago.

Necesito que al colocar la fecha de inicio, el periodo y la forma de pago (Ejemplo pago cada 45 días), el sistema calcule durante esos 3 años cuales son las fecha que debería realizarle el pago a ese cliente.
Ej: ingreso el 31/12/22 y quiero invertir durante 3 años, pero quiero que me paguen x comisión cada 45 días (tomando encuenta la fecha que yo realice la inversión y de ahí sume 45 días a cada fecha durante los 3 años de inversión que seleccione) y luego yo pueda visualizar las fechas de pago para ese cliente.

duilioisola 29-12-2022 15:30:14

No se en python pero la función de cálculo es sencilla utilizando un bucle tipo while...
Pongo el código con un pseudocódigo pascalisado.

Código Delphi [-]
procedur DameVencimientos(FechaInicio: TDateTime; Anyos: integer; DiasEntrePagos: integer);
var
  Fecha : TDateTime;
begin
   // Calculo fecha final como Fecha Inicio + Anyos
   // (RecodeYear modifica la parte año de una fecha)
   FechaFinal := RecodeYear(FechaInicio, YearOf(FechaInicio) + Anyos);

   // Primer pago es FechaInicio + DiasEntrePagos
   Fecha := FechaInicio + DiasEntrePAgos;

   // Mientras no me pase de fecha final voy devolviendo las fechas de vencimiento
   while Fecha <= FechaFinal do
   begin
      Write('Vencimiento: ' + FormatDate(Fecha));

      // Incremento la fecha
      Fecha := Fecha + DiasEntrePagos;
   end;
end;

martincho 29-12-2022 15:56:45

duilioisola
 
duilioisola Agradezco mucho el tiempo que te tomaste para responderme, verdaderamente como nuevo en la programación me ayudaste mucho, gracias nuevamente.


La franja horaria es GMT +2. Ahora son las 15:39:57.

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