Selektionselemente

Selektionselemente können folgenden Metadatenobjekten zugeordnet werden:

  • Listen-Elemente
  • Master-Detail-Elemente
  • Berichte

Werden Selektionselemente Listen-Elementen zugeordnet, dann wird der Selektionsdialog als Inplace-Selektion über der Liste dargestellt. Es ist dann kein eigenständiger Dialog. Eine Gruppierung der Felder kann aber ebenfalls über Register erfolgen, die dann aber nicht angezeigt werden.

Eigenschaften von Selektionselementen

BereichEigenschaftWert
Allgemeines

Name

(Name)

Name des Elements (für Anwender nicht sichtbar)

Register werden in Assistenten als Seiten dargestellt, zwischen denen mit Weiter/Zurück hin- und hergewechselt werden kann. Durch Ausblenden aller Felder einer Seite können Seiten komplett ausgeblendet werden, wobei aber zwei Bedingungen bestehen:

  • Es muss sichergestellt sein, dass eine Seite nicht durch Ausblenden der nachfolgenden Seiten zur letzten Seite wird, während der Anwender sich schon dort befindet. Genauso dürfen von einer "aktiven letzten Seite" keine Folgeseiten eingeblendet werden.
  • Am einfachsten ist es, eine feste letzte Seite zu haben, die z.B. einen Überblick über die zu startende Aktion gibt.
  • Aus-Einblenden von Feldern ist immer nur auf den nachfolgenden Seiten erlaubt (also nicht "rückwärts").

Anhängen an Selektions-Element der Partner-Kennung

(AppendToPartnerId)

Anhängen an Selektions-Element der Lösungs-Kennung

(AppendToPackageId)

(Ab Version 9.0.1)

Partner- und Lösungs-Kennung (bei Sage „Sage“) des gleichnamigen Selektions-Elementes, an das diese Definition angehängt werden soll;

Einsatzzwecke:

  • Makro-Funktionen an Ereignisse des Selektions-Elementes bzw. dessen Register bzw. dessen Felder anhängen
  • Register an das Selektions-Element anhängen
  • Felder an das Selektions-Element anhängen

Hinweis: Anhängen ist immer einstufig, Verkettungen sind nicht möglich



Ersetzen

(Replace)


(Ab Version 9.0.1)

Festlegung, ob das Original beim Anhängen an ein Selektions-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 Selektions-Elemente nicht mehr beachtet. Soll angehangen werden, muss an das ersetzende Selektions-Element angehangen werden.

Wird ein Selektions-Element mehrfach ersetzt, „gewinnt“ das ersetzende Selektions-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 Elements (für Anwender sichtbar)


Beschreibung

(Description)

Kurze Dokumentation des Selektionselementes


Verwendungszweck

(Usage)

(ab Version 9.0)

Verwendungszweck des Elementes:

  • 0 = Selektions-Dialog (für Auskünfte/Berichte)
  • 1 = "Inplace"-Selektion (in einem Listen-Element)
  • 2 = Popup-Dialog (ungebundene Dateneingabe)
  • 3 = Assistenten-Dialog
  • 4 = Popup-Dialog (nur Datenanzeige) Ab Version 9.0.4
  • 5 = Datenklassen-Suche Ab Version 9.0.5
  • 6 = Popup-Dialog (zweispaltig, ungebundene Dateneingabe) Ab Version 9.0.6

Bei Verwendungszweck 4 (Popup-Daialog (nur Datenanzeige)) müssen alle Felder im Dialog als schreibgeschützt (IsReadOnly) definiert sein.

Bei Verwendungszweck 5 muss pro Datenklassen-Schlüssel-Feld der aufrufenden Datenklasse je ein Selektions-Element-Feld mit Namen "KeyField<nummer des datenklassen-schlüssels>" definiert werden.

Bei Verwendungszweck 6 werden Register als Gruppen angezeigt.


Pfad für Berechtigung (Desktop)

(PermissionPathDesktop)

Ab Version 9.0.3

