3950 Dashboard » Historie » Revision 25
Revision 24 ([X] Steffen A, 09.07.2024 11:01) → Revision 25/26 ([X] Marcus F, 10.01.2025 12:57)
h1. 3950 Dashboard Einstiegsvideo: Y:\KUNDENDATEN\CIMPCS\Intern\Arbeitsunterlagen\Schulungsvideos\Admin\Dashboard *Tastenkombinationen* STRG + ALT + Shift + L --> SQL LOG STRG + ALT + Shift + E --> SQL Abfragen STRG + ALT + Shift + A --> Admin STRG + Rechte Maus auf Objekt = Administrierfunktionen Hauptmenü ~> Alle Quellen Durchsuchen = SQL Gehirn h2. Möglichkeiten für Kunden # Kundeneigene Erstellung von Dashboards # Nutzung vorgefertigter ProdatStandardDashboards # Entwicklung von kundenspezifischen Dashboards durch CIMPCS h2. Anwendungsbeispiele [[Dashboard Beispiele]] h2. Erstellung *Aufpassen:* %{color: red}beim Schließen wird nicht automatisch nach Speichern gefragt!% * Hauptmenü-Eintrag erstellen mit *action:* @dashboard@ und *proc:* Dashboard-Kennzeichen {{collapse(zum Beispiel) !hauptmenu_dashboard.png! }} * Dashboard öffnen * @Zahnrad@ / @Bearbeiten@ {{collapse(Aufklappen) !dash_bearbeiten.png! }} * @Panel links@ / @Popupmenu@ / @Neue Seite erstellen@ {{collapse(Aufklappen) !neue_seite.png! }} ** und folgende Parameter eingeben: *** Menu.Caption *** Menu.Hint *** Menu.ImageIndex (Passende Icon von USysModule/ImageListHot) ** die Parameter kann man später über @Panel links@ / @Popupmenu@ / @Aktuelle Seite editieren@ anpassen ** Seiten sind mit drag-n-drop miteinander kombinierbar (kann man als Baumstruktur darstellen) {{collapse(zum Beispiel) !tree_sites.png! }} h2. TileControl * Editierte Seite auswählen * @Zahnrad@ / @Erstellen@ {{collapse(Aufklappen) !create_controls.png! }} * Parameter: ** 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) ** Text 1 (oben links) ** Text 2 (oben rechts) ** Text 3 (unten links) ** Text 4 (unten rechts) ** MainMenu-Link (mm_id) ** Font.Size(1) ** Font.Size(2-4) ** ImageIndex (Glyph = False) %{color: red}[wovon geladen / wie kann man bedienen?] Vorschlag: löschen und Image von oben ausgewählter @mm_id@ laden.% ** mit Schift+Linksklick kann man die Größe anpassen (werden vorgegebene Größe nacheinander gesetzt) ** {{collapse(Beispiel) !tilecontrol.png! }} ** MF: wie kann man diese Werte anpassen? Name, Text 1 - 4 h2. LayoutControl * Editierte Seite auswählen * @Zahnrad@ / @Erstellen@ {{collapse(Aufklappen) !create_controls.png! }} * LayoutControl * Popupmenu von LayoutControl: ** @Eigenschaften@: heir kann man aktuell nur die Höhe anpassen ** @LayoutControl-Customizer@: visuelle Layouteditor (Gruppierung, Positionierung, Ausrichtung, Umbenennung usw) Offen: wie erzeugt man ein Split Element? h3. Grid * @Hinzufügen@ / @Grid@ * Popupmenu von Grid {{collapse(Aufklappen) !grid_popup.png! }} ** Erste zwei Zeilen: automatisch generierte Namen von Frame und Layout zur Info ** bei SQL kann man Standard-SQL-Name eingeben oder direkte SQL-Statement: {{collapse(zum Beispiel) <pre><code class="sql"> SELECT dbrid, ak_nr, ak_bez FROM art LIMIT 5 </code></pre> !grid_sql.png! }} ** @Parent anpassen@ für Master-Detail-Beziehungstabellen geeignet, {{collapse(zum Beispiel) Erstellen zweite LayoutControl mit Grid <pre><code class="sql"> SELECT r_descr, r_unit, r_value FROM recnokeyword WHERE r_dbrid = :dbrid </code></pre> und setzen Beziehung zum erstem Frame !grid-master-detail.png! }} h3. Chart * @Hinzufügen@ / @Chart@ * Popupmenu von Chart ** Parent anpassen und SQL analor Grid (siehe oben) ** Eigenschaften: {{collapse(Aufklappen) !chart_popup.png! }} *** GroupCaption *** x[x] (Bezeichnung und Farbe definieren) *** y[y1](Bezeichnung und Farbe definieren) *** [y2] (Bezeichnung und Farbe definieren) *** [y3] (Bezeichnung und Farbe definieren) *** ToolBox (um Diagrammdarstellung im Laufzeit zu ändern) *** ChartType ("Beschreibung":https://docs.devexpress.com/AspNet/15880/aspnet-webforms-controls/chart-control/concepts/creating-charts/2d-chart-types) *** LegendPosition ** Beispiel: {{collapse(Aufklappen) <pre><code class="sql"> SELECT ag_bdat, SUM(ag_brutto_basis_w) AS sum_brutto, SUM(ag_netto_basis_w) AS sum_netto FROM auftg WHERE ag_astat='E' AND NOT ag_done GROUP BY ag_bdat, ag_lkn ORDER BY sum_netto DESC LIMIT 8 </code></pre> *Eigenschaften:* !chart_eigenschaften.png! *Diagramm:* !chart_ergebniss.png! }} h3. Groups Groups können sowohl als statische Gruppierung, als auch als Registerfenster verwendet werden. ~> Layout-Control Customizer > Kontextmenü der Gruppe > Layout Direction h2. Einstiegsfilter * Daten werden erst nach Enter-Taste in Suchfeld oder nach Suchen-Button Klick geladen * Ganze Funktionalität nur bei Hauptframe möglich (wo keinen Parent angegeben ist) * Filter-Liste sind Einträge von der @datarowstate@ Tabelle * BSP: {{collapse(Aufklappen) !clipboard-202304130941-rv6kk.png! }} <pre><code class="sql"> INSERT INTO datarowstate (drs_type, drs_code, drs_sort, drs_filtersql, drs_textnr, drs_defregister) 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 ('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 </code></pre> * @drs_type@ ist der Grid-Name. Dieser wird im Edit-Modus im Popupmenü angezeigt {{collapse(Aufklappen) !clipboard-202304130947-ms0hy.png! }} h2. Synchronisierung *%{color:red}WICHTIGER HINWEIS:* Von Kunden vorgenommene Änderungen an Prodat-Dashboards können nicht zusammengeführt werden und werden bei der Synchronisierung überschrieben.% * Dashboards werden als OPTIONS (component_options) auf den SyncServer (PRODAT-18.08) synchronisiert und stehen damit für alle Kunden zur Verfügung {{collapse(Aufklappen) !clipboard-202206161148-ysvqk.png! }} * Bei neuen Dashboards ist zusätzlich der neu erstellte Hauptmenüpunkt auf den SyncServer hochzuladen