PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Question simple
Question simple
Iniciado por Themiller, 22,nov. 2018 11:04 - 4 respuestas
Miembro registrado
3 mensajes
Publicado el 22,noviembre 2018 - 11:04
Bonjour,

Je bloque vraiment sur une question simple, j'espère que vous pourrez m'éclaircir...

Je récupère via HTTPDonneRésultat(httpRésultat) un xml :

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<product>
<id><![CDATA[970]]></id>
[...]
<associations>
<stock_availables nodeType="stock_available" api="stock_availables">
<stock_available xlink:href="https://volt-services.fr/beta/api/stock_availables/1490">
<id><![CDATA[1490]]></id>
<id_product_attribute><![CDATA[0]]></id_product_attribute>
</stock_available>
</stock_availables>
</associations>
</product>
<product>
<id><![CDATA[971]]></id>
[...]
<associations>
<stock_availables nodeType="stock_available" api="stock_availables">
<stock_available xlink:href="https://volt-services.fr/beta/api/stock_availables/1491">
<id><![CDATA[1491]]></id>
<id_product_attribute><![CDATA[0]]></id_product_attribute>
</stock_available>
</stock_availables>
</associations>
</product>
</prestashop>


Et je souhaite juste pour chaque <produit> récupérer l'id dans stock_available.

Quand je fais :

sRepXML = XMLOuvre(HTTPDonneRésultat(httpRésultat),depuisChaîne)
Info(sRepXML.prestashop.product.associations.stock_availables.stock_available.id)


ça m'affiche bien l'id du premier produit mais quand j'utilise POUR TOUT

POUR TOUT ids de sRepXML.prestashop.product

Info(ids.associations.stock_availables.stock_available.id)

FIN


J'ai des résultats vides en boucle...

Merci par avance pour votre aide ! :)
Miembro registrado
139 mensajes
Publicado el 22,noviembre 2018 - 11:28
Bonjour,

Apparamment ça marche avec cette syntaxe :

POUR i = 1 _À_ sRepXML.prestashop.product..Occurrence
Info(sRepXML.prestashop.product[i].associations.stock_availables.stock_available.id)
FIN
Miembro registrado
3 mensajes
Publicado el 22,noviembre 2018 - 11:35
Christophe PRADEL a écrit :
Bonjour,

Apparamment ça marche avec cette syntaxe :

POUR i = 1 _À_ sRepXML.prestashop.product..Occurrence
Info(sRepXML.prestashop.product[i].associations.stock_availables.stock_available.id)
FIN


YES ! Ça marche parfaitement merci beaucoup ! :) Et dire que ça faisait 2 jours que j'étais dessus...
Miembro registrado
3 mensajes
Publicado el 27,noviembre 2018 - 17:38
Encore une question TRÈS simple mais j'ai vraiment un problème avec la logique des tableaux Windev...

POUR TOUT REQ
TableauAjouteLigne(tabRefs, REQ.CD_PRODUIT, REQ.STK_COURANT)
FIN


On est d'accord que ça associe CD_PRODUIT et STK_COURANT à une ligne dans deux colonnes séparées ?

Quand je fais tabRefs[1] j'ai le résultat de la première ligne première colonne mais comment je fais pour afficher le contenu de la deuxième colonne ?

Je pensais que c'était tabRefs[1][2] mais non..

Encore merci pour votre aide !
Miembro registrado
139 mensajes
Publicado el 28,noviembre 2018 - 10:03
Salut,

Même si ton post est plutôt flou (on ne connait pas la définition de tabRefs), voici un mode d'utilisation des tableaux dynamiques en lignes et fixes en colonnes qui devrait te permettre d'arriver à tes fins :

tabRefs est un tableau dynamiquedynamique de 0 par 2 chaînes

tabRefs.AjouteLigne("aaa", "bbb")
tabRefs.AjouteLigne("ccc", "ddd")

Info(tabRefs[1][1] + " " + tabRefs[1][2] + " " + tabRefs[2][1] + " " + tabRefs[2][2])


Dans ce cas la syntaxe tabRefs[n][m] fonctionne, si bien sûr on reste dans les limites des dimensions fixes ou dynamiques

Si tu veux connaitre le nombre d'éléments :

Info(TableauOccurrence(tabRefs)) // Donne le nombre de lignes dynamiques (ici = 2)
Info(tabRefs..Occurrence) // Donne le nombre total d'éléments (ici = 4)


Christophe