SEEWARNING Avant de créer votre site , il préférable de lire la documentation :Avant de commencer.


Le lien dynamique est un token qui permet de traiter les clics souris de l'utilisateur sur les zones sensibles de la page HTML que sont les tags <a> ou les tags <input type='button'>.

<input type='button' adx="MyDynamicLink" value="Cliquer ici">
<a adx="MyDynamicLink">Cliquer ici</a>

Les trois paramètres principaux d'un lien dynamiques sont :

1. l'action Web,
2. la page Web de destination,
3. la sélection.

L'ordre de la liste est l'ordre suivant lequel ces paramètres sont traités par le serveur XTEND.

Prise en main

L'action Web

Il existe deux types d'action qui sont:

  • Les actions traitées par le back-office X3 via l'appel du web service :
    • Login, création commande, modification coordonnées...
  • Les actions traitées par le serveur XTEND :
    • Pagination, sélection d'une ligne, changement de site/langue....

Chaque action est déclarée dans le dictionnaire par une fiche de paramétrage.

La page Web de destination

Il s'agit de la page affichée en retour de la requête postée sur le serveur.

Chaque page est déclarée dans le dictionnaire par une fiche de paramétrage.

SEEINFO La page de destination peut être modifiée par l'action.

Pour modifier la page de destination par programme (L4G), utilisez l'enchainement (enchainement programmé) de liens dynamiques :

Valorisez un paramètre du sous-programme avec le code du lien dynamique (avec ou sans action/sélection) qui pointe vers la page de destination.

La sélection

Le lien dynamique peut poster une sélection à destination du bloc principal de la page cible pour en modifier les critères de sélection.

La sélection permet de gérer le lien liste détail, le tri des tableaux ou le raffinement des requêtes.

SEEREFERTTO Pour plus d'informations, voir la documentation sur les Tokens Blocs.

Paramètres HTML

Les paramètres suivants sont pris en compte par les liens dynamiques.

Code 

Paramètres

Description

xacceptreload

Aucun

Force l'action du lien dynamique à s'exécuter sur rechargement de la page HTML (F5) même si le rechargement est bloqué dans le paramétrage de l'action ('Actif sur reload')

xparams

QueryString

Ajoute des paramètres dans l'URL du lien dynamique
Les paramètres sont de type Clé=Valeur~Clé=Valeur

<a adx="MyDynLink:xacceptreload&xparams=?PARCOD1=VAL1~PARCOD2=VAL2#xtdbottom">

Cet exemple :

  • force l'exécution de l'action 'sur F5',
  • valorise 2 variables utilisateur PARCOD1 et PARCOD2,
  • se positionne sur le signet 'xtdbottom' de la page de destination.
Positionnement à l'intérieur de la page de destination

Exemple montrant comment effectuer un positionnement à l'intérieur de la page de destination (via le paramètre HTML xparams) lorsque l'utilisateur clique sur un lien dynamique :

<!--Lien dynamique dans la page origine-->
<input type="button" value="Cliquer ici" adx="MYDYNLINK:xparams=#signet">
<a adx="MYDYNLINK:xparams=#signet">Cliquer ici</a>
<!--Page de destination-->
<body>
    <!--Code HTML -->
    <a name="signet">
    <!--Positionnement de la page lorsque l'utilisateur clic sur le bouton ci-dessus-->
    <!--Code HTML -->
</body>

Valoriser des variables utilisateur via les paramètres de l'URL

Exemple valorisant les variables utilisateur PARCOD1 et PARCODE avec VAL1 et VAL2 (via le paramètre HTML xparams) lorsque l'utilisateur clique sur un lien dynamique :

<!--Lien dynamique dans la page origine-->
<input type="button" value="Cliquer ici" adx="MYDYNLINK:xparams=?PARCOD1=VAL1~PARCOD2=VAL2">
<a adx="MYDYNLINK:xparams=?PARCOD1=VAL1~PARCOD2=VAL2">Cliquer ici</a>