Berechtigungspfad für die Berechtigungserzeugung des AppDesigners. Das Attribut entspricht dem Inhalt des Feldes „PermissionGroup“ der Tabelle „USysSecurityPermissions“.

Für folgende Usage (Verwendungszweck) unterstützt:

  • 2 = Popup-Dialog (ungebundene Dateneingabe)
  • 3 = Assistenten-Dialog
  • 4 = Popup-Dialog (nur Datenanzeige)
  • 6 = Popup-Dialog (zweispaltig, ungebundene Dateneingabe)




Dialoggruppe

(DialogGroup)

Ab Version 9.0.6

Die Dialoggruppe legt die Gruppierung fest, in der das Element angezeigt werden soll. Diese wird beim Export und Import von Konfigurationen genutzt:

  • 1 = Auskünfte
  • 2 = Stammdaten
  • 3 = Erfassungen
  • 4 = Suchen
  • 5 = Assistenten

Bei Verwendungszweck "Assistenten-Dialog" sollte hier "Assistenten" gewählt werden, wenn der Assistent nicht speziell einem Dialog mit einer anderen Verwendung zugeordnet ist.

Ja bei Usage "Assistenten-Dialog"), sonst Nein




"Hook"-Name

(HookName)

Definition eines Sage-internen Namens zum Anhängen ("hooken") von hart codierten UI-Erweiterungen.

Alternativer Text für 1. Schaltfläche

(TitleButton1)

(ab Version 9.0)

Alternativer Text für erste Schaltfläche, wenn "Usage" = 2 (Popup-Dialog) oder (ab 9.0.6) "Usage" = 3 (Assistenten-Dialog)

Zulässige Werte:

  • "Drucken"
  • "Kopieren"
  • "Speichern" (nur, wenn wirklich sofort gespeichert wird, sonst "Übernehmen" verwenden)
  • "Starten"
  • "Übernehmen" (nur, wenn nicht sofort gespeichert wird, sonst "Speichern" verwenden)

Für die Übersetzung in Fremdsprachen gibt es keine Einschränkung.


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

Datenstruktur

(DataStructurePartnerId, DataStructurePackageId, DataStructureName)

Partner-Kennung, Lösungs-Kennung und Name für die verwendete Datenstruktur


Nur manueller Aufruf?

(ShowOnlyWhenCalled)

Wird das Flag gesetzt, erfolgt die Selektion nur durch manuellen Aufruf durch den Anwender. Die Pflicht-Felder müssen in diesem Fall entsprechende Standard-Werte haben (andernfalls erscheint im Control-Center eine Schaltfläche „Selektion“ und in allen anderen Fällen wird ein Fehler ausgelöst).

Kontextmenü

Kontextmenü

(FunctionSetPartnerId, FunctionSetPackageId, FunctionSetName)

Partner-Kennung, Lösungs-Kennung und Name der Kontextmenü-Definition

Für Selektions-Elemente mit der folgenden Usage gibt es keine Darstellung des Menüs im Dialog (kein "Hamburger"-Icon, keine Schaltflächen-Leiste):

  • 0 = Selektions-Dialog (für Auskünfte/Berichte)
  • 1 = "Inplace"-Selektion (in einem Listen-Element)
  • 3 = Assistenten-Dialog
  • 5 = Datenklassen-Suche

Die Funktionen können für Schaltflächen an Feldern (siehe Datenfeld-Attribut "FunctionName") und für den Makro-Befehl "AufrufenKontextMenu" genutzt werden.

Ereignisse (Makros)

Beim Anzeigen

(OnCurrent)

Makros, die beim Öffnen und beim Zurücksetzen des Elementes aufgerufen werden.

Dieses Ereignis hat einen ähnlichen Zweck wie das vergleichbare "OnCurrent"-Ereignis des Daten-Edit Elementes. Der Unterschied ist, dass das Selektions-Element keinen "Datensatz" hat, der wechseln kann, das Ereignis also nur einmal auftritt.

