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.

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 |
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_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>
<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_ALL AS 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_id in
(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.