Vai al contenuto

Creazione/modifica/eliminazione di un rapporto

Il report è configurato utilizzando un file XML. È necessario definire:

  • La query sulla base di dati di Systancia Identity per recuperare le informazioni desiderate,
  • Le proprietà di ciascuna colonna da visualizzare in formato XML: tipo di oggetto, nome nel database SQL, nome da visualizzare, indice di visualizzazione, ecc.
  • Opzioni di visualizzazione del grafico (grafico a barre, grafico a torta, punti colorati).

Per creare e configurare un nuovo rapporto, fare clic sul pulsante "Nuovo rapporto".

Selezionare un rapporto e fare clic sul pulsante "Modificare" per modificarne la configurazione.

New report

Proprietà di un rapporto

Parametro Descrizione Tipi e possibili valori
Nome Nome visualizzato della relazione. Stringa di caratteri. Obbligatorio.
Codice Corrisponde all'ID dell'oggetto. Il suo valore deve essere unico in tutti i rapporti. Stringa di caratteri, senza spazi o caratteri speciali. Obbligatorio
Categoria Categoria di segnalazione in cui verrà visualizzato l'elenco delle segnalazioni. Elenco delle categorie predefinite.
Descrizione Stringa di caratteri.
XML Tag XML che descrivono la query SQL nel database Hpliance, le proprietà di ogni colonna nel report e le proprietà degli elementi grafici. Testo in formato XML.
Scelta del modello di relazione Modello grafico per la relazione (oltre alla tabella dei dati). Senza grafico, istogramma, istogramma a pila, grafico a torta o sfera colorata per soglia.
Con parametri Consente di aggiungere variabili inserite dall'utente. È necessario aggiungere il tag all'XML. Cassa di controllo.

Scrivere l' XML per un semplice report

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<Config> 

   <!-- If there is a chart, indicate whether to display the chart on the dashboard --> 

   <DisplayGraphicInDashboard>true</DisplayGraphicInDashboard> 

   <!-- If there is a chart, indicate the chart display index on the dashboard --> 

   <DashboardDisplayIndex>0</DashboardDisplayIndex> 

   <!-- Indicates whether data is displayed as soon as the report page is accessed -->

   <DirectDisplay>true</DirectDisplay> 

   <!-- The SQL query used to retrieve the data to be displayed --> 

   <Query></Query> 

   <!-- Definition of the list of columns available to the user. --> 

   <!-- The visibility and display index of the column can be configured by the user when viewing the report.  --> 

   <Columns> 

       <!-- Definition of a column (to be duplicated as many times as necessary) --> 

       <Column> 

           <!-- The Object Type -->  

           <ObjectType></ObjectType> 

           <!-- Name of the column containing the IDs -->  

           <Column_Link_Id></Column_Link_Id> 

           <!-- The name of the field as defined in the query.  --> 

           <Name></Name> 

           <!-- The default name to display to the user.  -->  

           <DisplayName></DisplayName> 

           <!-- Indicates whether this column is visible by default. TRUE or FALSE  -->

           <Visible></Visible> 

           <!-- The default display index.  --> 

           <DisplayIndex></DisplayIndex> 

       </Column> 

   </Columns> 

</Config> 

Esempio: elenco di utenti senza numero di telefono

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<Config> 

   <DisplayGraphicInDashboard>true</DisplayGraphicInDashboard> 

   <DashboardDisplayIndex>0</DashboardDisplayIndex> 

   <DirectDisplay>true</DirectDisplay> 

   <Query> 

SELECT personne_uid,personne_display_name FROM PERSONNE 

WHERE personne_id NOT IN(SELECT personne_id FROM PERSONNE_MULTIVALUED WHERE personne_schema_attribut_id = 7) 

AND personne_hidden=0 

