Projekt

Allgemein

Profil

3950 Dashboard » Historie » Version 23

[X] Philipp Wolak, 13.04.2023 09:48
Einstiegsfilter ergänzt

1 1 [E] Andre K
h1. 3950 Dashboard
2 2 [E] Andre K
3 20 [X] Steffen A
Einstiegsvideo: Y:\KUNDENDATEN\CIMPCS\Intern\Arbeitsunterlagen\Schulungsvideos\Admin\Dashboard
4
5
6 18 [X] Steffen A
h2. Möglichkeiten für Kunden
7 17 [Y] Andreas F
8 18 [X] Steffen A
# Kundeneigene Erstellung von Dashboards
9
# Nutzung vorgefertigter ProdatStandardDashboards
10 17 [Y] Andreas F
# Entwicklung von kundenspezifischen Dashboards durch CIMPCS
11
12
h2. Anwendungsbeispiele
13
14
[[Dashboard Beispiele]]
15
16 2 [E] Andre K
h2. Erstellung
17
18 15 [E] Andre K
*Aufpassen:* %{color: red}beim Schließen wird nicht automatisch nach Speichern gefragt!%
19 14 [E] Andre K
20 5 [E] Andre K
* Hauptmenü-Eintrag erstellen mit *action:* @dashboard@ und *proc:* Dashboard-Kennzeichen
21
{{collapse(zum Beispiel)
22 1 [E] Andre K
!hauptmenu_dashboard.png!
23 5 [E] Andre K
}}
24
* Dashboard öffnen
25 7 [E] Andre K
* @Zahnrad@ / @Bearbeiten@
26 5 [E] Andre K
{{collapse(Aufklappen)
27
!dash_bearbeiten.png!
28 3 [E] Andre K
}}
29 7 [E] Andre K
* @Panel links@ / @Popupmenu@ / @Neue Seite erstellen@
30 6 [E] Andre K
{{collapse(Aufklappen)
31 1 [E] Andre K
!neue_seite.png!
32
}}
33 7 [E] Andre K
** und folgende Parameter eingeben:
34
*** Menu.Caption
35
*** Menu.Hint
36
*** Menu.ImageIndex (Passende Icon von USysModule/ImageListHot)
37
** die Parameter kann man später über @Panel links@ / @Popupmenu@ / @Aktuelle Seite editieren@ anpassen
38 8 [E] Andre K
** Seiten sind mit drag-n-drop miteinander kombinierbar (kann man als Baumstruktur darstellen)
39
{{collapse(zum Beispiel)
40
!tree_sites.png!
41
}}
42 10 [E] Andre K
43
h2. TileControl
44
45 9 [E] Andre K
* Editierte Seite auswählen
46
* @Zahnrad@ / @Erstellen@
47 8 [E] Andre K
{{collapse(Aufklappen)
48
!create_controls.png!
49 1 [E] Andre K
}}
50 13 [E] Andre K
* Parameter:
51 15 [E] Andre K
** Name (Komponentname, also Groß- und Kleinschreibung ist nicht von Bedeutung, jedoch dürfen nur Buchstaben, Zahlen und der Unterstrich verwendet werden. Der Name muss mit einem Buchstaben beginnen)
52 13 [E] Andre K
** Text 1 (oben links)
53
** Text 2 (oben rechts)
54
** Text 3 (unten links)
55
** Text 4 (unten rechts)
56
** MainMenu-Link (mm_id)
57
** Font.Size(1)
58
** Font.Size(2-4)
59
** ImageIndex (Glyph = False) %{color: red}[wovon geladen / wie kann man bedienen?] Vorschlag: löschen und Image von oben ausgewählter @mm_id@ laden.%
60
** mit Schift+Linksklick kann man die Größe anpassen (werden vorgegebene Größe nacheinander gesetzt)
61
** {{collapse(Beispiel)
62 1 [E] Andre K
!tilecontrol.png!
63 10 [E] Andre K
}}
64
65
h2. LayoutControl
66
67
* Editierte Seite auswählen
68
* @Zahnrad@ / @Erstellen@
69
{{collapse(Aufklappen)
70
!create_controls.png!
71
}}
72
* LayoutControl
73
* Popupmenu von LayoutControl:
74
** @Eigenschaften@: heir kann man aktuell nur die Höhe anpassen
75
** @LayoutControl-Customizer@: visuelle Layouteditor (Gruppierung, Positionierung, Ausrichtung, Umbenennung usw)
76 12 [E] Andre K
77 19 [Y] Andreas F
Offen: wie erzeugt man ein Split Element?
78
79 12 [E] Andre K
h3. Grid
80
81
* @Hinzufügen@ / @Grid@
82
* Popupmenu von Grid
83 1 [E] Andre K
{{collapse(Aufklappen)
84 10 [E] Andre K
!grid_popup.png!
85
}}
86 12 [E] Andre K
** Erste zwei Zeilen: automatisch generierte Namen von Frame und Layout zur Info
87
** bei SQL kann man Standard-SQL-Name eingeben oder direkte SQL-Statement:
88 10 [E] Andre K
{{collapse(zum Beispiel)
89
<pre><code class="sql">
90 11 [E] Andre K
SELECT
91
  dbrid,
92
  ak_nr,
93
  ak_bez 
94
FROM
95
  art 
96 1 [E] Andre K
LIMIT 5
97 10 [E] Andre K
</code></pre>
98
99 1 [E] Andre K
!grid_sql.png!
100 11 [E] Andre K
}}
101 12 [E] Andre K
** @Parent anpassen@ für Master-Detail-Beziehungstabellen geeignet, 
102 11 [E] Andre K
{{collapse(zum Beispiel)
103
Erstellen zweite LayoutControl mit Grid
104
<pre><code class="sql">
105
SELECT
106
  r_descr,
107
  r_unit,
108
  r_value 
109
FROM
110
  recnokeyword
111 1 [E] Andre K
WHERE
112
  r_dbrid = :dbrid
113
</code></pre>
114
und setzen Beziehung zum erstem Frame
115
!grid-master-detail.png!
116
}}
117 12 [E] Andre K
118
h3. Chart
119
120
* @Hinzufügen@ / @Chart@
121
* Popupmenu von Chart 
122 13 [E] Andre K
** Parent anpassen und SQL analor Grid (siehe oben)
123
** Eigenschaften:
124 12 [E] Andre K
{{collapse(Aufklappen)
125 1 [E] Andre K
!chart_popup.png!
126
}}
127 14 [E] Andre K
*** GroupCaption
128
*** x[x] (Bezeichnung und Farbe definieren)
129
*** y[y1](Bezeichnung und Farbe definieren)
130
*** [y2] (Bezeichnung und Farbe definieren) 
131
*** [y3] (Bezeichnung und Farbe definieren)
132 12 [E] Andre K
*** ToolBox (um Diagrammdarstellung im Laufzeit zu ändern)
133
*** ChartType ("Beschreibung":https://docs.devexpress.com/AspNet/15880/aspnet-webforms-controls/chart-control/concepts/creating-charts/2d-chart-types)
134
*** LegendPosition
135 16 [E] Andre K
** Beispiel: {{collapse(Aufklappen)
136
<pre><code class="sql">
137
SELECT
138
 ag_bdat,
139
 SUM(ag_brutto_basis_w) AS sum_brutto,
140
 SUM(ag_netto_basis_w) AS sum_netto
141
FROM
142
 auftg
143
WHERE
144
 ag_astat='E'
145
AND
146
 NOT ag_done
147
GROUP BY
148
 ag_bdat, ag_lkn
149
ORDER BY
150
 sum_netto DESC
151
LIMIT 8
152
</code></pre>
153
154
*Eigenschaften:*
155
!chart_eigenschaften.png!
156
157
*Diagramm:*
158
!chart_ergebniss.png!
159
}} 
160 21 [X] Marvin P
161
h3. Groups
162
163
Groups können sowohl als statische Gruppierung, als auch als Registerfenster verwendet werden.
164
165
~> Layout-Control Customizer > Kontextmenü der Gruppe > Layout Direction
166 22 [X] Philipp Wolak
167 23 [X] Philipp Wolak
h2. Einstiegsfilter
168
169
* Daten werden erst nach Enter-Taste in Suchfeld oder nach Suchen-Button Klick geladen
170
* Ganze Funktionalität nur bei Hauptframe möglich (wo keinen Parent angegeben ist)
171
* Filter-Liste sind Einträge von der @datarowstate@ Tabelle
172
* BSP: {{collapse(Aufklappen)
173
!clipboard-202304130941-rv6kk.png!
174
}}
175
<pre><code class="sql">
176
INSERT INTO datarowstate (drs_type, drs_code, drs_sort, drs_filtersql, drs_textnr, drs_defregister)
177
                  VALUES ('CRM_dframe_Angebote_MA_lcFrame_angebbylkn', 's30Tage',   10, 'COALESCE(_auftg.modified_date > (CURRENT_DATE - INTERVAL ''30 DAY'')::DATE, false)', 4624, false), --Letzte 30 Tage
178
                         ('CRM_dframe_Angebote_MA_lcFrame_angebbylkn', 'sPosFirst', 20, '(SELECT MIN(ag_pos) FROM auftg AS _auftg WHERE _auftg.ag_nr = ag_nr) = ag_pos', 26573, true);  --Nur erste Position
179
</code></pre>
180
* @drs_type@ ist der Grid-Name. Dieser wird im Edit-Modus im Popupmenü angezeigt {{collapse(Aufklappen)
181
!clipboard-202304130947-ms0hy.png!
182
}}
183
184 22 [X] Philipp Wolak
h2. Synchronisierung
185
186
*%{color:red}WICHTIGER HINWEIS:* Von Kunden vorgenommene Änderungen an Prodat-Dashboards können nicht zusammengeführt werden und werden bei der Synchronisierung überschrieben.%
187
188
* Dashboards werden als OPTIONS (component_options) auf den SyncServer (PRODAT-18.08) synchronisiert und stehen damit für alle Kunden zur Verfügung
189
{{collapse(Aufklappen)
190
!clipboard-202206161148-ysvqk.png!
191
}}
192
* Bei neuen Dashboards ist zusätzlich der neu erstellte Hauptmenüpunkt auf den SyncServer hochzuladen