Diagramm-Elemente
Diagramm-Elemente dienen zur grafischen Anzeige von Daten (optional zusätzlich oder anstelle auch tabellarisch) auf Basis von Datenquellen bzw. Geschäftsprozessen. Dabei können Listen-Elemente eigene Metadatenobjekte oder ein Teil von Metadatenobjekten sein.
In folgenden UI-Elementen können Diagramm-Elemente angezeigt oder zugeordnet werden:
- Control-Center
- Als Master- oder Detail-Liste in einem Master-Detail-Element
Eigenschaften Listen-Element
Bereich | Eigenschaft | Wert |
---|---|---|
Allgemeines | Name | Name des Diagramm-Elementes (für Anwender nicht sichtbar) |
Anhängen an Listen-Element der Partner-Kennung (AppendToPartnerId, AppendToPackageId) | Partner- und Lösungs-Kennung des gleichnamigen Diagramm-Elementes, an das diese Definition angehängt werden soll. Einsatzzwecke:
Hinweis: Anhängen ist immer einstufig, Verkettungen sind nicht möglich. | |
Ersetzen (Replace) | Festlegung, ob das Original beim Anhängen an ein Diagramm-Element ersetzt werden soll (bei Ja). Die Verwendung des Ersetzens ist nur für Ausnahmefälle gedacht. Dabei wird das Original vollständig ersetzt. Die Verantwortung dafür trägt der Entwickler der Erweiterung. In der Folge werden an das Original angehängte Diagramm-Elemente nicht mehr beachtet. Soll angehangen werden, muss an das ersetzende Diagramm-Element angehangen werden. Berechtigungen des Originals werden ebenfalls nicht mehr beachtet. Es sind eigene Berechtigungen zu definieren. Wird ein Diagramm-Element mehrfach ersetzt, „gewinnt“ das ersetzende Diagramm-Element, das die kleinste Partner-ID bzw. bei gleicher Partner-ID die kleinste Lösungs-Kennung hat. Bei Bedarf kann die Reihenfolge im AppDesigner angepasst werden. | |
Titel (Title) | Titel des Diagramm-Elementes (für Anwender sichtbar) | |
Titelerweiterung für Child-Elemente (CildTitleExtension) | Titel-Erweiterung (wird mit Leerzeichen getrennt und in Klammern an den Titel angehängt; steht bei Verwendung des Elementes im Control-Center nicht zur Verfügung) Beim Anzeigen werden folgende Platzhalter ausgewertet:
Wird typischerweise verwendet, um voreingestellte Filter, die für den ganzen Dialog gültig sind, anzuzeigen. Beispielsweise:
| |
Beschreibung (Description) | Formatierter Erläuterungstext des Elementes zur Anzeige im Element-Einfüge-Dialog des Control-Centers. | |
Kommentar (Comment) | Beliebiger Kommentar zur Dokumentation. Der Kommentar wird nicht zum Client übertragen und dient nur zur Dokumentation von Besonderheiten, Hinweisen, etc. Bei Auslieferung/Weitergabe der Lösung wird der Kommentar eingeschlossen, so dass der Empfänger ihn im AppDesigner sieht. | |
Daten | Datenquelle (DataSourcePartnerId, DataSourcePackageId, DataSourceName) | Partner-Kennung, Lösungs-Kennung und Name für die verwendete Datenquelle. |
Berechnungsmodus Zusammenfassungsrubrik (CalculationModeCategories) | Werte weiterer Rubriken unter "Andere“ zusammenfassen (bei TOP-Abfragen nicht erlaubt): 0 = nicht zusammenfassen (sollte nur 0 sein, wenn es eine TOP-Abfrage oder eine kleine Anzahl von Werten definiert) 1 = Zusammenfassen auf Client (bei großen Datenmengen nicht performant) 2 = Rückwärtsberechnung über Summenzeile (Berechnung der Werte, indem die anderen Werte von den Summenwerten abgezogen werden. Die Summenzeile muss definiert sein. Ist bereits bei kleinen Datenmengen nicht performant, da eine zweite SQL-Abfrage erzeugt wird.) | |
Anzahl Rubriken (NumberOfCategories) | Standard Anzahl der Rubriken wenn „CalculationModeCategories“ 0 ist, muss der Wert 0 sein (Eingabefeld im AppDesigner deaktiviert); wenn der Wert 0 ist oder "Titel Zusammenfassungsrubrik" nicht definiert ist, kann die Anzahl der Rubriken vom Anwender nicht konfiguriert werden | |
Zeitbezogene Daten? (UsesTimeRelatedData) | Bei Ja können die zeitbezogenen Daten des Elementes auch als Basis für eine Kurve im „Trendvergleich“-Element vom Anwender gewählt und genutzt werden (Kennzahlen-Zusatzmodul). Hierzu muss die Datenquelle des Elements die notwendigen Daten für einen "Trendverlauf“ liefern. |
Zeitbezogene Daten
Bei den folgenden Diagramm-Elementen handelt es sich um zeitbezogene Daten:
- chrAngebotsAvg.Sage.Wawi.xml
- chrAngebotsWert.Sage.Wawi.xml
- chrAnzahlAngebote.Sage.Wawi.xml
- chrAnzahlAuftraege.Sage.Wawi.xml
- chrAnzahlBestell.Sage.Wawi.xml
- chrAnzahlRetour.Sage.Wawi.xml
- chrAnzahlStornorechn.Sage.Wawi.xml
- chrAuftragseingAvg.Sage.Wawi.xml
- chrAuftragsstorno.Sage.Wawi.xml
- chrAuftragsWert.Sage.Wawi.xml
- chrBestellungenAvg.Sage.Wawi.xml
- chrBestellungenWert.Sage.Wawi.xml
- chrBilanz.Sage.Rewe.xml
- chrEKRueckliefWert.Sage.Wawi.xml
- chrKontoPeriodeVergl.Sage.Rewe.xml
- chrLagerwert.Sage.Wawi.xml
- chrLiefertermine.Sage.Wawi.xml
- chrLiefertreue.Sage.Wawi.xml
- chrNeukundenAnzahl.Sage.Wawi.xml
- chrPeriodenRoherloes.Sage.Wawi.xml
- chrPeriodenUmsatz.Sage.Wawi.xml
- chrPeriodenUmsatzEK.Sage.Wawi.xml
- chrStornorechnungAvg.Sage.Wawi.xml
- chrStornoRechWert.Sage.Wawi.xml
- chrVKRueckliefWert.Sage.Wawi.xml
- chrZahlungsdauerDeb.Sage.Rewe.xml
- chrZahlungsdauerKred.Sage.Rewe.xml
Um ein Diagramm-Element in den Trendvergleich zu integrieren, muss die Eigenschaft "Zeitbezogene Daten?" gesetzt werden. Dadurch wird diese Diagramm zur Auswahl in dem Einfüge-Dialog des Trendvergleichs angeboten.
Die Datenquelle muss aber auch die Zeitachsendefinition berücksichtigen. Dafür muss in der Datenquelle mit dem $[Call(...)]-Platzhalter gearbeitet werden. Dabei wird der Zeitraum aus KHKMandantenPerioden ermittelt. Damit ist auch festgelegt, dass die Tabelle, aus der die Nutzdaten aggregiert werden sollen, mindestens ein Feld "Jahr" und ein Feld "Periode" enthalten muss. Es reicht aber auch die in der Sage 100 verwendete Kombination aus Jahr und Periode (z.B. Belegperiode, Buchungsperiode).
Die Datenquelle muss den "Mandantenzeitraum" wie folgt ermitteln:
(SELECT $[Call(Sagede.OfficeLine.Shared.RealTimeData.dll,Sagede.OfficeLine.Shared.RealTimeData.PlaceholderHandler.Zeitachse.FieldExpression,$[PartGuid],'KHKMandantenPerioden.Jahr','KHKMandantenPerioden.Periode','')] AS Zeitraum FROM KHKMandantenPerioden WHERE IsDate(KHKMandantenPerioden.Beginn) = 1 And IsDate(KHKMandantenPerioden.Ende) = 1 AND $[Call(Sagede.OfficeLine.Shared.RealTimeData.dll,Sagede.OfficeLine.Shared.RealTimeData.PlaceholderHandler.Zeitachse.WhereClauseExpression,$[PartGuid],'KHKMandantenPerioden.Jahr','KHKMandantenPerioden.Periode','')] AND Mandant = $[Mandant] GROUP BY $[Call(Sagede.OfficeLine.Shared.RealTimeData.dll,Sagede.OfficeLine.Shared.RealTimeData.PlaceholderHandler.Zeitachse.FieldExpression,$[PartGuid],'KHKMandantenPerioden.Jahr','KHKMandantenPerioden.Periode','')]) AS Mandantenzeitraum
Die Vergleichsdaten werden via $[Call(...)]-Platzhalter ermittelt und damit gejoint.
Der $[Call(...)]-Platzhalter erwartet folgende Parameter:
- Parameter 1: Sagede.OfficeLine.Shared.RealTimeData.dll
- Parameter 2: Sagede.OfficeLine.Shared.RealTimeData.PlaceholderHandler.Zeitachse.FieldExpression
- Parameter 3: $[PartGuid]
- Parameter 4: Feldname<Jahr>
- Parameter 5: Feldname<Periode>
- Parameter 6: Feldname <JahrPeriode> (Parameter 4 könnte dann auch leer übergeben werden)
Weiter muss das Feld "Zeitraum" in der Datenquelle angelegt werden:
- Feldname: Zeitraum
- Feldtitel: Zeitraum
- SQL-Abfrage: Mandantenzeitraum.Zeitraum
- Datentyp: Integer
Beispiele findet man in den Datenquellen der aufgelisteten Diagramm-Elemente.
Bereich | Eigenschaft | Wert |
---|---|---|
Darstellung | Höhe (Pixel) (Hight) | Standard-Höhe des Diagramm-Elementes (Wertebereich 80 bis 760) |
Minimum-Höhe (Pixel) (MinimumHight) | minimale Höhe des Diagramm-Elementes (Wertebereich 80 bis 300) | |
Diagrammtyp (ChartType) | Standard-Diagrammtyp:
| |
Balkendiagramm zulässig? (IsChartTypeBarAllowed) | Balkendiagramm zulässig? | |
Stapelbalkendiagramm zulässig? (IsChartTypeStackedBarAllowed) | Stapelbalkendiagramm zulässig? Es muss mehr als eine Wertespalte (Y-Wert) definiert werden. | |
Säulendiagramm zulässig? (IsChartTypeColumnAllowed) | Säulendiagramm zulässig? | |
Stapelsäulendiagramm zulässig? (IsChartTypeStackedColumnAllowed) | Stapelsäulendiagramm zulässig? Es muss mehr als eine Wertespalte (Y-Wert) definiert werden. | |
Liniendiagramm zulässig? (IsChartTypeLineAllowed) | Liniendiagramm zulässig? | |
Stapelliniendiagramm zulässig? (IsChartTypeStackedLineAllowed) | Stapelliniendiagramm zulässig? Es muss mehr als eine Wertespalte (Y-Wert) definiert werden. | |
Blasendiagramm zulässig? (IsChartTypeBubbleAllowed) | Blasendiagramm zulässig? | |
Kreisdiagramm zulässig? (IsChartTypePieAllowed) | Kreisdiagramm zulässig? Es ist nur eine Wertespalte (Y-Wert) erlaubt. | |
Ringdiagramm zulässig? (IsChartTypeDoughnutAllowed) | Ringdiagramm zulässig? Es ist nur eine Wertespalte (Y-Wert) erlaubt. | |
Wertespalten statt Datensätze auswerten? (IsValueOrientationHorizontal) | Wenn die Eigenschaft aktiviert wird, werden die Wertespalten anstelle der Datensätze ausgewertet, d.h. es darf nur einen Datensatz geben (meist auf Basis von Unterabfragen. Als Kategorien werden die Bezeichnungen der einzelnen Felder verwendet.) Die Ampel-Funktionalität wird nicht unterstützt. Unter „SQL-Top-Wert“ muss bei der Datenquelle 1 eingetragen sein. | |
Darstellungsart (Presentation) | Standard-Darstellungsart:
(bei Sage immer 1) | |
Titel Zusammenfassungsrubrik (TitleCategoryOthers) | Titel für die Zusammenfassungsrubrik "Andere“ | |
Titel Rubrikenachse (X) (TitleCategoryAxis) | Titel Rubrikenachse (X), soweit es für den Diagrammtyp relevant und erwünscht ist. | |
Titel Größenachse (Y) (TitleValueAxis) | Titel Größenachse (Y), soweit es für den Diagrammtyp relevant und erwünscht ist. | |
Titel Legende (TitleLegend) | Titel Legende, soweit es für den Diagrammtyp relevant und erwünscht ist. | |
Rasterlinien für Rubrikenachse (X) anzeigen? (ShowGridLinesCategoryAxis) | Standard Rasterlinien für Rubrikenachse (X) anzeigen, soweit es für den Diagrammtyp relevant ist. (bei Sage immer „Nein“) | |
Rasterlinien für Größenachste (Y) anzeigen? (ShowGridLinesValueAxis) | Standard Rasterlinien für Größenachse (Y) anzeigen, soweit es für den Diagrammtyp relevant ist. (bei Sage immer „Ja“) | |
Tabelliereffekt für Rubrikenachse (X) anzeigen? (ShowStripLinesCategoryAxis) | Standard Tabelliereffekt für Rubrikenachse (X) anzeigen, soweit es für den Diagrammtyp relevant ist. (bei Sage immer „Nein“) | |
Tabelliereffekt für Größenachse (Y) anzeigen? (ShowStripLinesValueAxis) | Standard Tabelliereffekt für Größenachse (Y) anzeigen, soweit es für den Diagrammtyp relevant ist. (bei Sage immer „Ja“) | |
Animierte Grafikanzeige? (IsAnimated) | Animierte Grafikanzeige aktivieren? (bei Sage immer „Ja“) | |
Datenanzeige abhängig von Schlüssel (DisplayDataOnKey) | Die Daten werden nur angezeigt, wenn der referenzierte Schlüssel ("Schlüsselfeld 1-9" der Datenquelle) ungleich 0 ist. Das Schlüsselfeld muss vom Datentyp Integer sein. | |
Anzeigetext bei Datenunterdrückung (DataReplacementMessage) | Meldung, die anstelle der Daten angezeigt wird, wenn diese aufgrund von "Datenanzeige abhängig von Schlüssel" nicht angezeigt werden (kurze Formulierung ohne Satzform und ohne Punkt). | |
Kontextmenü | Kontextmenü (FunctionSetPartnerId, FunctionSetPackageId, FunctionSetName) | Partner-Kennung, Lösungs-Kennung und Name für das Kontextmenü. |
Freizuschaltende Funktionen (FunctionSetActivationList) | Liste explizit freizuschaltender Kontextmenü-Funktionen (siehe auch die Eigenschaft "Explizite Freischaltung?" der Kontextmenüeinträge) | |
Aktualisierung | Aktualisierungsbenachrichtigungen (RefreshNotifications) | Liste der behandelten Aktualisierungsbenachrichtigungen ("Aktualisierungsbenachrichtigung“: sendet die Applikation eine Aktualisierungsbenachrichtigung, werden die Listen-elemente und Links, die diese Aktualisierungsbenachrichtigung enthalten, aktualisiert). Die spezielle Aktualisierungsbenachrichtigung "$[PartGuid]“ dient dazu, dass genau die Listen-Element-Instanz mit der entsprechenden Guid aktualisiert wird. Die Aktualisierung erfolgt aus VBA. Für die Aktualisierung einer Bildschirmauskunft ist der Funktionsaufruf gbSendAuskunftNotification.Sage.System zu verwenden. Der Name der Aktualisierungsbenachrichtigung wird in Parameter 1 des Kontextmenüeintrags eingetragen. Sollen Listen-Elementen aktualisiert werden, so ist der Funktionsaufruf gbSendControlCenterNotification. Der Funktionsaufruf muss in der eigenen Lösung angelegt werden. Der Name der Aktualisierungsbenachrichtigung (z.B. $[PartGuid]) wird in Parameter 1 des Kontextmenüeintrags eingetragen. Die Aktualisierung ist identisch mit dem Aktualisieren durch den entsprechenden Button im Element. Eine eventuell vorhandene Selektion wird entfernt. |
automatische Aktualisierung (Refresh) | Automatische Aktualisierung (in Minuten, Wertebereich: -1 bis 120):
Aus Performance-Gründen sollte man diese Eigenschaft sparsam einsetzen. | |
Lizenzierung | im Control-Center verfügbar? (IsAvailableForControlCenter) | Steht das Element zum Einfügen im Control-Center zur Verfügung? Nur dann wird es im Einfügedialog angeboten. |
für Rewe? (UseForRewe) | Steht das Element im Rechnungswesen zur Verfügung? | |
für Wawi? (UseForWawi) | Steht das Element in der Warenwirtschaft zur Verfügung? | |
für WebClient? (entfällt ab Version 9.0.2) (UseForWebClient) | Steht das Element im Web-Client zur Verfügung? | |
Land (Country) | Land (additiv, -1 = alle Länder): -1 oder jede beliebige Summe aus den Einzelwerten. Geprüft wird gegen das Land des aktuellen Mandanten. | |
Lizenz-Kürzel (LicenseTokens) | Applikationskürzel der zu prüfenden Lizenz (nur in Nicht-Sage-Lösungen verwendbar und änderbar) | |
Lizenz-Kürzel für Sage (SageLicenseTokens) | Applikationskürzel der zu prüfenden Lizenz (nur in Sage-Lösungen verwendbar und änderbar) |
Eigenschaften Diagramm-Element-Felder
Bereich | Eigenschaft | Wert |
---|---|---|
Allgemeines | Feldname (Name) | Name des Feldes |
Feldtyp (Type) | Feldtyp:
Einschränkungen:
| |
Nummer des Wertes (ValueNumber) | Bei Feldtyp "Rubrik (X-Achse)", "Wertespalte (Y-Achse)", "Z-Wert", "Wertespalten-Titel für Sonderfälle" und "Rubrikenachsen (X)-Titel für Sonderfälle" wird hier angegeben, um den wievielten Wert für X-, Y- bzw. Z-Achse es sich handelt; bei der X-Achse werden die Werte 2 bis 8 als Zusatzinfo im Tooltipp eingeblendet | |
Favorit in Listendarstellung? (IsFavorite) | Nur für Listen-Darstellung: Kontextmenü-Favorit:
Maximal 20 mal „kann Ja“ pro Element hinterlegt werden. | |
Feld-Attribute anhängen? (DoAppendTo) | Sollen Eigenschaften an das gleichnamige Feld des in "Anhängen an..." referenzierten Diagramm-Elementes angehängt werden? Einsatzzweck für Standardfelder:
Einsatzzweck für benutzerdefinierte Felder siehe Anhängen an… | |
Funktionalität (Functionality) | Funktionalität des Feldes:
| |
Darstellung | Spaltennummer in Listendarstellung (Position) | Standard Spaltennummer für die Darstellung einer Liste. Bei Feldern mit angehängten Feld-Attributen wird ein im Original-Feld definierter Wert 0 überschrieben (beim Anhängen aus mehreren Lösungen heraus aber nur für die Lösung mit der niedrigsten Partner-Lösungs-ID). Hierdurch können nicht positionierte Felder (auch benutzerdefinierte Felder) explizit positioniert werden. |
Breite in Listendarstellung (Pixel) (Width) | Standardbreite in Pixel für die Darstellung einer Liste (Wertebereich 10 bis 600) | |
Sichtbarkeit in Listendarstellung (Visibility) | Sichtbarkeit der Spalte für die Darstellung einer Liste:
Bei Feldern mit angehängten Feld-Attributen wird der Wert des Original-Feldes überschrieben (beim Anhängen aus mehreren Lösungen heraus aber nur für die Lösung mit der niedrigsten Partner-/Lösungs-ID). Die Sichtbarkeit "Versteckt" kann nicht überschrieben werden. | |
Ausrichtung in Listendarstellung (Alignment) | Ausrichtung für die Darstellung einer Liste:
Bei Sage werden immer die Standard-Werte verwendet, abhängig vom „Datentyp“ in der Datenquellen-Definition:
| |
Ampelfunktion | Ampelfunktion? (UseForTrafficLight) | Ampelfunktion? (d.h. bei Balken- und Säulendiagramm mit einer Wertespalte werden die Balken/Säulen entsprechend gefärbt) |
Tendenz Ampel (TrafficLightValuation) | Tendenz Ampel:
| |
Grenzwert Ampel-Grün (TrafficLightLimitGreen) | Standard für Grenzwert für Ampel-Grün Eingabe nur, wenn Tendenz Ampel "Grenzwerte, große Werte entsprechen Rot" oder "Grenzwerte, kleine Werte entsprechen Rot" ist, Eingabe ist dann erforderlich. | |
Grenzwert Ampel-Grün inklusive? (IsTrafficLightLimitGreenInclusive) | Ist der Grenzwert noch grün, d.h. inklusive? Eingabe nur, wenn Tendenz Ampel "Grenzwerte, große Werte entsprechen Rot" oder "Grenzwerte, kleine Werte entsprechen Rot" ist, Eingabe ist dann erforderlich. | |
Grenzwert Ampel-Gelb (TrafficLightLimitYellow) | Standard für Grenzwert für Ampel-Gelb Eingabe nur, wenn Tendenz Ampel "Grenzwerte, große Werte entsprechen Rot" oder "Grenzwerte, kleine Werte entsprechen Rot" ist, Eingabe ist dann erforderlich. | |
Grenzwert Ampel-Gelb inklusive? (IsTrafficLightLimitYellowInclusive) | Ist der Grenzwert noch gelb, d.h. inklusive? Eingabe nur, wenn Tendenz Ampel "Grenzwerte, große Werte entsprechen Rot" oder "Grenzwerte, kleine Werte entsprechen Rot" ist, Eingabe ist dann erforderlich. | |
Lizenzierung | Lizenz-Kürzel (LicenseTokens) | Applikationskürzel der zu prüfenden Lizenz (nur in Nicht-Sage-Lösungen verwendbar und änderbar) |
Lizenz-Kürzel für Sage (SageLicenseTokens) | Applikationskürzel der zu prüfenden Lizenz (nur in Sage-Lösungen verwendbar und änderbar) |