</Query> 

   <Columns> 

       <Column> 

           <ObjectType/> 

           <Column_Link_Id/> 

           <Name/> 

           <DisplayName/> 

           <Visible/> 

           <DisplayIndex/> 

       </Column> 

       <Column> 

           <ObjectType/> 

           <Column_Link_Id/> 

           <Name>personne_uid</Name> 

           <DisplayName>UID</DisplayName> 

           <Visible>TRUE</Visible> 

           <DisplayIndex>1</DisplayIndex> 

       </Column> 

       <Column> 

           <Name>personne_display_name</Name> 

           <DisplayName>Nom</DisplayName> 

           <Visible>TRUE</Visible> 

           <DisplayIndex>2</DisplayIndex> 

       </Column> 

   </Columns> 

</Config>

Tag XML che descrivono le colonne di un rapporto

Tag XML Definizione Valori possibili
Nome Il nome del campo come è definito nella query SQL. Stringa di caratteri.
Column_Link_Id Utilizzato per creare colonne che contengono dati cliccabili. Corrisponde al nome della colonna contenente l'ID utilizzato per gestire il collegamento. Stringa di caratteri. * Opzionale*
ObjectType Tipo di oggetto di destinazione del collegamento cliccabile (Identity, struttura). Identità = 1 => Ridiretto all'utenteDetails.aspx pagina
Struttura = 2 => Ridiretto alla pagina structure.aspx
Opzionale
DisplayName Nome della colonna da visualizzare nell'interfaccia. Stringa di caratteri.
Visible Indica se la colonna è visualizzata o nascosta. 'TRUE' o 'FALSE'
DisplayIndex Indice della colonna (ordine di visualizzazione). Integer maggiore di 0

Aggiunta di parametri inseriti dall'utente nella relazione: Tag

Selezionare la casella di controllo "Con parametri" e aggiungere i seguenti tag all'XML:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!-- Definition of the list of parameters expected by the report request.  --> 

   <Parameters> 

       <!-- Definition of a parameter (to be duplicated as many times as necessary) -->  

       <Parameter> 

           <!-- The name of the variable as defined in the query.  -->

           <Variable></Variable> 

           <!-- The label to display to the user.  -->  

           <Label></Label> 

           <!-- An integer indicating the expected data type (see documentation for possible values) -->  

           <DataType></DataType> 

           <!-- Indicates whether the user must specify a value of ‘TRUE’ or ‘FALSE’ --> 

           <Mandatory></Mandatory> 

           <!-- For optional parameters, the default value to be used if not entered by the user.  --> 

           <DefaultValue></DefaultValue> 

       </Parameter> 

   </Parameters> 

Esempio: autorizzazioni in scadenza

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<Query>DECLARE @DateNow AS DATETIME; SELECT @DateNow = GETDATE(); SELECT * FROM vHABILITATIONS_FULL WHERE (date_debut_lien IS NULL OR @DateNow > date_debut_lien) AND date_fin_lien IS NOT NULL AND ((0 = @ApplicationId) OR (application_id = @ApplicationId)) AND DATEADD(dd, @NbJours, @DateNow) > date_fin_lien ORDER BY date_fin_lien ASC</Query> 

<Parameters> 

      <Parameter> 

           <Variable>ApplicationId</Variable> 

           <DataType>4</DataType> 

           <Mandatory>TRUE</Mandatory> 

           <Label>Selectionnez l'application</Label> 

       </Parameter> 

      <Parameter> 

           <Variable>NbJours</Variable> 

           <DataType>23</DataType> 

           <Mandatory>TRUE</Mandatory> 

           <Label>Sélectionnez le nombre de jour</Label> 

       </Parameter> 

   </Parameters> 

Tag XML in <Parameter> che descrivono i parametri che possono essere inseriti dall'utente:

Tag XML Definizione Valori possibili
Variabile Nome della variabile usata nella query SQL (senza il @). Stringa di caratteri.
Tipo di dati Il tipo di oggetto Systancia Identity corrispondente al parametro. Se non è un tipo di oggetto di base (data, stringa, intero, ecc.), il parametro sarà un elenco a discesa contenente i possibili valori. Struttura=2; Regola di autorizzazione=3; Applicazione=4; Repository=5; Diritto=8; StrutturaType=11; Albero=12; AdminProfile=18; PersonaType=19; Stringa=22; Integer=23; Boolean=24; Data=25.
Etichetta Etichetta da visualizzare all'utente. Stringa di caratteri.
AttributeCode Codice dell'attributo PSA Stringa di caratteri corrispondente a un codice PSA
Obbligatorio Indica se l'utente deve specificare un valore. 'VERO' o 'FALSO
DefaultValue Per i parametri opzionali, questo è il valore predefinito che viene inserito se non c'è alcun input di ingresso da parte dell'utente. Stringa di caratteri.

