Bonjour,
J ai des données stockées au format xml de type :
CLIENT
PRODUIT
QUANTITE
PRIX
QUANTITE_BASE
QUANTITE_BASE est identique pour toutes les données du couple CLIENT PRODUIT.
Je dois dans un tableau créer une nouvelle donnée QUANTITE_DE_BASE et modifier QUANTITE en fonction de QUANTITE_BASE.
En gros j ai ces données :
-----CLIENT : C1
PRODUIT : P1
QUANTITE : 500
PRIX : 5
QUANTITE_BASE : 600
CLIENT : C1
PRODUIT : P1
QUANTITE : 300
PRIX : 6
QUANTITE_BASE : 600 (idem que celui du dessus car mm couple client produit)
CLIENT : C2
PRODUIT : P1
QUANTITE : 800
PRIX : 3
QUANTITE_BASE : 500
Je dois obtenir un tableau avec
--> pour ce couple on a bien une quantité totale de 500+300 mais répartie en 500 + 100 + 200CLIENT : C1
PRODUIT : P1
QUANTITE : 0
PRIX : 5
QUANTITE_DE_BASE : 500 (=QUANTITE car QUANTITE<QUANTITE_BASE, je dois garder en mémoire les 100 de la QUANTITE_BASE restant pour le prochain couple client/produit)
CLIENT : C1
PRODUIT : P1
QUANTITE : 0 (car il y a des QUANTITE_BASErestant)
PRIX : 6
QUANTITE_DE_BASE : 100 (QUANTITE_BASErestant<QUANTITE dc on affiche 100 et on garde en mémoire les 200 que l on a pas encore affiché 300-100=QUANTITE-QUANTITE_BASErestant)
CLIENT : C1
PRODUIT : P1
QUANTITE : 200 (la QUANTITE RESTANTE)
PRIX : 6
QUANTITE_DE_BASE : 0 (car il n y a plus de QUANTITE_BASErestant)
Pour le couple suivant C2/P1:
L'algo pour moi ne pose pas vraiment de pb ... Le seul hic c est les variables en xslt !!CLIENT : C2
PRODUIT : P1
QUANTITE : 0
PRIX : 3
QUANTITE_DE_BASE : 500
CLIENT : C2
PRODUIT : P1
QUANTITE : 300
PRIX : 3
QUANTITE_DE_BASE : 0
Il faudrait que j arrive à initialiser une variable avant mon for-each et que j arrive à la modifier dans ma boucle ... Sauf que j ai la valeur de ma quantite_base dans la boucle ...
En plus, je crois qu il y a des souci avec les variables, des questions de noeuds en xslt.
Je comprends pas trop comment m en sortir malgré les tuto et posts lus jusqu à maintenant !!!
Voici ma boucle sans cette variable pour le moment :
<x:for-each select="//NIVEAU1">
<tr >
<x:attribute name="class">r<x:value-of select="position() mod 2"/></x:attribute>
<td ><x:value-of select="@CLIENT"/></td>
<td ><x:value-of select="@PRODUIT"/></td>
<td ><x:value-of select="@QUANTITE "/></td>
<td ><x:value-of select="@PRIX"/></td>
<td ><x:value-of select="@QUANTITE_DE_BASE"/></td>
</tr>
</x:for-each>
En fait je vois comment déclarer une variable et l initialiser
mais comment lui affecter une valeur par la suite ?<x:variable nom="base">0</x:variable>
Merci d avance
Partager