Hinweise:

  • In einer Auskunft (in einem Master-Detail Element): Bei wiederholten Aufrufen innerhalb einer Auskunft bleiben die Werte im Dialog erhalten. Das "OnCurrent"-Ereignis tritt nicht erneut auf.
  • In einem Listen-Element zur "inplace"-Selektion: Die Ausführung erfolgt bevor die Liste Ihre Daten lädt.
  • In einem Daten-Edit-Element im Inplace-Selections-Element eines Navigations-Elementes: Die Reihenfolge, in der dieses Ereignis und das erste "OnCurrent"-Ereignis des Daten-Edit-Elementes auftritt, ist unbestimmt. Die Elemente arbeiben weitgehend unabhängig voneinander.

Bei Ausführung

(OnExecute)

Makros, die vor dem Start der nachfolgenden Aktion aufgerufen werden (Rückgabe eines Cancel-Flags und einer Cancel-Meldung)

(ab Version 9.0) Das Ereignis wird für Assistenten ("Verwendungszweck" = 3) durch die Schaltfläche „Start“ ausgeführt.

Lizenzierung

für Rewe?

(UseForRewe)

Bei Rewe verwenden?

für Wawi?

(UseForWawi)

Bei Wawi verwenden?

Land

(Country)

Land (additiv, -1 = alle Länder):

  • 1 = Deutschland
  • 2 = Schweiz
  • 4 = Österreich
  • 32 = international

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 der Selektionselement-Registerkarte

BereichEigenschaftWert
Allgemeines

Registername

(Name)

Eindeutiger Registername (für den Anwender nicht sichtbar)


Feld-Attribute anhängen?

(DoAppendTo)

(Ab Version 9.0.1)

Sollen Attribute an gleichnamige Felder dieses Registers des in "Anhängen an..." referenzierten Selektions-Elementes angehängt werden?

Einsatzzweck:

  • Felder an Selektions-Element-Register anhängen
  • Makro-Funktionen an Ereignisse der Felder anhängen
  • etc.

Bei "False" wird das Register gemäß Attribut "AppendBeforeRegister" als neues Register angehängt.


Einfügen vor Register

(AppendBeforeRegister)

(Ab Version 9.0.1)

Name des Registers, vor dem das aktuelle Register eingefügt werden soll (nur bei "DoAppendTo"=False). Wird kein Register angegeben oder existiert kein Register des angegebenen Namens, wird hinten angefügt.

Titel

(Title)

Titel des Registers (für den Anwender sichtbar, allerdings nicht bei Zuordnung zu Listen-Elementen)


Neue Zeile beginnen?

(StartNewRow)

(Ab Version 9.0.6)

Festlegung für zweispaltige Selektions-Elemente, ob die Feldgruppe, die über dieses Register definiert wird, zwangsweise in einer neuen Feldgruppen-Zeile, d.h. nicht hinter der vorherigen Feldgruppe, angeordnet werden soll.

Wird nur bei Verwendungszweck (Usage) 6 (Popup-Dialog (zweispaltig, ungebundene Dateneingabe)) des Selektions-Elementes verwendet

Darstellung

Position

(Positiion)

Standard-Position des Registers

Ereignisse

(Makros)

(ab Version 9.0)

Beim Anzeigen
(OnCurrent)

Makros, die beim Registerwechsel in einem Assistenten-Dialog (Selektions-Element-Attribut "Verwendungszweck"=3) ausgeführt werden.​

Bei Ausführung


(OnExecute)
Makros, die durch die Schaltfläche „Weiter“ in einem Assistenten-Dialog (Selektions-Element-Attribut "Verwendungszweck"=3) ausgeführt werden.

Eigenschaften der Selektionselement-Felder

BereichEigenschaftWert
Allgemeines

Feldname

(Name)

Gültiger Feldname der durch „Datenstruktur-Name“ referenzierten Datenstruktur


Typ

(Type)

