<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.fr.windev</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>24 Apr 2020 16:00:33 Z</lastBuildDate><pubDate>24 Apr 2020 10:52:26 Z</pubDate><description>Bonjour,&#13;
&#13;
Je repose mon message /question car je n'ai plus accès au premier.&#13;
&#13;
Je voulais savoir si il y avait une autre méthode que de faire un pour tout pour remplir une table depuis une chaine JSON reçu par un WEBService&#13;
&#13;
En gros un équivalent de ConstruitTableFichier qui est plus rapide qu'un pour tout.&#13;
&#13;
pour le moment je me suis créer les deux fonction suivantes mais j'aimerai les améliorer pour gagner en vitesse.&#13;
MaVariable JSON contient deux tableaux &#13;
un pour les données et un pour le format&#13;
[code:wl]&#13;
PROCÉDURE TableauVersTable(p_Table est un Champ,p_Tableau)&#13;
sMaLigne est une chaîne&#13;
vMonVar est un Variant &#13;
TableSupprimeTout(p_Table)&#13;
SI p_Tableau..Occurrence &gt; 0 ALORS&#13;
	Sablier(Vrai)&#13;
	p_Table..AffichageActif = Faux&#13;
	POUR n = 1 _À_ p_Tableau..Occurrence&#13;
		vMonVar = p_Tableau[n]&#13;
		POUR TOUT Colonne DE vMonVar..Membre&#13;
			sMaLigne += Colonne +TAB&#13;
		FIN&#13;
		TableAjoute(p_Table,sMaLigne)//le dernier TAB est ignoré car il n'y a pas de colonne&#13;
		sMaLigne = ""&#13;
	FIN&#13;
	p_Table..AffichageActif = Vrai&#13;
	Sablier(Faux)&#13;
FIN&#13;
&#13;
PROCÉDURE ConstruitTableTableau(p_Table est un Champ,p_Tableau,p_Tableau_Format_HFSQL)&#13;
vMonVar 	est un Variant &#13;
col 		est un Champ&#13;
sNomColonne est une chaîne&#13;
nTypeHFSQL est un entier&#13;
SI p_Tableau..Occurrence &gt; 0 ALORS&#13;
	TableSupprimeTout(p_Table)&#13;
	&#13;
	//on surprime les colonnes de la table&#13;
	POUR nColonne = TableOccurrence(p_Table..NomComplet, toColonne) _À_ 1 PAS -1&#13;
		col &lt;- TableEnumèreColonne(p_Table..NomComplet, nColonne)&#13;
		ChampSupprime(col..NomComplet)&#13;
	FIN&#13;
	&#13;
	&#13;
	vMonVar = p_Tableau[1]&#13;
	POUR TOUT Colonne DE vMonVar..Membre&#13;
		sNomColonne = Remplace(Colonne..Nom," ","_")&#13;
		col &lt;- ChampCrée(p_Table..NomComplet+".COL_"+Remplace(Colonne..Nom," ","_"),typColonne)&#13;
		//on indique le bon format de la colonne&#13;
		nTypeHFSQL = p_Tableau_Format_HFSQL[sNomColonne]&#13;
		iFormateColonne(nTypeHFSQL) &#13;
		col..Titre = Colonne..Nom&#13;
	FIN&#13;
