Datenklassen
Datenklassen definieren die "Datenbeschaffung" (Suche und Auswahl), sowie kontextbezogene Aufrufe/ Verzweigungen (Kontextmenü) für Stammdaten. Datenklassen sind kein Metadatenobjekt, dass an einen Oberflächen-Element gebunden werden kann, sondern sie werden Datenfeldern zugeordnet. Datenklassen können folgenden Datenfeldern zugeordnet werden:
- Datensatzfelder
- Datenstrukturfelder
Eigenschaften der Datenklassen
Bereich | Eigenschaft | Wert | |
---|---|---|---|
Allgemeines | Name (Name) | Name der Datenklasse (für Anwender nicht sichtbar) | |
Titel (Title) | Titel der Datenklasse (für Anwender sichtbar) | ||
Anhängen an Datenklasse der Partner-Kennung (AppendToPartnerId, AppendToPackageId) | Partner- und Lösungs-Kennung (bei Sage „Sage“) der gleichnamigen Datenklasse, an das diese Definition angehängt werden soll. Einsatzzwecke:
Hinweis: Anhängen ist immer einstufig, Verkettungen sind nicht möglich | ||
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. | ||
Datentyp | Datentyp Schlüssel 1 (DataTypeKey) | Datentyp Schlüssel 1:
| |
Datentyp Schlüssel 2 (DataTypeKey2) | Datentyp für Schlüssel 2:
| ||
Datentyp Schlüssel 3 (DataTypeKey3) | Datentyp für Schlüssel 3:
| ||
Schlüssel für Formatierung (KeyForFormattingKey) | Numerischer Schlüssel für die Mandanteneigenschaft "Feldformatierung“ Die "Feldformatierung“ wird im Administrator definiert. Sie wird in der Tabelle "KHKMandanten“ gespeichert, wobei die Speicherung und die Referenzierung automatisch die Partner-ID der Lösung zusätzlich verwendet, d.h. die Datenklasse einer Lösung hat in "KHKMandanten“ ihren "eigenen Speicherbereich“) | ||
Schlüssel für zusätzliche Eingabekürzel (KeyForInputTokens) | Zusätzlicher numerischer Schlüssel analog zur Eigenschaft "Schlüssel für Formatierung". Es werden aber nur die dort in "Presets" und "Shortcuts" hinterlegten Kürzel gelesen. Die Auswertung erfolgt nur in eigens ausprogrammierten Anwendungsszenarien. Die so definierten Eingabekürzel bleiben im aktuellen Eingabefeld unverändert stehen (keine Auto-Vervollständigung und keine Interpretation eines Präfix; automatisch Umwandlung in Großbuchstaben) und gelten automatisch als gültig. Sie können dann per Abfrage in anschließenden Makros oder Geschäftsprozessen verwendet werden. Anwendungs-Szenario: In der Buchungserfassung wird hiermit z.B. über "SDIV" die Verzweigung in die Sachkontenaufteilung realisiert. | ||
Oberfläche | Schlüssel sichtbar? (IsKeyVisible) | Ist der Schlüssel sichtbar? (Ansonsten nur ermittelter Matchcode; wird z.B. für Adressen benötigt) | |
Daten-Such-Element Neu ab 9.0.5 (DataSearchPartReferences, DataSearchIndex) Entfallen ab 9.0.5 (DataSearchPartPartnerId, DataSearchPartPackageId, DataSearchPartName) | Liste von verfügbaren Daten-Such-Elementen (Partner-Kennung, Lösungs-Kennung und Name des Daten-Such-Elementes, Index des Elementes) oder Selektions-Elementen mit Verwendungszweck "Datenklassen-Suche". Initial wird jeweils das erste definierte Element angezeigt. Der Index muss beginnend mit 1, fortlaufend und ohne Lücken vergeben werden. | ||
Kontextmenü | Kontextmenü (FunctionSetPartnerId, FunctionSetPackageId, FunctionSetName) | Partner-Kennung, Lösungskennung und Name für das Kontextmenü. Die Schlüssel werden als "KeyField(1)“, "KeyField(2)“ und "KeyField(3)“ übergeben. | |
Freizuschaltende Funktionen (FunctionSetActivationList) | Liste explizit freizuschaltender Kontextmenü-Funktionen (siehe auch die Eigenschaft "Explizite Freischaltung?" der Kontextmenüeinträge) | ||
SQL | globale Datenbank verwenden? (UseGlobalDatabase) | Soll die globale Datenbank (anstelle der Mandanten-Datenbank) verwendet werden? | |
SQL-Tabellen (Tables) | Tabelle(n) (Komma-separiert) oder komplette JOIN inkl. ON | ||
SQL-Where-Bedingung (WhereClause) | SQL-Clause ohne Schlüssel (Schlüssel-Clause wird automatisch generiert) | ||
SQL-Feldname Schlüssel 1 (FieldNameKey) | SQL-Feldname für Schlüssel 1 | ||
SQL-Feldname Schlüssel 2 (FieldNameKey2) | SQL-Feldname für Schlüssel 2 | ||
SQL-Feldname Schlüssel 3 (FieldNameKey3) | SQL-Feldname für Schlüssel 3 | ||
SQL-Abfrage Matchcode Schlüssel 1 (SqlQueryMatchcode) | SQL-Abfrage des Matchcodes von Schlüssel 1 Angegeben werden muss entweder ein SQL-Feldname oder ein SQL-Ausdruck mit Aliasname (mittels "AS"). | ||
SQL-Abfrage Matchcode Schlüssel 2 (SqlQueryMatchcode2) | SQL-Abfrage des Matchcodes von Schlüssel 2 Angegeben werden muss entweder ein SQL-Feldname oder ein SQL-Ausdruck mit Aliasname (mittels "AS"). | ||
SQL-Abfrage Matchcode Schlüssel 3 (SqlQueryMatchcode3) | SQL-Abfrage des Matchcodes von Schlüssel 3 Angegeben werden muss entweder ein SQL-Feldname oder ein SQL-Ausdruck mit Aliasname (mittels "AS"). | ||
SQL-Abfrage für Aktiv-Filterung (SqlQueryActiveField) | SQL-Einschränkung für die Intellisense-Suche (wird mit "AND" an die WHERE-Clause angehängt), welche für die Einschränkung auf aktive Stammdatensätze verwendet wird. | ||
Tastaturkürzel | Lokatoren (Locators) | Liste mit
zur Definition eines Tastenkürzels, eines optionalen zweiten Tastenkürzels, eines entsprechenden Spaltentitels für die Anzeige, der entsprechenden SQL-Abfrage, des entsprechenden Datentyps und optional der Angaben zur Suche in einer Fremdtabelle. Wird zur Laufzeit der Anwendung bei der Eingabe das Suchtrennzeichen ("@") und nachfolgend einer der Tastaturkürzel eingegeben, wird anstelle der normalen Suche über das Feld, das durch "Feldname" angegeben ist, gesucht. Beispiel: EAN-Nummern-Suche für einen Artikel mit "123456@E" | "Tastaturkürzel 1" und "Tastaturkürzel 2" müssen unterschiedlich sein, wobei "Tastaturkürzel 2" optional ist; Zulässige Werte für Datentyp sind:
Im Rahmen der Auto-Lokatoren (Verwendung ohne "@"-Syntax) wird nur der Datentyp String unterstützt. Wird eine Fremdtabelle angegeben, müssen auch der entsprechende JOIN und die WHERE-Bedingung angegeben werden. Wird keine Fremdtabelle angegeben, darf auch kein JOIN und keine WHERE-Bedingung angegeben werden. Die WHERE-Bedingung muss den Platzhalter "$[SearchValue]" enthalten, der durch den (bereits korrekt formatierten) Wert ersetzt wird, nach dem gesucht werden soll. |