Typ:

  • 1 = Eingabefeld gemäß Datensatz/Datenstruktur
  • 2 = Listen-Unter-Element zur Mehrfach-Auswahl (d.h. Verweis auf Listen-Element)
  • 4 = Hilfetext (Standardwert des Datensatzes bzw. der Datenstruktur wird als Text verwendet) (ab Version 9.0

Der Hilfetext kann durch das Anhängen einer URL als Hyperlink dargestellt werden. Hierfür muss im Attribut "DefaultValue" des Feldes ein "|" und eine URL an den anzuzeigenden Text angehängt werden (Änderungen des Textes und der URL erfolgen durch Zuweisungen an den Feldwert). Beispiel: "Dies ist ein Link zu Sage.|http://www.sage.com"


  • 5 = Multi-Daten-Edit-Unter-Element (d.h. Verweis auf Multi-Daten-Edit-Element) (ab Version 9.0)

Feld-Attribute anhängen?

(DoAppendTo)

(Ab Version 9.0.1)

Sollen Attribute an das gleichnamige Feld des angehängten Selektions-Elementes angehängt werden?

Einsatzzweck:

  • Makro-Funktionen an Ereignisse der Felder anhängen

Bei "False" wird das Feld gemäß Attribut "AppendBeforeField" als neues Feld angehängt.


Einfügen vor Feld

(AppendBeforeField)


(Ab Version 9.0.1)

Name des Feldes, vor dem das aktuelle Feld eingefügt werden soll (nur bei "DoAppendTo"=False). Wird kein Feld angegeben oder existiert kein Feld des angegebenen Namens, wird hinten angefügt.

Wird vor einem bestehenden Feld eingefügt, erfolgt dies auf dessen Register. Das Register des einzufügenden Feldes wird nicht beachtet.


Funktionalität

(Functionality)

Funktionalität des Feldes:

  • 0 = keine
  • 1 = Telefonnummer
  • 2 = E-Mail-Adresse
  • 3 = Hyperlink
  • 4 = Passwort
    • Die Übertragung von Passworten zum Client ist nicht erlaubt. Vom Server darf nur ein leeres Passwort für "Passwort noch nicht definiert" oder ASCII-9 (Tab) für "Passwort definiert" übertragen werden.
  • 5 = IBAN-Kontonummer (Ab Version 9.0.4)


Funktionsname

(FunctionName)

Definiert, dass das Feld einen Funktionsaufruf erhält (Schaltfläche) und gibt den Namen der aufzurufenden Funktion (des aktuellen Kontextmenüs) an.

Ist die Funktion inaktiv, wird die Schaltfläche ebenfalls inaktiv und zeigt beim Überfahren mit der Maus im Tooltip an, weshalb sie inaktiv ist (anhand von "Tooltipp im deaktivierten Zustand" oder automatisch, wenn z.B. kein Berechtigung vorliegt).


Name der Bilddatei für Funktion

(FunctionImageName)

Name des für die durch "Funktionsname" definierte Schaltfläche zu verwendenden Bildes (Verweis auf ein Bild in „Shared\Bitmaps\UI“)

Tooltipp für die Funktion

(FunctionTooltipp)

Tooltipp-Text für die Funktions-Schaltfläche (soll nur in Ausnahmefällen genutzt werden, um die Zahl der Tooltipps an dieser Stelle gering zu halten).

Automatisch aktualisieren?

(DoAutoRefresh)

Gibt an, ob Änderungen des Feld-Wertes einen sofortigen Refresh des mit dem Selektions-Element verbundenen Listen-Elementes bewirken sollen.

Die Eigenschaft wird nur im Zusammenhang mit einem Listen-Element, dass das Selektions-Element "inplace" nutzt, verwendet.


Unterelement

(SubPartPartnerId, SubPartPackageId, SubPartName)

Partner-Kennung, Lösungs-Kennung und Name des Unterelementes, wenn der "Typ" = "Unterelement" ist.
Darstellung

Position

(Positiion)

Position des Feldes innerhalb des Registers.


Sichtbarkeit

(Visibility)

Sichtbarkeit des Felds:

  • 0 = Eingeblendet
  • 1 = Ausgeblendet
  • 2 = Versteckt

Format

(FormatHelpText) Ab Version 9.0.4

Format eines Hilfetext-Feldes:

  • 0 = Text
  • 1 = Überschrift
    • Die Darstellung erfolgt in Fettschrift (nur für Hilfetext-Felder in Assistenten-Dialogen erlaubt).
  • 2 = Abstand (d.h. "Leerzeile")
    • Eine Referenz auf ein Datenstrukturfeld ist nicht nötig.

Zeilenanzahl

(NumberOfLines)

Zeilenzahl für mehrzeilige Eingabefelder bei Texten (die Höhe wird technisch so realisiert, dass das Feld ein Vielfaches der Höhe anderer Felder inkl. deren Abstände ist).

Bei Unter-Elementen zur Auswahl (Bezug auf Listen-Element) wird hier über die Zeilenzahl die minimale Höhe des Elementes definiert. Ein zu hoher Wert führt zu überflüssigen Scrollbalken, auch wenn das Listen-Element keine Datensätze enthält.

Ereignisse (Makros)

Nach Aktualisierung

(AfterChange)

Makros zur UI-Steuerung (z.B. Aktivieren/Deaktivieren von Feldern), die nur auf dem Client ausgeführt werden. Sie dürfen daher nicht für Validierungszwecke eingesetzt werden, da sonst Server-seitig keine Validierung erfolgen würde.

Das Ereignis wird bei Änderungen wie folgt aufgerufen:

  • in Eingabefeldern für Texte, Zahlen, etc. beim Fokusverlust
  • bei Kombinationsfeldern und Checkboxen sofort
  • bei programmgesteuerten Änderungen, beispielsweise nach dem Makro-Befehl „FestlegenFeldwert“

Nach Setzen

(AfterSet)

Makros, die darauf reagieren, wenn ein Wert im Dialog gesetzt wurde (Öffnen des Dialogs, manuelle Änderung durch den Benutzer oder per Makro-Befehl).

Sie werden zum Setzen des UI-Status verwendet. D.h. ein anderes Feld ist abhängig von diesem (in)aktiv, (nicht) schreibgeschützt, (un)sichtbar. Das Ereignis darf nicht zum Setzen anderer Feldwerte benutzt werden.

Hinweise zur Ausführung:

  • Bei "Usage" "3 = Assistenten-Dialog“ werden beim Betreten einer Assistenten-Seite (Register) alle "AfterSet"-Ereignisse der enthaltenen Felder ausgeführt und dann das "OnCurrent"-Ereignis des Registers.
  • Bei anderen "Usage"-Werten werden beim ersten Öffnen des Dialoges die "AfterSet"-Ereignisse aller Felder ausgeführt und dann das "OnCurrent"-Ereignis des Selektions-Elementes.
  • Bei jeder Feldänderung wird das Ereignis anschließend zum "AfterChange"-Ereignis ausgeführt.
  • Die Ausführungsreihenfolge ist beim Setzen mehrerer Feldwerte gleichzeitig (z.B. beim Öffnen) nicht garantiert. Soll daher auf andere Felder zugegriffen werden, muss "OnCurrent" verwendet werden.

Vor Suche

(BeforeSearch)

Makros, die vor dem Start der Suche aufgerufen werden, um dort den Adhoc-Filter vorzubelegen.


Nach Suche

(AfterSearch)

Makros, die nach Beendigung der Suche und bevor das Suchergebnis an die Anwendung zurück gegeben wird aufgerufen werden.

Wird das Makro abgebrochen, wird auch die Weitergabe an die Anwendung abgebrochen.

Lizenzierung

nicht für Rewe?

(HideForRewe?)

Feld bei Einsatz in Rewe komplett ausblenden

nicht für Wawi?

(HideForWawi?)

Feld bei Einsatz in Wawi komplett ausblenden

Land

(Country)

Land (additiv, -1 = alle Länder):

  • 1 = Deutschland
  • 2 = Schweiz
  • 4 = Österreich
  • 32 = international

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)

Die Ereignisse in diesem Bereich dürfen nicht für Validierungen verwendet werden, da sie Server-seitig nicht erneut geprüft werden. Ist hier doch eine Validierung erforderlich, muss sie in den Ereignisse der Datenstruktur wiederholt werden.