Preskoči na sadržaj

Stvaranje/izmjena/brisanje izvješća

Izvješće se konfigurira pomoću XML datoteke. Potrebno je definirati:

  • Upit nad bazom podataka CyberElements Identity za dohvaćanje željenih informacija,
  • Svojstva svakog stupca koji se prikazuje, u formatu XML: vrsta objekta, naziv u SQL bazi podataka, naziv za prikaz, indeks prikaza itd.
  • Mogućnosti prikaza grafikona (trakasti grafikon, tortni grafikon, obojene točke).

Kliknite gumb „New report“ da biste stvorili i konfigurirali novo izvješće.

Odaberite izvješće i kliknite gumb „Modify“ da biste izmijenili njegovu konfiguraciju.

New report

Svojstva izvješća

Parameter Opis Vrste i moguće vrijednosti
Name Naziv za prikaz izvješća. Niz znakova. Obavezno.
Code Odgovara identifikatoru objekta. Njegova vrijednost mora biti jedinstvena među svim izvješćima. Niz znakova, bez razmaka i posebnih znakova. Obavezno
Category Kategorija izvješća u kojoj će se prikazivati popis izvješća. Popis unaprijed definiranih kategorija.
Description Niz znakova.
XML XML oznake koje opisuju SQL upit u bazi podataka Hpliance, svojstva svakog stupca izvješća i svojstva grafičkih elemenata. Tekst u formatu XML.
Choice of report template Grafički predložak izvješća (uz tablicu podataka). Without chart, Histogram, Stacked histogram, Pie chart ili Color ball by threshold.
With parameters Omogućuje dodavanje varijabli koje unosi korisnik. U XML ćete morati dodati oznaku . Potvrdni okvir.

Pisanje XML koda za jednostavno izvješće

 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> 

Primjer: popis korisnika bez telefonskog broja

 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>

XML oznake koje opisuju stupce izvješća

XML oznaka Definicija Moguće vrijednosti
Name Naziv polja kako je definiran u SQL upitu. Niz znakova.
Column_Link_Id Upotrebljava se za stvaranje stupaca koji sadrže podatke na koje je moguće kliknuti. Odgovara nazivu stupca koji sadrži identifikator koji se upotrebljava za upravljanje poveznicom. Niz znakova. Neobavezno
ObjectType Vrsta ciljnog objekta poveznice na koju je moguće kliknuti (Identity, struktura). Identity = 1 => preusmjeravanje na stranicu userDetails.aspx
Structure = 2 => preusmjeravanje na stranicu structure.aspx
Neobavezno
DisplayName Naziv stupca koji se prikazuje u sučelju. Niz znakova.
Visible Označava je li stupac prikazan ili skriven. 'TRUE' ili 'FALSE'
DisplayIndex Indeks stupca (redoslijed prikaza). Cijeli broj veći od 0

Dodavanje parametara koje unosi korisnik u izvješće: oznaka

Potvrdite okvir „With parameters“ i dodajte sljedeće oznake u 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> 

Primjer: dozvole kojima uskoro istječe valjanost

 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> 

XML oznake u <Parameter> koje opisuju parametre koje korisnik može unijeti:

XML oznaka Definicija Moguće vrijednosti
Variable Naziv varijable koja se upotrebljava u SQL upitu (bez @). Niz znakova.
Data Type Vrsta objekta CyberElements Identity koja odgovara parametru. Ako nije riječ o osnovnoj vrsti objekta (datum, niz, cijeli broj itd.), parametar će biti padajući popis s mogućim vrijednostima. Structure=2; Authorization Rule=3; Application=4; Repository=5; Right=8; StructureType=11; Tree=12; AdminProfile=18; PersonType=19; String=22; Integer=23; Boolean=24; Date=25.
Label Natpis koji se prikazuje korisniku. Niz znakova.
AttributeCode Kôd atributa PSA. Niz znakova koji odgovara kôdu PSA.
Mandatory Označava mora li korisnik navesti vrijednost. 'TRUE' ili 'FALSE
DefaultValue Za neobavezne parametre to je zadana vrijednost koja se unosi ako korisnik ništa ne unese. Niz znakova.

Definiranje parametara za grafikone

Odaberite grafički predložak s padajućeg popisa i dodajte sljedeće oznake u 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>

Stacked histogram

Umetnite sljedeće oznake u oznaku :

 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>

Obojeni krug po pragu

Umetnite sljedeće oznake u oznaku :

 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>

Prevođenje naziva stupaca u izvješću

Stupci i vrijednosti obuhvaćeni rezultatima izvješća mogu se prevesti na više jezika.

U nastavku je primjer izvješća u kojem su stupci prevedeni:

 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>

XML oznaka

  • Internationaldisplayname:
    • Definicija: oznaka koja se upotrebljava za prevođenje naziva stupaca koje vraća izvješće. Ta se oznaka mora pojaviti onoliko puta koliko je jezika konfigurirano u CyberElements Identity.
    • Atribut: Lang=„<\language_code>“ gdje <\language_code> predstavlja kôd jezika definiran u postavkama jezika na kartici General > Application Settings.
    • Moguća vrijednost: niz znakova. Naziv stupca koji se prikazuje u izvješću za taj jezik.
  • CultureColumnName:
    • Definicija: definicija XML-a culture koji se upotrebljava za prevođenje sadržaja tablice koju generira izvješće.
    • Atribut: Prop=„<\XML_Attribute>“ gdje <\XML_Attribute> predstavlja atribut XML svojstva koji odgovara različitim vrijednostima u stupcu.
    • Moguća vrijednost: niz znakova. Stupac culture SQL upita.

Prikaz izvješća na temelju konteksta korisnika

U verziji 4000 rješenja Hpliance izvješću je moguće dodati nevidljivi parametar koji će se definirati prema osobi koja pokreće izvješće. Vrijednosti u izvješću prikazivat će se prema vrijednostima atributa korisnika. Na primjer, osoba će vidjeti samo rezultate za svoju organizaciju.

Primjer izvješća: navedite sve dozvole dodijeljene identitetima u određenoj strukturi. Prikažite prezimena, imena, dozvole i aplikacije svih identiteta za koje atribut strukture „Responsibility“ odgovara atributu strukture prijavljenog korisnika.

  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>

XML oznake koje opisuju parametre na temelju konteksta korisnika.

  • Variable:
    • Definicija: naziv varijable koja se upotrebljava u SQL upitu (bez @).
    • Moguća vrijednost: niz znakova.
  • AttributUserConnected:
    • Definicija: određuje definira li se parametar na temelju konteksta trenutačnog korisnika ili ga je potrebno ručno unijeti iz sučelja.
    • Moguća vrijednost:
      • True: kontekst korisnika
      • False: ručni unos
  • AttributeCode:
    • Definicija: kôd atributa PSA.
    • Moguća vrijednost: niz znakova koji odgovara kôdu PSA.