Definizione dei parametri per i grafici

Selezionare il modello grafico dall'elenco a discesa e aggiungere i seguenti tag all'XML:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<GraphicConfig> 

       <!-- The type of graph (1=Histogram, 2=Stacked histogram, 3=Pie chart, 4=Colored ball per threshold -->  

       <GraphicType>1</GraphicType> 

       <!-- Graph title (if not specified, the report name will be used -->  

       <Title></Title> 

       <!-- The query to use to retrieve the data that will be used to generate the graph -->

       <Query></Query> 

       <!-- The name of the query field that will serve as the x-axis --> 

       <ColumnX></ColumnX> 

       <!-- The name of the query field that will serve as the y-axis -->  

       <ColumnY></ColumnY> 

       <!-- The label of the x-axis -->  

       <LabelX>Label of column X</LabelX> 

       <!-- The label of the y-axis --> 

       <LabelY>Label of column Y</LabelY> 

       <!-- Indicates whether the graph is in 3 dimensions --> 

       <ThreeDimension>false</ThreeDimension> 

   </GraphicConfig>

Istogramma a pila

Il tag è inserito con i seguenti tag:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 <!-- 0 = each compiled block corresponds to a column of data (default value) --> 

       <!-- 1 = each compiled block corresponds to a grouping of data from a single column of data --> 

       <StackColumnMode></StackColumnMode> 

       <!-- Definition of the list of columns to stack. --> 

       <StackedColumns> 

           <!-- Definition of a column (to be duplicated as many times as necessary) -->  

           <StackedColumn> 

               <!--  StackColumnMode = 0: The name of the field that contains the data as defined in the query.  --> 

               <!--  StackColumnMode = 1: The name of the field that allows you to create stackable blocks. (YColumn contains the data) --> 

               <DataField></DataField> 

               <!-- The name to display to the user.  --> 

               <DisplayName></DisplayName> 

               <!-- Defines the color of the stacked block (HTML code or color name) --> 

               <Color></Color> 

           </StackedColumn> 

       </StackedColumns>

Circolo colorato per soglia

Il tag è inserito con i seguenti tag:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- Definition of thresholds -->

       <Intervals> 

           <!-- Definition of a threshold (to be duplicated as many times as necessary) --> 

           <Interval> 

               <!-- Minimum threshold included --> 

               <Min></Min> 

               <!-- Maximum threshold excluded --> 

               <Max></Max> 

               <!-- Color of the ball for the defined threshold (HTML code or color name) -->

               <Color></Color> 

           </Interval> 

       </Intervals>

Traduzione dei nomi delle colonne in una relazione

Le colonne e i valori inclusi nei risultati di una relazione possono essere tradotti in diverse lingue.

Il seguente è un esempio di relazione in cui le colonne sono state tradotte:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<Config> 

   <DisplayGraphicInDashboard>True</DisplayGraphicInDashboard> 

   <DashboardDisplayIndex>5</DashboardDisplayIndex> 

   <GraphicConfig> 

       <GraphicType>1</GraphicType> 

       <Title>Nombre de personnes par application et type de compte</Title> 

       <Query>SELECT APPLICATION.application_nom + ' - ' + compte_type_nom as Administrateur, T_PERSONNE_APPLICATION_GROUPED.total FROM (SELECT application_id, compte_type_id, COUNT(*) AS total FROM (SELECT DISTINCT personne_id, vPERSONNE_COMPTE_DROIT.application_id, compte_type_id FROM vPERSONNE_COMPTE_DROIT INNER JOIN DROIT ON DROIT.droit_id = vPERSONNE_COMPTE_DROIT.droit_id) T_PERSONNE_APPLICATION GROUP BY application_id, compte_type_id) T_PERSONNE_APPLICATION_GROUPED INNER JOIN APPLICATION ON APPLICATION.application_id = T_PERSONNE_APPLICATION_GROUPED.application_id INNER JOIN COMPTE_TYPE ON COMPTE_TYPE.compte_type_id = T_PERSONNE_APPLICATION_GROUPED.compte_type_id ORDER BY total DESC</Query> 

       <ColumnX>Administrateur</ColumnX> 

       <LabelX>Nom de l'administrateur</LabelX> 

       <ColumnY>total</ColumnY> 

       <LabelY>Nombre de compte</LabelY> 

       <ThreeDimension>false</ThreeDimension> 

   </GraphicConfig> 

   <Query>SELECT APPLICATION.application_culture, APPLICATION.application_nom, compte_type.compte_type_nom, compte_type.compte_type_culture, T_PERSONNE_APPLICATION_GROUPED.total FROM (SELECT application_id, compte_type_id, COUNT(*) AS total FROM (SELECT DISTINCT personne_id, vPERSONNE_COMPTE_DROIT.application_id,  

compte_type_id FROM vPERSONNE_COMPTE_DROIT INNER JOIN DROIT ON DROIT.droit_id = vPERSONNE_COMPTE_DROIT.droit_id)T_PERSONNE_APPLICATION GROUP BY application_id, compte_type_id) T_PERSONNE_APPLICATION_GROUPEDINNER JOIN APPLICATION ON APPLICATION.application_id = T_PERSONNE_APPLICATION_GROUPED.application_id INNER JOIN COMPTE_TYPE ON COMPTE_TYPE.compte_type_id = T_PERSONNE_APPLICATION_GROUPED.compte_type_id ORDER BY total DESC</Query> 

   <Columns> 

       <Column> 

           <Name>application_nom</Name> 

           <DisplayName>Application</DisplayName> 

           <Visible>True</Visible> 

           <DisplayIndex>1</DisplayIndex> 

           <Internationaldisplayname Lang="FR">Application_FR</internationaldisplayname> 

           <Internationaldisplayname Lang="EN">Application_EN</internationaldisplayname> 

           <CultureColumnName Prop="Name">application_culture</CultureColumnName>  

       </Column> 

      <Column> 

           <Name>compte_type_nom</Name> 

           <DisplayName>Compte type</DisplayName> 

           <Visible>True</Visible> 

           <DisplayIndex>2</DisplayIndex> 

          <Internationaldisplayname Lang="FR">Compte type</internationaldisplayname> 

           <Internationaldisplayname Lang="EN">Account type</internationaldisplayname> 

           <CultureColumnName Prop="Name">compte_type_culture</CultureColumnName>  

       </Column> 

       <Column> 

           <Name>total</Name> 

           <DisplayName>Nombre</DisplayName> 

           <Visible>True</Visible> 

           <DisplayIndex>3</DisplayIndex> 

           <internationaldisplayname Lang="FR">Nombre</internationaldisplayname> 

           <internationaldisplayname Lang="EN">Number</internationaldisplayname> 

       </Column> 

   </Columns> 

</Config>

<!-- Balise XML -- Definizione -- Attributo -- Valore possibile -- | :--------- | :--------- | :------- | :-------------- | | Nome internazionale | Il numero di volte che questa etichetta deve essere utilizzata per tradurre il nome delle colonne riportate nel rapporto è pari a quello delle lingue configurate in Systancia Identity. | - Non lo so. **Tag XML **

  • Nome internazionale:
    • Definizione: Tag usato per tradurre i nomi delle colonne restituite dal rapporto. Ci devono essere tante istanze di questo tag quante sono le lingue configurate in Systancia Identity.
    • Attributo: Lang=<\language_code> dove <\language_code> rappresenta il codice linguistico definito nelle impostazioni linguistiche nella scheda Generale > Impostazioni dell'applicazione.
    • Valore possibile: Stringa di caratteri. Nome della colonna visualizzata nel rapporto per la lingua.
  • CulturaColonnaNome:
    • Definizione: Definizione della cultura XML utilizzata per tradurre il contenuto della tabella generata dal rapporto.
    • Attributo: Prop=<\XML_Attribute> dove <\XML_Attribute> rappresenta l'attributo della proprietà XML corrispondente ai diversi valori della colonna.
    • Valore possibile: Stringa di caratteri. Colonna di cultura di query SQL.

Visualizzazione di un report basato sul contesto utente

Nella versione 4000 di Hpliance, è possibile aggiungere un parametro invisibile a un report che sarà definito in base alla persona che esegue il report. I valori nel report verranno visualizzati in base ai valori di un attributo utente. Per esempio, vedranno solo i risultati per la loro organizzazione.

Esempio di rapporto: elencare tutti i permessi assegnati alle identità in una data struttura. Visualizzare i cognomi, i nomi, i permessi e le applicazioni di tutte le identità per le quali l'attributo struttura "Responsabilità" corrisponde all'attributo struttura dell'utente connesso.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
<Config> 

   <DirectDisplay>true</DirectDisplay> 

   <Query>select P.personne_id,P.personne_nom, P.personne_prenom, D.droit_nom, A.application_nom 

from vHABILITATIONS_ALLAS VHA 

inner join LIEN_PERSONNE_STRUCTURE AS LPS ON LPS.personne_id = VHA.personne_id 

inner join DROIT AS D ON D.droit_id = VHA.droit_id 

inner join PERSONNE AS P ON P.personne_id = VHA.personne_id 

inner join APPLICATION AS A ON A.application_id = D.application_id 

where structure_idin  

(select * from dbo.fctSplitString(dbo.fctGetAttributeValueByPersonneIdAndPersonneSchemaAttributCode(@personneId, 'responsabilite'), '|')) 

</Query> 

   <Columns> 

       <Column> 

           <Name>personne_id</Name> 

           <DisplayName>ID</DisplayName> 

           <Visible>False</Visible> 

           <DisplayIndex>1</DisplayIndex> 

       </Column> 

       <Column> 

           <Name>personne_nom</Name> 

           <DisplayName>Nom</DisplayName> 

           <Visible>True</Visible> 

           <DisplayIndex>2</DisplayIndex> 

           <ObjectType>1</ObjectType> 

           <Column_Link_Id>personne_id</Column_Link_Id> 

       </Column> 

       <Column> 

           <Name>personne_prenom</Name> 

           <DisplayName>Prénom</DisplayName> 

           <Visible>True</Visible> 

           <DisplayIndex>2</DisplayIndex> 

           <ObjectType>1</ObjectType> 

           <Column_Link_Id>personne_id</Column_Link_Id> 

       </Column> 

       <Column> 

           <Name>droit_nom</Name> 

           <DisplayName>Droit</DisplayName> 

           <Visible>True</Visible> 

           <DisplayIndex>3</DisplayIndex> 

       </Column> 

       <Column> 

           <Name>application_nom</Name> 

           <DisplayName>Application</DisplayName> 

           <Visible>True</Visible> 

           <DisplayIndex>4</DisplayIndex> 

       </Column> 

   </Columns> 

<Parameters> 

       <Parameter> 

           <Variable>personneId</Variable> 

           <AttributUserConnected>True</AttributUserConnected> 

           <AttributeCode>personne_id</AttributeCode> 

      </Parameter> 

   </Parameters> 

</Config>

tag XML che descrivono i parametri in base al contesto dell'utente.

  • Variabile:
    • Definizione: Nome della variabile utilizzata nella query SQL (senza il @).
    • Valore possibile: Stringa di caratteri.
  • AttributiUserConnected:
    • Definizione: specifica se il parametro è definito in base al contesto dell'utente corrente o se deve essere inserito manualmente dall'interfaccia.
    • Valore possibile:
      • Vero: contesto utente
      • Falso: inserimento manuale
  • Codice di attributo:
    • Definizione: codice dell'attributo PSA.
    • Valore possibile: Stringa di caratteri corrispondente al codice PSA.