PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → [WD14] Algorithme pour la calcul de la date d'échéance
[WD14] Algorithme pour la calcul de la date d'échéance
Iniciado por onitec, 29,oct. 2009 14:51 - 5 respuestas
Publicado el 29,octubre 2009 - 14:51
Bonjour

Mon besoin se présente comme suite.

Je donne la possibilité aux utilisateurs de paramétrer leur modalité de règlement. je désire pour chaque modalité de règlement pouvoir calculer la date d'échéance correspondante. La structure de la table de modalité est comme suite

Nom de la table : MODAREGL
IdModaRegle (Id Auto)
LibModaRegl (Texte)
ModeReglement (Entre 1 et 8)
NbrJour nombre de jour qui sépare la facturation de la date du règlement
NbrMois nombre de mois qui sépare la facturation de la date du règlement
NumJour (Entre 1 et 7 pour désigner les journées de la semaine) le numéro du jour du règlement


Simulation :
Traite sur 90 jours
Date de facturation = 01/01/2009
NbrMois = 3
Date d'échéance = 01/04/2009


Traite sur 45 jours
Date de facturation = 01/01/2009
NbrMois = 1
NbrJour = 15
Date d'échéance = 16/02/2009

Ma procédure est comme suite:

PROCEDURE SimulationDate(LOCAL DateDepart est une Date, CodeModaliteRegl est un entier)

dDateReglement est une date = DateDepart

hlitrecherche(MODAREGL, IDMODAREGL, CodeModaliteRegl, hIdentique)
si htrouve() alors
dDateReglement..Jour += MODAREGL.NbrJour
dDateReglement..Mois += MODAREGL.NbrMois

si MODAREGL.NumJour <> -1 alors //Un jour précis de la semaine
SI DateVersJour(dDateReglement) <> (MODAREGL.NumJour-1) ALORS
SI DateVersJour(dDateReglement) > (MODAREGL.NumJour-1) ALORS
dDateReglement..Jour = (7-DateVersJour(dDateReglement))+(MODAREGL.NumJour-1)
SINON
dDateReglement..Jour += (MODAREGL.NumJour-1)-DateVersJour(dDateReglement)
FIN
FIN
FIN
FIN

RENVOYER dDateReglement
Publicado el 30,octubre 2009 - 14:44
slt mon frere est ce que t'as essayer avec le fonction
n=datedifference(detadebut,datefin) ceci te renvoi le nbre de jour

bon dev
Publicado el 01,noviembre 2009 - 11:43
Bonjour,

J'ai eu à gérer le probléme d'échéance de payement dans une de mes applications.
J'avais créé un rubrique mode de payement dans mon fichier client.
Cette rubrique était de la forme T09015, V06010, C03000 où T=Traite, V=Virement et C= Chéque. NNN est le nombre de jours de paiement aprés édition de la facture et JJ le jour du paiement. Ainsi T09015 = paiement par traite à 90 jours le 15 du mois. Donc pour une facturation en Octobre 2009, le virement se ferra le 15 Février 2010. Ensuite pour le calcul de l'écheance il n'y a plus qu'à utiliser les fonctions de date..mois, date..jour.
Bon dev
Bernard GINET
Publicado el 02,noviembre 2009 - 01:12
Bonjour

Slt frère yanick kamdem.
Pour utiliser la datedifférence j'ai besoin de deux dates, date de début (en principe la date de facturation) et la date de fin (en principe la date d'échéance). Pour mon cas je cherche a calculer la date d'échéance donc la date de fin. Mon objectif n'est pas le calcul du nombre de jours car cette donnée m'est fournie par l'utilisateur (pas besoin de calcul).

Mais merci pour ton effort et ton intérêt.

Bien cordialement
Publicado el 02,noviembre 2009 - 10:33
Salut
Utilise :
DateEcheance = EntierVersDate(DateVersEntier(DateFacturation) + NombreDeJours)

Cordialement
Publicado el 01,diciembre 2019 - 14:56
Merci pour cette info