FIN&#13;
&#13;
&#13;
	PROCÉDURE INTERNE iFormateColonne(nP_TypeHFSQL est un entier)&#13;
		SELON nP_TypeHFSQL&#13;
			CAS 2,15,16,23,30,32,33&#13;
				col..TypeSaisie = typSaisieTexte&#13;
			CAS 10,14 //Date&#13;
				col..TypeSaisie = typSaisieDate &#13;
				col..MasqueAffichage = "JJ/MM/AAAA"&#13;
			CAS 11&#13;
				col..TypeSaisie = typSaisieHeure &#13;
				col..MasqueAffichage = "HHh MMmin SS CC"&#13;
			CAS 24,25&#13;
				col..TypeSaisie = typSaisieTexte &#13;
				col..MasqueAffichage = "JJ/MM/AAAA HHh MMmin SS CC"&#13;
			CAS 12,1,3,4,5,12,19,20 //entier&#13;
				col..TypeSaisie = typSaisieNum&#13;
				col..MasqueAffichage = "999 999 999;-999 999 999[Rouge];0;&lt;NULL&gt;"&#13;
			CAS 6,7,13,31&#13;
				col..TypeSaisie = typSaisieNum&#13;
				col..MasqueAffichage = "999 999 999,99;-999 999 999,99[Rouge];0;&lt;NULL&gt;"&#13;
			CAS 17&#13;
				col..TypeSaisie = typSaisieMonétaire&#13;
				col..MasqueAffichage = maskMonétaireSystème&#13;
			CAS 27&#13;
				col..TypeSaisie = typSaisieNum //merdouille j'ai pas la coche&#13;
			CAS 18,21 //mémo binaire, mémo Image,mémo Son, mémo OLE ou mémo binaire autre&#13;
			AUTRE CAS&#13;
				col..TypeSaisie = typSaisieTexte&#13;
		FIN&#13;
	FIN&#13;
[/code]&#13;
&#13;
Le code d'appel&#13;
[code:wl]&#13;
sP_ParamJson est une chaîne = VariantVersJSON(v)&#13;
sMonResultat est une chaîne = CLIENT_LISTER(sP_ParamJson)&#13;
vVResulta est un Variant = JSONVersVariant(sMonResultat)&#13;
&#13;
&#13;
SI vVResulta.erreur.Code = 0 ALORS&#13;
	//on contruit la table en fonction du tableau contenant les résultat&#13;
	ConstruitTableTableau(TABLE_SansNom1,vVResulta.Resultats,vVResulta.Format)&#13;
	//on charge le tableau avec les résultat &#13;
	TableauVersTable(TABLE_SansNom1,vVResulta.Resultats)&#13;
	&#13;
	TableAjuste(TABLE_SansNom1)&#13;
SINON&#13;
	//erreur&#13;
	Erreur(vVResulta.erreur.Libelle)&#13;
FIN&#13;
[/code]</description><ttl>30</ttl><generator>WEBDEV</generator><language>fr_FR</language><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/239018-25-webservice-remplir-table-via-json/read.awp</link><title>[WD 25] WebService - Remplir Table via JSON</title><managingEditor>moderateur@pcsoft.fr (El moderador)</managingEditor><webMaster>webmaster@pcsoft.fr (El webmaster)</webMaster><item><author>Gurdarr</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/239018-25-webservice-remplir-table-via-json-239028/read.awp</comments><pubDate>24 Apr 2020 16:00:33 Z</pubDate><description>Ma curiosité est plus que piqué, merci  freak per&#13;
&#13;
Mais &#13;
je suis allé sur https://www.newtonsoft.com/json&#13;
puis ensuite j'ai …</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/239018-25-webservice-remplir-table-via-json-239028/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/239018-25-webservice-remplir-table-via-json-239028/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/239018-25-webservice-remplir-table-via-json/read.awp">[WD 25] WebService - Remplir Table via JSON</source><title>Re: [WD 25] WebService - Remplir Table via JSON</title></item><item><author>Kevin</author><category>pcsoft.fr.windev</category><comments>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/239018-25-webservice-remplir-table-via-json-239019/read.awp</comments><pubDate>24 Apr 2020 12:01:25 Z</pubDate><description>L’assemblage .net "Newtonsoft.Json" va te faciliter énormément la vie</description><guid isPermaLink="true">https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/239018-25-webservice-remplir-table-via-json-239019/read.awp</guid><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/239018-25-webservice-remplir-table-via-json-239019/read.awp</link><source url="https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/239018-25-webservice-remplir-table-via-json/read.awp">[WD 25] WebService - Remplir Table via JSON</source><title>Re: [WD 25] WebService - Remplir Table via JSON</title></item></channel></rss>
