3950 Dashboard » Historie » Version 27
  [X] Philipp Wolak, 27.01.2025 09:22 
  
| 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 | * Bei neuen Dashboards ist zusätzlich der neu erstellte Hauptmenüpunkt auf den SyncServer hochzuladen  |