Le 23/02/2012 19:38, jpepin a écrit :
OK. Je crois comprendre le but premier de la modification : modifier le modèle afin de ne plus avoir de contraintes qui pourrait être lié à la compta française.
Tu as un compte 401COUTE par exemple et un compte 4. En absence
d'autres comptes, le compte 401COUTE se trouvera "visuellement" sous le compte 4. Si maintenant je rajoute le compte 40, il ira se situer entre les comptes 4 et 401COUTE. Comme ça la règle de numérotation est respectée.
Dans la norme le 401coute n'as pas d'existence si le 401 n'existe pas, corollairement le 40 et le 4.
Donc EBP ne respecte pas la norme ? Parce que justement notre questionnement provenait du fait que certains comptes intermédiaires n'existaient pas dans EBP.
Juste pour le fun :) , dans l'import je verrais plutôt un algo du genre :
pourchaque (c : compteAImporter){
si (existeDeja(c)){ mettreAjourNomDuCompte(c); } sinon{ ajoutRecurr(c); } }
fonction ajoutRecurr(c){
si (existeParent(c)){ inserer(c) } //creation de parent d'un compte auxiliaire sinon si (c.ContientChar()){ inserer(c) ajoutRecurr(c.sanslesChar()) } // si compte minimal, 1, 2, 3, 4… on fait rien sinon si (c.nbChar() ==1) { //creation compte parent inserer(c) ajoutRecurr(c.sousChaine(c.longueur-1)) } }
Sauf que parfois tu as des comptes genre : 401300000 Dans ce cas tu crées aussi les comptes : 40130000, 4013000, 401300, 40130, 4013, 401, 40, 4 si ils n'existent pas ? Y-a-t-il un une longueur de chaîne à partir de laquelle on ne crée plus de sous-compte (genre tu crées 4, 40 et 401 et après tu ne crées plus de sous compte) ? Jean