on fait des actions telles que :
initialiser des variables,
initialiser des readonlycondition (champ en lecture ou ecriture), des mandatory conditions (champs obligatoire)
lancer des classes java qui travaillent sur l'affichage de la donnée...
la plupart des ces actions sont conditionnées à l'état d'autres données, pour ça, elles ont toutes l'attribut executeif="" .
<datamodel datamodelid="CCIAG_CC_COMPTEUR" label="CCIAG_CC_COMPTEUR"getfromtank recupere les params passé en GET dans l'url:
titlefield="CCIAG_CODE_COMPTEUR" delta="TRUE">
<configuration configurationid="CCIAG_CC_COMPTEUR"
resetchangeflag="FALSE" title="root">
<initactions>
tankvariable : le nom du param de l'url
variableid : la variable de ton datamodel
<getfromtank variableid="CREA_COMPTEUR" tankvariable="CREA_COMPTEUR" />dans un sqlrequest tu récupéres une valeur pour initialiser la variable;
ici la variable IDCOMPTEURGMAOCURRENT du datamodel est le champs qui va être initialiser, c'est défini grace au ' as IDCOMPTEURGMAOCURRENT ' de la requete
au passage note:
- le execute if (et sa syntaxe)
-@@CCIAG_IDCOMPTEUR@@ : A la génération de la page web, ce @@CCIAG_IDCOMPTEUR@@ est remplacé par la valeur de la variable CCIAG_IDCOMPTEUR du datamodel. Cette notation s'utilise dans les requetes, mais aussi dans les attributs de variable tq executeif ou autre
<sql
sqlrequest="select AT_IDMACHINE as CCIAG_IDCOMPTEURGMAOCURRENT from cciag_cc_liengmao where CCIAG_IDCOMPTEUR=@@CCIAG_IDCOMPTEUR@@ and cciag_datefin is null"
executeif="ECRAN.tostring=='2' && CCIAG_IDCOMPTEURGMAOCURRENT.isnull && CCIAG_IDCOMPTEUR.tostring != ''" />
<set variableid="CCIAG_ISARELEVER" expression="0"
executeif="CCIAG_ISARELEVER.isnull" />
<set variableid="CCIAG_NBCHIFFREAPRVIRGULE1" expression="0"
executeif="CCIAG_NBCHIFFREAPRVIRGULE1.isnull" />
<set variableid="CCIAG_NBCHIFFREAPRVIRGULE2" expression="0"
executeif="CCIAG_NBCHIFFREAPRVIRGULE2.isnull" />
<set variableid="CCIAG_NIV1ACTIVE" expression="1"
executeif="CCIAG_NIV1ACTIVE.isnull" />
<set variableid="CCIAG_NIV2ACTIVE" expression="1"
executeif="CCIAG_NIV2ACTIVE.isnull" />
<set variableid="CCIAG_NIV3ACTIVE" expression="1"
executeif="CCIAG_NIV3ACTIVE.isnull" />
<set variableid="NB_ANNEE_CHAUFF" expression="4" />
<set variableid="COMPTEURTOGRAPH" expression="CCIAG_IDCOMPTEUR" />
<set variableid="CALCULDISPLAY" expression="'TRUE'" />
<set variableid="CCIAG_TYPE_TOTALISEUR_LIST" expression="' (0) '"
executeif="!CCIAG_TYPE.isnull && (CCIAG_TYPE.tostring=='1' || CCIAG_TYPE.tostring=='3' || CCIAG_TYPE.tostring=='4' || CCIAG_TYPE.tostring=='5' ) "/>
<set variableid="CCIAG_TYPE_TOTALISEUR_LIST" expression="' (1) '" executeif="!CCIAG_TYPE.isnull && CCIAG_TYPE.tostring=='8'"/>
<set variableid="CCIAG_TYPE_TOTALISEUR_LIST" expression="' (2) '" executeif="!CCIAG_TYPE.isnull && CCIAG_TYPE.tostring=='10'"/>
Exemple de classes java apellées pour modifier l'affichage. (on s'en sert pour cacher des champs, en rendre obligatoire, calculer les graphs, afficher la zone de "navigation compteurs" ..)
<callfct classname="com.alma.cciag.cc.datacontrol.AfficherCompteur" executeif="CCIAG_IDCOMPTEUR.tostring!=''" />
<callfct classname="com.alma.cciag.cc.graph.FctGraphConsoIndex1" executeif="CCIAG_IDCOMPTEUR.tostring!=''" />
<callfct classname="com.alma.cciag.cc.graph.FctGraphConsoIndex2" executeif="CCIAG_IDCOMPTEUR.tostring!=''" />
<callfct classname="com.alma.cciag.cc.graph.FctGraphRatioConso" executeif="CCIAG_IDCOMPTEUR.tostring!=''" />
<callfct classname="com.alma.cciag.cc.graph.FctGraphDeltaT" executeif="CCIAG_IDCOMPTEUR.tostring!=''" />
<callfct classname="com.alma.cciag.cc.graph.FctGraphEcartsCumules" executeif="CCIAG_IDCOMPTEUR.tostring!=''" />
<callfct classname="com.alma.cciag.cc.graph.FctGraphRatioConsoECS" executeif="CCIAG_IDCOMPTEUR.tostring!=''" />
</initactions>
<globalactions />
Aucun commentaire:
Enregistrer un commentaire