Cas d'usage : lien liste détail

Le lien liste détail consiste à définir un lien pour accéder au détail d'une entité affichée dans une liste.
Par exemple : accéder au détail de l'article à partir du catalogue.

La page détail contient généralement des informations complémentaires provenant d'autres tables que celle utilisée pour afficher la liste.
Par exemple : la fiche de description riche d'un produit ou les produits associés (cross-selling).

Inversement l'utilisateur devra pourvoir retourner vers la liste à partir de la page détail sans perdre le contexte de la liste (critères de sélection, pagination...).

1. Création de l'entité affichée dans la liste
  • Création d'interface,
  • Création des champs,
  • Création des entité.
2. Création d'un bloc 'multi-enregistrements' pour lire et afficher la liste
  • Sélection de l'entité définie précédemment.
3. Création d'un lien dynamique pour sélectionner le détail de l'entité
  • Sélection de la même entité que le bloc liste.

Le lien dynamique sélectionne une entité telle que le code est égal à celui de la ligne courante.
La ligne courante est identifiée par le bloc ACURRENT (sommet de la pile du contexte de données).
Le lien 'Remplace la sélection du bloc principal'.

4. Création de la page web qui affiche la liste
  • Déclaration du bloc liste comme bloc principal de la page web,
  • Création du HTML pour afficher la liste.

<table>
    <tr>
        <th><b>Code</b></th>
        <th><b>Libellé</b></th>
    </tr>
<!--Bloc liste-->
<!adx="BLKITMLST">
    <tr>
        <!--Lien vers détail-->
        <td><a adx="DLKDETAIL"><span adx="CODE"></span></td>
        <td adx="DESCR"></td>
    </tr>
<!adx="BLKITMLST">
</table>

5. Création d'un 'bloc mono-enregistrement' pour lire et afficher le détail
  • Sélectionne la même entité que le bloc liste.

Le bloc mono-enregistrement a une sélection de type 'Dernier lien cliqué' pour qu'il utilise les critères de sélection du lien dynamique cliqué par l'utilisateur (celui créé précédemment avec la sélection sur ACURRENT.CODE).

6. Création d'un 'lien dynamique' pour le retour vers la liste
  • La page de destination est la page liste,
  • L'action web a pour code ABLKRESTOREMAINCTX
    Restaure le contexte du bloc principal.
7. Création de la page web qui affiche le détail
  • Création du HTML pour afficher le détail.

<!--Bloc détail-->
<!adx="BLKDETAIL">
    <b>Code    </b><span adx="CODE"></span><br>
    <b>Libellé </b><span adx="DESCR"></span><br>
    <b>Prix    </b><span adx="PRIX"></span><br>
    <b>Stock   </b><span adx="STOCK"></span><br>
<!adx="BLKDETAIL">
<!--Retour vers la liste-->
<a adx="DLKRETOURLISTE">retour liste</a>

Pour afficher des données complémentaires issues d'une autre table ou vue (par exemple une description riche d'un article ou des produits associés) :

  • Créez les entités et les blocs qui lisent ces entités en passant dans les critères de sélection le code de l'entité détail BLKDETAIL.CODE.

Retour page précédente

Le lien dynamique ADLKRETURN permet d'effectuer un retour arrière sur les pages XTEND qui ont été consultées.

  • fonctionne mieux que la touche 'Back' ou 'Reculer d'une page' du navigateur
  • ne prend pas en compte les liens dynamiques qui restent sur la même page

Exemple :

Si on pagine sur un catalogue d'articles le lien ADLKRETURN affichera la page qui a précédé l'affichage du catalogue sans tenir compte des actions de pagination contrairement à la touche back du navigateur.

Le moteur XTEND gère une pile de pages consultées par session utilisateur dont la taille est paramétrable via le paramètre de configuration :
xtend.server.gensetup.misc.rtnstacksize (20 par défaut).

