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

BereichEigenschaftWert
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:

  • Suche einschränken (SQL-Where-Bedingung)
  • Weitere Tastaturkürzel anhängen (Suche erweitern, bei Überschneidungen gewinnt jeweils die erste Definition)

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:

  • 2 = Int32
  • 5 = String
  • 200 = TAN


Datentyp Schlüssel 2

(DataTypeKey2)

Datentyp für Schlüssel 2:

  • 0 = kein Schlüssel 2
  • 2 = Int32
  • 5 = String


Datentyp Schlüssel 3

(DataTypeKey3)

Datentyp für Schlüssel 3:

  • 0 = kein Schlüssel 3
  • 2 = Int32
  • 5 = String


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

  • "Tastaturkürzel 1"
  • "Tastaturkürzel 2"
  • "Titel“
  • "Feldname"
  • "Datentyp"
  • "Fremdtabelle"
  • "Fremdtabelle JOIN"
  • "Fremdtabelle WHERE-Bedingung"
  • "Fremdtabelle Felder"
    • "Feldname"
    • "Datentyp"
    • "Feldtitel"

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:

  • 2 = Int32
  • 3 = Decimal
  • 4 = Date
  • 5 = String

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.