Données dynamiques globales

Bien souvent dans les dashboards, les titres des tuiles sont personnalisés avec des données dynamiques. Chaque dashboard effectue un appel à la tâche UNI16 à chaque ouverture afin de récupérer une grille de donnée. La grille de donnée est définie dans le paramétrage de chaque dashboard par l’attribut gridId.

<dashboard id="RESPONSABLE_SECTEUR" label="Responsables secteurs" width="24" gridId="CRM_FETCH_CHILDREN_STATES">
 ...
</dashboard>

Par défaut cette propriété est définie à UNI16_N1. La tâche UNI16 est une tâche de saisie simple ce qui permet de définir des valeurs par défaut par société facilement. L’override du getGridData permet de retourner dynamique des valeurs en fonction du contexte utilisateur.

La grille de retour est traitée de deux façon



Traitement de base de la grille de retour du UNI16

La grille de retour de UNI16 est traitée de deux façon

Voici un exemple de grille envoyée au serveur :

    <GridView ID="MSP_INFOS" Label="informations sur les MSP">
      <Column ID="KEY" DataFieldID="ADRDOS.ID_PK" Width="10" />
      <Column ID="LABEL" DataFieldID="ADRDOS.DLABEL" Width="Auto" />
    </GridView>

Un retour possible de cette grille est :

    <GridView ID="MSP_INFOS" Label="informations sur les MSP">
      <Column ID="KEY" DataFieldID="ADRDOS.ID_PK" Width="10" />
      <Column ID="LABEL" DataFieldID="ADRDOS.DLABEL" Width="Auto" />
      25[C]John Smith[L]EX[C]Anne Onyme
    </GridView>

Le système va faire un mapping entre la première colonne visible et la deuxième colonne visible.

25 -> John Smith

EX -> Anne Onyme

Ces mappings sont transformées en variables disponible dans les contextes sous la forme habituelle

${25} et ${EX}


Traitement de la grille de retour du SYS26

Un autre traitement est appliqué aux grilles plus complexes.

Voici un exemple de grille envoyée au serveur :

    <GridView ID="MSP_INFOS" Label="informations sur les MSP">
      <Column ID="KEY" DataFieldID="ADRDOS.ID_PK" Width="Auto" />
      <Column ID="LABEL" DataFieldID="ADRDOS.DLABEL" Width="Auto" />
      <Column ID="BIRTH" DataFieldID="ADRDOS.BIRTHDAY" Width="Auto" />
    </GridView>

Un retour possible de cette grille est :

    <GridView ID="MSP_INFOS" Label="informations sur les MSP">
      <Column ID="KEY" DataFieldID="ADRDOS.ID_PK" Width="Auto" />
      <Column ID="LABEL" DataFieldID="ADRDOS.DLABEL" Width="Auto" />
      <Column ID="BIRTH" DataFieldID="ADRDOS.BIRTHDAY" Width="Auto" />
      25[C]John Smith[C]17/03/1990[L]36[C]Anne Onyme[C]25/06/1982
    </GridView>

Le système va faire un mapping entre la clé de la grille et les données. Dans ce cas, le résultat obtenu est le suivant:

25 -> { KEY : "25", "LABEL" : "John Smith", "BIRTH": "17/03/1990" }

36 -> { KEY : "36", "LABEL" : "Anne Onyme", "BIRTH": "25/06/1982" }

Ces mappings sont transformées en variables disponible dans les contextes sous la forme

${<KeyId>}[<ColumnId>]

Par exemple, lors du clique sur une ligne et qu’une notification spéciale doit être faite, les autres valeurs des colonnes pour cette clé peuvent être accédées.

Autre exemple, la grille suivante :

    <GridView ID="SECTEUR_STATUS" Label="informations sur le secteur">
      <Column ID="PERIOD" DataFieldID="CRM_PERIOD"/>
      <Column ID="COUNT" DataFieldID="PERIOD_COUNT"/>
    </GridView>

retourne la grille donnant le mapping suivant

MORNING -> { PERIOD : "MORNING", "COUNT" : "10" }

AFTERNOON -> { PERIOD : "AFTERNOON", "COUNT" : "12" }

DAY -> { PERIOD : "DAY", "COUNT" : "13" }

Ces informations pourront facilement être affichées dans des tuiles dynamiquement car les valeurs des clés pour le mapping sont connues:

${MORNING}[COUNT], ${AFTERNOON}[COUNT] et ${DAY}[COUNT]


Variables des filtres dans les notifications

Voici un exemple d’une tuile de filtre A qui filtre une autre tuile B. La configuration de la tuile B est par exemple la suivante :

...
  <config>
    ...
    <filteredBy>
      <tileid>ASSURE_FILTER</tileid>
      <filterValue><![CDATA[GTPEVT.STATEDOS : $ADRDOS.ID_PK]]></filterValue>
      <visibleOnFilter>VisibleOnSingleValue</visibleOnFilter>
    </filteredBy>
    ...
  </config>
...

Lors du clique sur la tuile, l’action peut accéder aux variables venant des filtres appliqués (dans la notification)

Ainsi, il est possible de définir une action comme suit :

...
  <action type="Notification">
    <notification>SOME_ID</notification>
    <notificationSource>Remote</notificationSource>
    <notificationTask>ADR02</notificationTask>
    <notificationArguments>keys=${ASSURE_FILTER.ADRDOS.ID_PK},labels=${ASSURE_FILTER.ADRDOS.DLABEL}</notificationArguments>
  </action>
...

La variable ${ASSURE_FILTER.ADRDOS.ID_PK} vaudra par exemple “”, “R720” ou “R720 OR R42”