wiki-spaces-s1-pages-421298226-daten-edit-elemente.md
By Andreas Langmaack (Unlicensed)
Sept 28, 2023
12 min
Add a reaction
Daten-Edit-Elemente dienen zur Eingabe von Daten auf Basis von Datensätzen oder Datenstrukturen.
Mit diesen UI-Elementen können folgende Anwendungen in den Applikationen entwickelt werden:
Stammdaten (Stammdaten-Modus basierend auf Datensätze oder Stammdaten-Modus basierend auf Datenstrukturen)
Erfassungen (Erfassungs-Modus basierend auf Datenstrukturen)
|
Bereich
|
Eigenschaft
|
Wert
| | --- | --- | --- | |
Allgemeines
|
Name
|
Name des Elements (für Anwender nicht sichtbar)
| |
|
Anhängen an Daten-Edit-Element der Partner-Kennung
(AppendToPartnerId, AppendToPackageId)
|
Partner- und Lösungs-Kennung (bei Sage „Sage“) des gleichnamigen Daten-Edit-Elementes, an das diese Definition angehängt werden soll;
Einsatzzwecke:
Navigations-Elemente anhängen
Makro-Funktionen an Ereignisse des Daten-Edit-Elementes bzw. dessen Felder anhängen
Felder an das Daten-Edit-Element anhängen
Hinweis: Anhängen ist immer einstufig, Verkettungen sind nicht möglich
| |
|
Ersetzen
(Replace)
|
Festlegung, ob das Original beim Anhängen an ein Daten-Edit-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 Daten-Edit-Elemente nicht mehr beachtet. Soll angehangen werden, muss an das ersetzende Daten-Edit-Element angehangen werden.
Berechtigungen des Originals werden ebenfalls nicht mehr beachtet. Es sind eigene Berechtigungen zu definieren.
Wird ein Daten-Edit-Element mehrfach ersetzt, „gewinnt“ das ersetzende Daten-Edit-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 Elementes (für Anwender sichtbar)
| |
|
Beschreibung
(Description)
|
Kurze Dokumentation des Daten-Edit-Elementes
| |
|
Verwendungszweck
(Usage)
|
Der Verwendungszweck des Parts.
0 = "Erfassungs-Modus basierend auf Datenstrukturen". Die Logik wird mit Geschäftsprozessen gesteuert.
Beispiel: VK-Belegerfassung
10 = "Stammdaten-Modus basierend auf Datensätzen". Die Logik wird per Standard-CRUD-Methoden ausgeführt.
Beispiel: Adressenstamm
11 = "Stammdaten-Modus basierend auf Datenstrukturen". Der Client stellt die Bedienelemente (OK-Button, Navigations-Liste, etc.) wie beim normalen Stammdaten-Modus (Verwendungszweck 10) zur Verfügung, die Logik wird aber mit Geschäftsprozessen realisiert (analog zum konfigurierbaren Erfassungs-Modus (Verwendungszweck 0).
Beispiel: Druckprozesse der erweiterten Druckersteuerung
Hinweis: Dieser Modus sollte nur in Ausnahmefällen genutzt werden, da der normale Stammdaten-Modus einfacher umzusetzen und viel besser zu erweitern ist.
20 = "Stammdaten-Modus basierend auf Datenwert-Liste" (Data Value List). Die Logik wird per Standard-CRUD-Methoden ausgeführt.
Beispiel: Mandanten-Grundlagen
30 = "Bearbeiten-Dialog für das Multi-Daten-Edit-Element" zum Bearbeiten der aktuellen Zeile im Multi-Daten-Edit-Element (siehe auch Funktionsausruf 7 = Datensatz bearbeiten).
Hinweise:
Im Modus 0 wird das Löschen von Unter-Datensätzen in Multi-Data-Edit-Elementen durch das Bearbeiten-Recht des Daten-Edit-Elements gesteuert (Beispiel Belegerfassung: Positionen dürfen gelöscht werden, wenn das Bearbeitungsrecht des Belegerfassungsdialogs vorhanden ist).
In den Modi 10 und 11 wird es durch das Löschen-Recht des Daten-Edit-Elements gesteuert (Beispiel Adressen-Stammdaten: Kontokorrente dürfen nur gelöscht werden, wenn das Löschrecht des Adressen-Dialogs vorhanden ist).
| |
|
Pfad für Berechtigung (Desktop)
(PermissionPathDesktop)
|
Berechtigungspfad für die Berechtigungserzeugung des AppDesigners (bzw. den entsprechenden automatischen Prozess bei Sage). Die Eigenschaft entspricht dem Inhalt des Feldes „PermissionGroup“ der Tabelle „USysSecurityPermissions“.
(Ab Version 9.0)
Für Daten-Edit-Elemente, die aus MDEE als Detail-Dialog über "Bearbeiten" aufgerufen werden, muss das Attribut leer bleiben, da ansonsten unnötige Berechtigungs-Definitionen erzeugt werden.
| |
|
Dialoggruppe
(DialogGroup)
|
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 (ab Version 9.0.6)
| |
|
"Hook"-Name
(HookName)
|
Definition eines Sage-internen Namens zum Anhängen ("hooken") von hart codierten UI-Erweiterungen.
| |
|
Zur Laufzeit cachen?
(UseRuntimeCaching)
|
Aktivierung des Cachings zur Laufzeit für große Dialoge (insbesondere Belegerfassung, Buchungserfassung und Artikelstamm), um deren Ladezeit bei erneutem Aufruf während einer Sitzung zu reduzieren.
Achtung: Durch Aktivierung des Cachings für einen Dialog wird permanent Arbeitsspeicher verbraucht, der für andere Verwendung nicht mehr zur Verfügung steht. Die Einstellung muss daher auf wenige Dialoge begrenzt sein, um Arbeitsspeicher-Probleme zu vermeiden. In allen "normalen" Dialogen ist die Einstellung daher auf Nein zu stellen.
Der Cache kann zur Laufzeit im Administrator deaktiviert werden (Datenbank/Mandant/“Sage 100 Dialogeinstellungen“/“Dialoge im Speicher halten")
| |
|
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
|
Datensatz
(DataRecordPartnerId, DataRecordPackageId, DataRecordName)
|
Partner-Kennung, Lösungs-Kennung und Name für den verwendeten Datensatz
| |
|
Datenstruktur
(DataStructurePartnerId, DataStructurePackageId, DataStructureName)
|
Partner-Kennung, Lösungs-Kennung und Name für die verwendete Datenstruktur
| |
|
Datenwert-Liste
(DataValueListPartnerId, DataValueListPackageId, DataValueListName)
(ab Version 9.0)
|
Partner-Kennung, Lösungs-Kennung und Name für die verwendete Datenwertliste
| |
Darstellung
|
Höhe (Pixel)
(Height)
|
Standard-Höhe des Elementes in Pixel (Wertebereich 80 bis 760)
Wird bei Daten-Edit-Elementen, die zum Bearbeiten von Datensätzen aus Multi-Daten-Edit-Elementen aufgerufen werden, nicht verwendet (Funktionsausruf "Datensatz bearbeiten").
| |
|
Minimum-Höhe (Pixel)
(MinimuHeight)
|
Minimale Höhe in Pixel (Wertebereich 80 bis 300).
Wird bei Daten-Edit-Elementen, die zum Bearbeiten von Datensätzen aus Multi-Daten-Edit-Elementen aufgerufen werden, nicht verwendet (Funktionsausruf "Datensatz bearbeiten").
| |
Kontextmenü
|
Kontextmenü
(FunctionSetPartnerId, FunctionSetPackageId, FunctionSetName)
|
Partner-Kennung, Lösungs-Kennung und Name des verwendeten Kontextmenüs.
| |
|
Freizuschaltende Funktionen
(FunctionSetActivationList)
|
Liste explizit freizuschaltender Kontextmenü-Funktionen (siehe auch die Eigenschaft "Explizite Freischaltung?" der Kontextmenüeinträge)
| |
Navigations-Elemente
|
Navigations-Elemente
(NavigationPartReferences)
|
Liste von verfügbaren Navigations-Elementen (Partner-Kennung, Lösungs-Kennung und Name des Navigations-Elementes). Initial wird jeweils das erste definierte Navigations-Element angezeigt. Die Umschaltung erfolgt in der Applikation über ein vom System bereitgestellten Kontextmenüeintrag.
Bei angehängten Daten-Edit-Elementen (siehe „Anhängen an“) können weitere Navigations-Elemente angehängt werden, soweit das ursprüngliche Daten-Edit-Element mindestens ein Navigations-Element hat.
| |
|
Editiermodus
(NavigationPartEditMode)
|
Editierbarkeit des Navigations-Elementes:
0 = Nicht editierbar:
Alle Eingaben erfolgen im Eingabebereich des Daten-Edit-Elementes. Das Navigations-Element dient nur zur Auswahl des Datensatzes.
1 = Editierbar mit Detailbereich:
Die Eingaben können zusätzlich in den Spalten der aktuellen Zeile des Navigations-Elementes erfolgen. Dies gilt für alle gleichnamigen Felder/Spalten, bei denen die Datentypen übereinstimmen und bei denen die Sichtbarkeit nicht „versteckt“ ist. Im Tracelog-Protokoll gibt es einen Eintrag zur durchgeführten Kopplung (dort nach "Schreibende Liste: Protokoll der Koppelung" suchen).
2 = Editierbar ohne Detailbereich:
Wie Modus 1, zusätzlich wird der Eingabebereich des Daten-Edit-Elementes ausgeblendet. Zusammen mit dem Setzen des Attributs "Automatisch speichern?" auf True kann so ein Schnelländerungs-Dialog realisiert werden
| |
|
Automatisch speichern?
(NavigationPartAutoSave)
|
Sollen die Änderungen im Navigations-Element beim Verlassen des Datensatzes automatisch gespeichert werden?
| |
|
Anordnung
(NavigationPartArrangement)
|
Legt die Anordnung des Navigations-Elementes fest:
0 = Oberhalb des Editierbereiches
1 = Links neben dem Editierbereich
| |
|
Schlüsselzuordnung 1 für Navigations-Element
(PrimaryKey1)
|
Referenz auf „Schlüsselfeld 1-9“ der Datenquelle des Navigationselementes zur Verwendung als Primärschlüssel für den Datensatz (für die Funktionen Neu, Bearbeiten, Löschen und Datensatz kopieren in den Kontextmenüs).
Wird eine Datenstruktur verwendet, so ist hier der Bezug zur Codierung der Primärschlüssel herzustellen.
In der Regel stimmen die Nummer der Schlüsselfelder mit den Nummern in den Eigenschaften "Primärschlüssel" überein. Es ist aber nicht zwingend erforderlich. Zur Einfacheren Zuordnung (oder zur Überprüfung) kann ein visuelles Mapping der Schlüssel aufgerufen werden (Bearbeiten-Schaltfläche in den Eigenschaften):
Open
| |
|
Schlüsselzuordnung 2 für Navigations-Element
(PrimaryKey2)
|
Analog Schlüsselzuordnung 1 für Navigations-Element
| |
|
Schlüsselzuordnung 3 für Navigations-Element
(PrimaryKey2)
|
Analog Schlüsselzuordnung 1 für Navigations-Element
| |
|
Schlüsselzuordnung 4-9 für Navigations-Element
(PrimaryKey4-9) (ab Version 9.0)
|
Analog Schlüsselzuordnung 1 für Navigations-Element
| |
Ereignisse (Makros)
|
Beim Öffnen des Elementes
(OnOpenPart)
(Ab Version 9.0.1)
|
Makros, die beim Öffnen des Elementes aufgerufen werden sollen (Daten stehen noch keine zur Verfügung).
Wird typischerweise verwendet, um einmalig Daten-unabhängige Einstellungen zu lesen (Dialog-Variable mit zwei Unterstreichungszeichen ("__") am Anfang verwenden; diese stehen anschließend auch Client-seitig zur Verfügung, z.B. im "OnCurrent"-Makro).
Anwendungsbeispiele:
Speziell definierte Rechte prüfen
Prüfung, ob das Mutationsprotokoll im Admin eingeschaltet ist
| |
|
Beim Anzeigen
(OnCurrent)
|
Makros, die nach dem Anzeigen eines neuen oder vorhandenen Datensatzes aufgerufen werden (im Makro mittels "_DialogState" unterscheidbar).
Die Ausführung erfolgt nachdem alle Daten, auch die von enthaltenen Multi-Data-Edit-Elementen aktualisiert worden sind. Nach Ausführung des Makros werden die Beim Anzeigen-Ereignisse für alle Datensätze aller enthaltenen MDE-Elemente ausgelöst.
Ausnahme: Wird aus einem MDE-Element über den Funktionsaufruf 7 / "Datensatz bearbeiten" ein DE-Element aufgerufen, wird das Makro nicht ausgelöst, da es für den Datensatz bereits im MDE-Element aufgerufen wurde.
| |
|
Beim Schließen des Elementes
(OnClosePart)
|
Makros, die beim Schließen des Elementes aufgerufen werden sollen (die Daten stehen noch zur Verfügung)
Das Ereignis wird auf Client-Seite ausgelöst.
| |
|
Nach Verwerfen
(AfterCancel)
|
Makros, die nach dem Verwerfen der Änderung eines neuen oder vorhandenen Datensatzes aufgerufen werden (die geänderten Daten stehen noch zur Verfügung).
Das Ereignis wird auf Client-Seite ausgelöst.
| |
Lizenzierung
|
im Regiezentrum verfügbar?
(IsAvailableForMenu)
|
Soll das Daten-Edit-Element automatisch im Regiezentrum (Stammdaten/ Weitere Stammdaten) verfügbar sein? (entsprechende Berechtigung vorausgesetzt)
| |
|
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)
|
|
Bereich
|
Eigenschaft
|
Wert
| | --- | --- | --- | |
Allgemeines
|
Registername
(Name)
|
Eindeutiger Registername (für den Anwender nicht sichtbar)
| |
|
Feld-Attribute anhängen?
(DoAppendTo)
|
Sollen Eigenschaften an gleichnamige Felder dieses Registers des in "Anhängen an..." referenzierten Daten-Edit-Elementes angehängt werden?
Einsatzzweck:
Feldgruppen an Daten-Edit-Elemente-Register anhängen
Felder an Daten-Edit-Elemente-Feldgruppen anhängen
Makro-Funktionen an Ereignisse der Felder anhängen
etc.
| |
|
Titel
(Title)
|
Titel des Registers (für den Anwender sichtbar)
| |
Darstellung
|
Position
(Position)
|
Standard-Position des Registers.
Die Position 0 ist für ein internes, nicht sichtbares Register definiert. Die Feldgruppen und Felder dieses Registers werden ausschließlich für Sage-interne Hard-Codierungen genutzt.
|
|
Bereich
|
Eigenschaft
|
Wert
| | --- | --- | --- |
|
Bereich
|
Eigenschaft
|
Wert
| | --- | --- | --- | |
Allgemeines
|
Name Feldgruppe
(Name)
|
Eindeutiger Feldgruppenname (für den Anwender nicht sichtbar)
| |
|
Feld-Attribute anhängen?
(DoAppendTo)
|
Sollen Eigenschaften an gleichnamige Felder dieser Feldgruppe des in "Anhängen an..." referenzierten Daten-Edit-Elementes angehängt werden?
Einsatzzweck:
| |
|
Titel
(Title)
|
Titel der Feldgruppe (für den Anwender sichtbar)
| |
Darstellung
|
Position
(Position)
|
Standard-Position der Feldgruppe innerhalb des Registers
| |
|
Ebene
(Level)
|
Logische Ebene der Feldgruppe, die als Basis für die Darstellung verwendet wird (aktuell Platzierung im Haupt- oder Detailbereich)
0 = normale Feldgruppe
1 = Unter-Feldgruppe (Anordnung im Detailbereich)
Feldgruppen mit Ebene 1 werden nur in Daten-Edit-Elementen unterstützt, die einen Detailbereich haben (d.h. nur bei Verwendungszweck = Erfassung).
| |
|
Ebene basiert auf
(LevelBasedOn)
|
Leer oder virtueller Feldname eines im Daten-Edit-Element eingebundenen Multi-Daten-Edit-Elementes.
Definiert den Datenbezug der Feldgruppe. Im Normalfall sind dies die Daten des Daten-Edit-Elementes. Hier kann abweichend dazu Bezug auf ein Multi-Daten-Edit-Element genommen werden, dessen aktuelle Zeile als Datenbezug verwendet werden soll.
Im Fall des Multi-Daten-Edit-Elementes referenzieren die Feldnamen nicht die Datenstruktur, sondern die Felder des Multi-Daten-Edit-Elementes, wodurch z.B. auch dessen Makros übernommen werden können. Details siehe Beschreibung der Felder. Hierbei werden nur die Felder der Standard-Vorlage unterstützt.
Wird nur bei "Ebene" = 1 unterstützt und ändert dessen Bezug.
| |
|
Neue Zeile beginnen?
(StartNewRow)
|
Festlegung, ob die Feldgruppe zwangsweise in einer neuen Feldgruppen-Zeile, d.h. nicht hinter der vorherigen Feldgruppe, angeordnet werden soll
Wird nur bei "Ebene" = 0 unterstützt.
| |
|
Feldgruppen-Rahmen?
(ShowBorder)
|
Soll für die Feldgruppe ein Rahmen bzw. eine Überschrift (Darstellung abhängig vom UI-Layout) angezeigt werden? Wird diese Einstellung auf Nein gestellt, können Dialoge ohne optisch kenntlich gemachte Feldgruppen gestaltet werden.
Hinweis:
|
|
Bereich
|
Eigenschaft
|
Wert
| | --- | --- | --- | |
Allgemeines
|
Feldname
(Name)
|
Eindeutiger Feldname (referenziert Datensatz- bzw. Datenstruktur- bzw. bei "Ebene basiert auf"-Eigenschaft in der Feldgruppe Multi-Daten-Edit-Element-Feld)
bei "Typ“ 1: gültiger Feldname des durch "Datensatz" referenzierten Datensatzes bzw. der durch "Datenstruktur" referenzierten Datenstruktur bzw. des durch "Ebene basiert auf" definierten Multi-Daten-Edit-Elementes (dort nur Felder der Standard-Vorlage);
bei "Typ“ 2: virtueller Feldname (Bezug auf 1:N-Beziehung) des durch "Datensatz" referenzierten Datensatzes bzw. der durch "Datenstruktur" referenzierten Datenstruktur
bei "Typ“ 3: Nummer des "Schlüsselfeld“-Platzhalters, der als Wert verwendet werden soll
| |
|
Typ
(Type)
|
Typ:
1 = Eingabefeld gemäß Datensatz/Datenstruktur
2 = Unterelement für 1:n-Beziehung, d.h. Verweis auf Multi-Daten-Edit-Element. Die Darstellung erfolgt Spalten-übergreifend unter Nutzung der kompletten Breite. Andere Felder der gleichen Feldgruppe werden einspaltig dargestellt.
3 = fester Wert aus dem übergeordneten Element (readonly) (nur für Datensätze)
Eine Feldgruppe darf nur die Typen 1 und 3 oder alternativ Typ 2 enthalten (keine Mischung von normalen Feldern und Multi-Daten-Edit-Elementen).
| |
|
Soforthilfe
(EmbeddedHelp)
|
Hilfetext für das Feld, der z.B. als Tooltipp angezeigt wird
| |
|
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. keine Berechtigung vorliegt).
Bei "Ebene basiert auf" wird die Eigenschaft vom Multi-Daten-Edit-Element übernommen.
| |
|
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“).
Bei "Ebene basiert auf" wird die Eigenschaft vom Multi-Daten-Edit-Element übernommen.
| |
|
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)
Bei "Ebene basiert auf" wird die Eigenschaft vom Multi-Daten-Edit-Element übernommen.
| |
|
Feld-Attribute anhängen?
(DoAppendTo)
|
Sollen Eigenschaften an das gleichnamige Feld des in "Anhängen an..." referenzierten Daten-Edit-Elementes angehängt werden?
Einsatzzweck:
Makro-Funktionen an Ereignisse der Felder anhängen
Eigenschaften von Standard- oder benutzerdefinierten Feldern überschreiben/festlegen
| |
|
Unter-Element
(SubPartPartnerId, SubPartPackageId, SubPartName)
|
Partner-Kennung, Lösungs-Kennung und Name des Unter-Elementes.
| |
|
Funktionalität
(Functionality)
|
Funktionalität des Feldes:
0 = keine
1 = Telefonnummer
2 = E-Mail-Adresse
3 = Hyperlink
4 = Passwort
5 = IBAN-Kontonummer (Ab Version 9.0.4)
Bei "Ebene basiert auf" wird die Eigenschaft vom Multi-Daten-Edit-Element übernommen.
| |
|
Ladeverhalten
(LoadBehaviour)
|
Ladeverhalten eines Unterelements:
Synchrones Laden (Standard):
|
Collapse action bar
View all comments
Open Details Panel
Create page
Open Rovo Chat
Add a reaction
Anonymous
Apr 5, 2019
Gibt es die Möglichkeit die Breite für die Bezeichnung eines Feldes zu definieren?
Andreas Langmaack (Unlicensed)
Apr 8, 2019
Nein, gibt es nicht. Das System rendert die Elemente so, dass immer ca. 20 Zeichen angezeigt werden.
ReplyHide reply
Add a comment