List

Description

Cette opération vous permet de récupérer une liste d'enregistrements paginées et/ou triées.
Il vous faudra annuler ou valider (même effet) cette liste pour que SIMAXService vide ce cache sinon la liste reste chargée.
L'appel à cette opération avant de faire une serie de consultation vous permet d'optimiser vos temps de réponses car tous les enregistrement auront déjà été chargés, les display ou GetColInRecord mettront ensuite moins de temps.

Requête

SIMAXService a besoin du type des élements à lister (Table) et vous avez la possibilité de lui fournir les tris et la pagination dans le paramètre SpecialParamList.
Le mode d'affichage (DisplayMode) permet d'utiliser cette operation pour récupérer les données dans différents formats.

Liste des entêtes

Entête
AutoValidate
CustomerInfos
SessionToken
UsernameToken
OptionDialogue
ActionContext
APIUser
APIUUID

Liste des paramètres

Paramètre
Table
ParamXML
SpecialParamList
CheckSum
DisplayMode
CallingColumn

Exemple

=> on veut récupérer les 20 premiers clients triés par nom

<List>
<Table>client</Table>
<SpecialParamList>
<First>0</First>
<Length>20</Length>
<Sort1 asc="1">Nom</Sort1>
</SpecialParamList>
<Checksum>8754856....</Checksum>
<CallingColumn/>
</List>


remarque : si vous souhaitez faire la même requête mais récupérer les représentations en graphe, il vous suffit de mettre le header <DisplayMode>Chart</DisplayMode>, la requête SOAP reste la même sinon.

Réponse

SIMAXService renvoie la description XML de l'ensemble des enregistrements demandés dans le body et le XSD dans le header.
Les actions de type Liste dans SIMAX peuvent aussi avoir des filtres. SIMAXService renvoie donc aussi la description des filtres ainsi que leur valeur dans la balise Filter.
Cette action a besoin d'être validée pour que le contexte d'action soit fermé et le cache de la liste supprimé de la mémoire.

Dans le cas où l'action liste est à confirmer, le header "Action" aura l'attribut userConfirmation = "1". La requête List devra être envoyée à SIMAXOnline uniquement quand l'utilisateur valide les filtres et non pas à chaque fois qu'un filtre change de valeur, comme c'est le cas par défaut.

Le résultat contient aussi le mode d'affichage par défaut (paramétré dans SIMAX) et la liste des modes d'affichage possibles. Si on souhaite respecter la logique SIMAX, c'est le mode d'affichage par défaut qui doit être visible en premier quand l'utilisateur demande la liste.

Attention !!!
Le mode d'affichage <DisplayMode> envoyé dans le header de la requête change le xml renvoyé par SIMAXService (cf documentation du paramètre DisplayMode)

Remarque : dans le cas d'une requête List avec des ruptures, les balises <StartBreakRow> et <EndBreakRow> seront insérées au milieu des enregistrements pour définir les blocs de rupture avec les infos associées.

Liste des entêtes

Entête
PossibleDisplayMode
ReturnType
Count
CustomerInfos
ValidateError
XSDSchema
DefaultDisplayMode
Element
Filter
Action
Form
ActionContext

Les valeurs de retour

Xml

Exemple

=> Le service n'a pu récupérer que 2 clients M.Dupont et M.Julien

<ListResponse>
<xml>
<client simax:id="4280682..." simax:title="M.Dupont">
<id._unique>4280682...</id._unique>
<nom>Dupont</nom>
<prenom>Pierre</prenom>
<numero_de_telephone/>
<secteur_d_activite/>
<commercial>5708591578...</commercial>
<type_de_client>45326123574406</type_de_client>
<type_de_tarif/>
<adresse_email/>
<assujetti_a_la_tva>1</assujetti_a_la_tva>
</client>
<client simax:id="43070123895..." simax:title="M.Julien">
<id._unique>43070123895...</id._unique>
<nom>Julien</nom>
<prenom>Bruno</prenom>
<numero_de_telephone/>
<secteur_d_activite/>
<commercial>5708591578...</commercial>
<type_de_client>39691126492016</type_de_client>
<type_de_tarif/>
<adresse_email>....@....com</adresse_email>
<assujetti_a_la_tva>0</assujetti_a_la_tva>
</client>
<commercial simax:id="5708591578..." simax:title="Le commercial"/>
<type_de_client simax:id="45326123574406" simax:title="Prospect passif"/>
<type_de_client simax:id="39691126492016" simax:title="Prospect actif"/>
</xml>
</ListResponse>


=> Le service a pu générer 6 graphes pour la liste

<ExecuteResponse xmlns="http://www.nout.fr/wsdl/SimaxService.wsdl/">
<xml>
<numberOfChart>6</numberOfChart>
</xml>
</ExecuteResponse>