Liens Prédéfinis

 Code

Paramètres

Action

Description

ADLKFIRSTPAGE

 Non

ABLKFIRSTPAGE

Affiche la première page d'un bloc
Syntaxe MonBloc.MonLienDynamique

ADLKNEXTPAGE

Non

ABLKNEXTPAGE

Affiche la page suivante d'un bloc

ADLKLASTPAGE

Non

ABLKLASTPAGE

Affiche la dernière page d'un bloc

ADLKSELECT

Non

ABLKSELECT

Sélectionne la ligne d'un bloc
MonBloc.MonChamp renvoie la valeur de MonChamp pour la ligne sélectionnée

ADLKUNSELECT

Non

ABLKUNSELECT

Déselectionne la ligne sélectionnée d'un bloc

ADLKRESTOREFORM

Non

ARESTOREFORM

Restaure un formulaire HTML avec les valeurs initiales
Ne tient pas compte du paramètre HTML xrc

ADLKRESTORESESSION

Non

ARESTORESESSION

Affiche la dernière page ouverte avant fermeture du navigateur
Utilisée dans la page de reconnexion (voir fiche site)

ADLKLOGIN

Oui

ASESSLOGIN

Login de l'utilisateur
Code utilisateur(AUSERCODE) et mot de passe(APWD) en paramètre
L'interface et le mapping des paramètre est à faire

ADLKLOGOUT

Non

ASESSLOGOUT

Déconnecte l'utilisateur

ADLKSWITCHCOOKIES

Non

ASESSSWITCHCOOKIES

Permute le mode 'sans cookies' et le mode 'avec cookies'
Utiliser le bloc conditionné ADISPNOCOOKIES pour afficher l'état avec/sans cookies de la session

ADLKTRACESET

Non

ATRACESET

Mise à jour de la trace XTEND

ADLKRETURN

Non

Non

Retour à la page précédente

ADLKPOSTPAGE

Non 

Non

Poste le formulaire de la page courante et retour sur la même page

ADLKSWITCHSITE

Oui

Non

Ouvre un autre site XTEND
!!Paramètres du site à renseigner

ADLKSWITCHLANG

Oui

Non

Non  Changement de langue utilisateur
!!Paramètres code langue à renseigner

 

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

Onglet Général

Paramètres généraux du lien dynamique.

Le Tableau "Param. Accès sous-programme" est alimenté si on a les conditions suivantes :

  • Le lien dynamique possède une sélection sur l'entité,
  • Cette entité est liée à une interface de type "Accès données sous-programme",
  • L'interface possède des champs paramètres "Acces sous-programme".

Lorsque ce tableau est non vide, il permet de définir une selection sur ces paramètres.

Onglet Avancé

Onglet Sélection

Le lien dynamique a la capacité de poster une sélection à destination du bloc principal (AMAIN) de la page de destination. Si la sélection du bloc est 'altérable' et si les entités sélectionnées sont identiques, le bloc effectuera la sélection postée par le lien dynamique (en fonction du paramètre 'Application sélection').

Les champs de cet onglet sont actifs uniquement si un code entité a été sélectionné dans le champ 'Sélection sur l'entité' de l'écran 'Général'.

Onglet Tri

Etats

Par défaut, les états suivants sont associés à la fonction :

  PRTSCR : Impression écran

Mais ceci peut être modifié par paramétrage.

Boutons spécifiques

Validation

Ce bouton permet de mettre à jour le dictionnaire XTEND au format XML.

Le serveur X3WEB prend en compte uniquement le dictionnaire sous ce format.

Il existe un fichier xml par dictionnaire.

Par exemple le fichier ACT.xml correspondant à l'ensemble des actions web pour le site Web courant.

Copie

Ce bouton permet de copier un lien dynamique.

Utilisation avancée

