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