Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
me revoilà avec mon programme de compta (et oui, tjs le même !!)
J'en suis maintenant à la validation des journaux...(en gros, on vérifie que les écritures comptables sur le journal sont bonnes et on valide le tout)
Actuellement, je réalise le traitement pour un journal sur un mois donné...
Le seul soucis est qu'il faudrait que je le réalise sur une période donnée MAIS en validant mois par mois
Exemple : Validation du journal 'AC' du 01/01/2008 au 31/03/2008
Le traitement sera alors en fait :
Validation du 01/01/2008 au 31/01/2008
Validation du 01/02/2008 au 29/02/2008
Validation du 01/03/2008 au 31/03/2008
Je demande à l'utilisateur de me saisir la date de début et la date de fin de période...
Comment puis-je m'y prendre sachant que les écritures à verifier sortent toute d'un coup (on retrieve sur la période et apres seulement je peux y 'toucher')??
P.S : désolé, ya personne dans la boite, ca ne motive pas...et j'ai vraiment du mal à m'y concentré...(pas de prise de tete le lundi matin lol)
Merci
Dernière modification par Sebou (21-04-2009 09:13:18)
Hors ligne
Oula, mais c'est de la sous-traitance que tu demande la...
Ben franchement, ca manque de detail la...
Qu'est-ce que tu attend de nous? Quel est exactement ton probleme?
Parce que la, j'ai envie de dire que tu as tout en main: les donnees brutes sur ta periode X et la routine pour evaluer des periodes de 1mois... tu pourrais filtrer tes donnees par periodes d'un mois, envoyer la validation, enlever le filtre, et re-filtrer sur le mois suivant, etc...
A moins bien sur que tu ai des contraintes qui m'echappents la tout de suite...
PS: J'ai ptêt pas compris, mais c'est lundi matin, alors c'est pas grave!
Hors ligne
Béh je vais expliquer mon traitement. Ca sera ptet plus simple...
Actuellement, je retrieve ma DW sur un journal, une date de début et une date de fin.
Exemple : Validation du journal AC du 01/01/2008 au 31/01/2008
J'ai donc pensé à filtrer, défiltrer, refiltrer...pour chaque mois mais je ne vois pas trop comment séparer mes mois dans la période saisie...C'est là que réside mon probleme
En gros, découper ma période de 6 mois par exemple, en 6 périodes de 1 mois
Hors ligne
Tout en sachant que ma période de 1 mois peut etre du 1er au 31...ou alors du 16 au 15...
Hors ligne
Tu peux utiliser la fonction "month" dans une compute, et filtrer dessus après par exemple
Hors ligne
mouais...je ne sais pas pkoi mais cette solution ne m'enchante pas des masses
Hors ligne
Moi, si j'etais toi Sebou, je ferais une routine du style (si j'ai bien compris cette fois):
// En imaginant en parametre d'entree, soient les arguments ad_start, ad_end, respectivement // debut et fin de ta periode. date ld_from, ld_to long ll_year, ll_month, ll_nbdays ld_from = ad_start do // first, on va calculer la date de fin de periode d'1mois ll_month = month(ld_from) ll_year = year(ld_from) ll_nbdays = day(ld_from) // ...'ttention a decembre... if ll_month = 12 then ll_month = 1 ll_year ++ else ll_month ++ end if // Ici, on s'arrange pour utiliser relativedate, ce qui permet de s'affranchir de tout les cas zarbi // genre annees bisextiles, mois a 31 jours... ld_to = date(ll_year, ll_month, 1) ld_to = relativedate(ld_to, ll_nbdays - 2) // on doit se retrouver avec une date 1mois - 1jour apres ld_from if ld_to > ad_end then ld_to = ad_end dw_masuperdw.setfilter('macolonneDate between ' + string(ld_from, 'yyyy-mm-dd') + ' and ' + string(ld_to, 'yyyy-mm-dd')) // un format pour la conversion est jamais une mauvaise chose... ;) dw_masuperdw.filter() // Et la, on lance la routine de calcul pour un mois... // Et on refait un tour de manege... ld_from = relativedate(ld_to, 1) loop while ld_from < ad_end
Bon, quelque chose comme ca, j'ai pas teste dans PB, ca doit meme surement pas compiler, mais tu vois le style quoi... Moi, c'est ce que je ferais en tout cas...
Ca va, j'ai teste, pas trop d'erreur
Dernière modification par Cortex (04-08-2008 11:50:01)
Hors ligne
ah béh oui, c'est pas con du tout ca !! lol
Merci beaucoup j'vais essayer d'insérer ce script et de l'adapter à mes besoins ...je vous tiens au courant pour le RESOLU ^^
Hors ligne
Sebou a écrit:
ah béh oui, c'est pas con du tout ca !! lol
Merci beaucoup j'vais essayer d'insérer ce script et de l'adapter à mes besoins ...je vous tiens au courant pour le RESOLU ^^
Et on oublie pas le copyright s.v.p....
Hors ligne