Fonction javaScript xtdDoDlk

Un token lien dynamique est toujours inséré comme attribut d'un tag HTML <a> ou <input type='button'>.

Lorsqu'un le serveur XTEND construit dynamiquement la page HTML : il génère, à l'emplacement des tokens lien dynamique, un appel à une fonction JavaScript de la bibliothèque XTEND (xtdDoDlk) sur l'événement onClick.

Les paramètres de la fonction xtdDoDlk sont contextuels et vont permettre à la bibliothèque XTEND de constituer les données (xml) à envoyer au serveur XTEND pour traiter l'action et la sélection.

<a  href="javascript:xtdDoSubmit('MYDLK',null);"
onclick="xtdDoDlk(this,'MYDLK',null,null,'XAA',0,null,event,false,'_1',false,null,false);">

<input type="button"
onclick="xtdDoDlk(this,'MYDLK',null,'MYBLOCK','XA',0,null,event,true,'',false,null,true);"
value="Add to cart"/>

Contexte de données

Lorsque l'utilisateur clique sur un lien dynamique, le contexte de données de la page n'existe plus sur le serveur.
Il a existé pendant la construction de la page puis a été supprimé.

Le serveur XTEND stocke, dans la page HTML (tag <span id="xtdctx">), le contexte de données nécessaire au traitement à posteriori des sélections et actions des liens dynamiques.

L'un des rôles de la fonction JavaScript xtdDoDlk est de retrouver le contexte de données associé au lien dynamique pour le renvoyer au serveur.

Exemple :

Pour un lien liste/détail (catalogue) on veut afficher dans la page 'détail' l'objet (article) sur lequel on a cliqué. Cette opération consiste, pour le serveur XTEND :

  • à mémoriser pour chaque ligne du catalogue les valeurs des critères de sélection (ici le code de l'article mais il peut y en avoir plusieurs) pour pouvoir les passer au bloc qui affiche le détail.

Le fait de stocker le contexte dans la page HTML assure un bon fonctionnement d'XTEND avec la touche Back du navigateur.

Appel d'un lien par programme

Pour appeler un lien dynamique par programme en JavaScript (non généré par XTEND), utilisez la fonction ci-dessous :

//aElmt est l'élément du DOM sur lequel on a cliqué
//aDlk est le code du lien dynamique à appeler
//aParams est optionnel et contient les paramètres de l'url (query string)
function xtdCallDlk(aElmt,aDlk,aParams){}

SEEWARNING Cette fonction ne peut être utilisée que si le lien dynamique n'a aucune référence à des champs XTEND dans les critères de sélection ou les paramètres de l'action.

Seuls les critères ou paramètres de type 'Champ web' sont pris en compte.

Comment intercepter le clic souris

Dans certains cas, le développeur peut être amené à intercepter le clic pour effectuer des contrôles.

Déclarez une fonction JavaScript de nom xtdDoMyDlk pour que la bibliothèque (XtendLib.js) l'appelle en passant en paramètre l'objet contextuel aDomOut (classe CXtdDomOut) qui permet d'accéder à toutes les informations sur le lien dynamique.

Cette fonction renvoie 'false' pour interrompre le traitement.

function xtdDoMyDlk(aDomOut)
{      
     if (aDomOut.isDlk("MyDynLink"))
     {
         // L'utilisateur a cliqué sur le lien MyDynLink
         return confirm("Confirmer votre action");
     }
     return true;
}

Vous pouvez aussi intercepter le processus juste avant l'envoie du formulaire vers le serveur (submit) en créant une fonction JavaScript xDoMySubmit dans la page :

function xDoMySubmit(aDlk,aDomOut){
    // Renvoie false pour interrompre le processus
    return true;
}

Class CXtdDomOut

Classe du paramètre aDomOut qui donne accès au contexte du lien dynamique.

// Renvoie la valeur de la variable utilisateur aKey
aDomOut.getUserVar(aKey);
// Renvoie le code du lien dynamique sur lequel l'utilisateur a cliqué
aDomOut.getDynLinkId();
// Renvoie l'index de la ligne (0 à N) si l'utilisateur a cliqué
// sur un lien qui est dans un bloc tableau'
aDomOut.getCurLineIdx();
// Renvoie true si l'utilisateur a cliqué sur le lien aArg
// aArg est soit un tableau de liens soit une String
aDomOut.isDlk(aArg);
    if (aDomOut.isDlk("DLK1","DLK2")){
        // Code si l'utilisateur a cliqué sur "DLK1" ou "DLK2"
    }
// Renvoie la liste des paramètres web (Class CXtdDlkWebParamsOut)
aDomOut.getWebParameters();
// Pour connaitre la valeur du paramètre web aName
// aIdx est l'index de la valeur si valeur multiple
aDomOut.getWebParameters().getParamValue(aName,aIdx)
// Renvoie un Array qui contient les valeurs du paramètre web aName
aDomOut.getWebParameters().getParamValues(aName)
// Renvoie la valeur d'un critère de sélection ou paramètre d'action
// aFieldName est le nom du champ XTEND utilisé pour le mapping
aDomOut.getDlkParamValues(aFieldName);
// Idem getDlkParamValues - aParamId est l'ID du paramètre dans mapping
// - Pour un critère de sélection l'ID est SEL + rang du critère (1-N)
// - Cette est plus exacte que getDlkParamValues car l'ID contrairement au nom du champ XTEND
aDomOut.getDlkParamValuesById(aParamId);

Comment ajouter des contrôles de saisie

Lorsqu'un paramètres d'action est déclaré comme 'Champ web obligatoire' la bibliothèque contrôle automatiquement :

  • la saisie d'une valeur,
  • le type pour les champs numériques et date.

Pour ajouter des contrôles supplémentaires sur les paramètres web, ajoutez la fonction xtdWebParamCheckValue ci-dessous dans la page HTML.

Cette fonction est appelée pour chaque paramètre web de l'action associée au lien dynamique et renvoie true pour valider la saisie.

Voir l'exemple dans la saisie du formulaire du site ASAMPLE.

Fonction xtdWebParamCheckValue

Paramètres :

  • aWebParamOut est l'objet qui représente le paramètre
    Voir class CXtdDlkWebParamOut
  • aInputFieldName est le nom du champ web
    Attribut name
  • aInputFieldIndex est l'index du champ dans le formulaire
    0 si un seul champ de nom aInputFieldName
  • aInputFieldValue est la valeur du paramètre pour l'index aInputFieldIndex

function xtdWebParamCheckValue(aWebParamOut,aInputFieldName,
                               aInputFieldIndex,aInputFieldValue){
    // Exemple : Contrôle du format du email sur le champ MAICOD
    if (aInputFieldName=="MAICOD"){
        var wEmail=xtdCheckEmail(aInputFieldValue);
        if (wEmail && wEmail!=aInputFieldValue){
            //Format OK
            //On met à jour la valeur avec le format calculé par xtdCheckEmail
            aWebParamOut.setValue(aInputFieldIndex,wEmail);
        }
        //True pour valider la saisie - False pour invalider
        return wEmail!=null;
    }
}

Class CXtdDlkWebParamOut

// Renvoie True si paramètre obligatoire
aWebParamOut.isMandatory();
// Renvoie l'iIndex du champ dans le formulaire HTML
// -> Il peut y avoir plusieurs champ de même nom dans un formulaire (tableau)
aWebParamOut.getIndex();
// Renvoie l'élément DOM
aWebParamOut.getElement(aIdx)
//aValue est un Array
aWebParamOut.setValues(aValue);
//aIdx est l'index (0 - N) de la valeur
aWebParamOut.setValue(aIdx,aValue);
// Renvoie la valeur d'un autre paramètre Web
// -> Utile si le contrôle la valeur d'un paramètre dépend d'autres paramètres
aWebParamOut.getParamValue(aName,aIdx);
// Renvoie la valeur dans un Array
aWebParamOut.getValues();
// Renvoie la valeur d'index aIdx
aWebParamOut.getValue(aIdx);
// Renvoie la valeur d'index 0
aWebParamOut.getFirstValue();
// Renvoie l'attribut name
aWebParamOut.getName();
// Renvoie le type de paramètre défini dan le dictionnaire XTEND
aWebParamOut.isInteger();
aWebParamOut.isX3Menu();
aWebParamOut.isDecimal();
aWebParamOut.isCurrency();
aWebParamOut.isDate();
aWebParamOut.isString();
aWebParamOut.isNumeric();
// Renvoie le type d'élément du DOM du paramètre
aWebParamOut.isHidden(aIdx);
aWebParamOut.isInputText(aIdx);
aWebParamOut.isCheckBox(aIdx);
aWebParamOut.isRadio(aIdx);
aWebParamOut.isTextArea(aIdx);
aWebParamOut.isSelect(aIdx);

Filtrer les paramètres à contrôler

Si la fonction xtdWebParamCheck est présente dans la page, la bibliothèque XTEND appelle cette fonction avant d'effectuer le contrôle du paramètre.

Cette fonction renvoie 'true' pour effectuer le contrôle de la valeur et false pour bloquer le contrôle.

Elle est particulièrement utile dans les listes de picking avec sélection des lignes par une case à cocher. Elle permet de filtrer les lignes pour effectuer le contrôle uniquement sur les lignes qui sont cochées.

Voir l'exemple dans la saisie du formulaire du site ASAMPLE.

Fonction xtdWebParamCheck

Paramètres :

  • aWebParamOut est l'objet qui représente le paramètre
    Voir class CXtdDlkWebParamOut
  • aInputFieldName est le nom du champ web
    Attribut name
  • aInputFieldIndex est l'index du champ dans le formulaire
    0 si un seul champ de nom aInputFieldName

var gNbChecked=0;
// Renvoie true si le paramètre web aInputFieldName/aInputFieldIndex doit être contrôlé
function xtdWebParamCheck(aWebParamsOut,aInputFieldName,aInputFieldIndex){
/*
    Exemple pour une liste de picking avec checkboxes (ASELECTED) pour sélectionner les lignes.
    On ne contrôle pas le champ AQUANTITY si la ligne n'est pas sélectionnée
*/
    if (aInputFieldName=="AQUANTITY"){
        // gNbChecked est un compteur des lignes sélectionnées
        // Il permet de bloquer l'action si aucune ligne n'est sélectionnée
        if (aInputFieldIndex==0) gNbChecked=0;
        // Ligne sélectionnée si la valeur de ASELECTED est égale à 1
        if (aWebParamsOut.getParamValue("ASELECTED",aInputFieldIndex)=="1"){
            gNbChecked++;
            return true;
        }
        return false;
    }
    return true;
}

Cas particulier des cases à cocher

Les CheckBoxes ont la particularité de ne pas être renvoyées dans le formulaire HTML si elles ne sont pas cochées.

Ce comportement n'est pas compatible avec le moteur XTEND qui se base sur l'index du champ dans le formulaire HTML pour associer les données saisies dans une même ligne d'un tableau.

Pour faire en sorte qu'une CheckBoxes soit renvoyée même si elle n'est pas cochée la bibliothèque, XTEND remplace les CheckBoxes non cochées par un champ 'input hidden' de même nom juste avant d'envoyer le formulaire vers le serveur (xtdProcessCheckBoxes).

La valeur utilisée pour valoriser les CheckBoxes non cochée est donnée par la variable globale gXtdCBUnSelelectedValue qui est vide par défaut (var gXtdCBUnSelelectedValue="").

Pour modifier la valeur :

  • Appelez la fonction xtdSetUnSelelectedValue avec la valeur choisie, par exemple sur l'événement onLoad de la page.

<script>
    // Page onLoad event
    function xBodyOnLoad()
    {
        // Set '0' value for unselected checkboxes
        xtdSetUnSelelectedValue('0');
        // Page initialization code
    }
</script>
<body onLoad="xBodyOnLoad();">
    <form>
        //Html code
    </form>
</body>

SEEINFO Lors du parsing de la page, XTEND détecte toutes les CheckBoxes qui ont un token adx et constitue une liste qui est envoyée vers le client dans le contexte de données de la page. Ce sont les CheckBoxes de cette liste qui sont prises en compte par la fonction xtdProcessCheckBoxes.

Accès aux 'Regional Settings'

Le serveur XTEND envoie au navigateur, dans le contexte de données de la page, les informations sur les 'Regional Settings' correspondants à la langue courante.

Pour accéder a ces informations :

  • Utilisez la fonction ci-dessous qui renvoie un objet dont la classe est CXtdRegionalSettings.

var wRegSettings=gXtdDOMFactory.getXtdDomIn().getRegionalSettings();

Méthodes de la class CXtdRegionalSettings

// Séparateur de décimales
wRegSettings.getDecimalSep();
// Séparateur de milliers
wRegSettings.getThousandSep();   
// Ordre de la date - MDY=0 - DMY=1 - YMD=2
wRegSettings.getDateOrder();
// Date pivot pour le calcule des dates X3
wRegSettings.getDatePivot();

Ajouter/Supprimer des variables et critères utilisateur

Les fonction ci-dessous permettent d'ajouter/supprimer des variables et critères utilisateur.

Les fonction xtdAjax* mettent à jour les variables sur le serveur via une requête Ajax, sans soumettre le formulaire HTML.

Les autres fonctions (hors xtdGetUserVar) soumettent le formulaire HTML.

// ---------------------------------------------------------------
function xtdRemoveUserVar(aId);
function xtdSetUserVar(aId,aValue);
function xtdGetUserVar(aId);
function xtdRemoveUserCrit(aId);
// ---------------------------------------------------------------
function xtdAjaxRemoveUserVar(aId);
function xtdAjaxRemoveAllUserVar();
function xtdAjaxSetUserVar(aId,aValue);
function xtdAjaxRemoveUserCrit(aId);
function xtdAjaxRemoveAllUserCrit();
function xtdAjaxSetUserCrit(aId,aValue);
function xtdRemoveAllUserCrit();

Afficher un message issu du serveur XTEND

La fonction ci-dessous affiche un message calculé par le serveur XTEND.
Le message est renvoyé dans la langue courante du site.

Paramètres :

  • aId est le code du message XTEND,
  • aP1,aP2.. sont les paramètres (facultatifs).

function xtdAlert(aId,aP1,aP2,aP3,aP4);
// L'exemple ci dessou affiche
// 'Vous êtes connecté à l'application avec le code utilisateur DIS001'
xtdAlert("ASESSLOGIN2","DIS001");

Accès au contexte d'appel de la page

La classe ci-dessous donne accès au contexte d'appel de la page pour connaitre le résultat d'une action :

var wCallCtx==gXtdDOMFactory.getXtdDomIn().getCallingCtx();
// ---------------------------------------------------------------
// CLASS CXtdCallingCtx
// ---------------------------------------------------------------
// Lien dynamique utilisé pour afficher la page courante
wCallCtx.getDynLink();
// True si la page est le résultat d'une action
wCallCtx.hasAction();
// Code de l'action
wCallCtx.getAction();
// True si l'action s'est bien déroulée - False si erreur
wCallCtx.getActionResult();

Messages d'erreur

Il n'y a pas de message d'erreur autre que les messages d'erreur génériques.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre