Version 9.0.5

AppDesigner-Verbesserungen
Beim Import von Lösungen, welche nicht zur aktuellen Metadaten-Revision passen, wird jetzt in der Fehlermeldung die Ziel- sowie Quell-Metadaten-Revision angezeigt.


Zusätzlich zum Deaktivieren ganzer Metadaten-Lösungen können nun auch einzelne Elemente deaktiviert werden. Im AppDesigner wird das deaktivierte Elemente mit einem nachgestellten „(deaktiviert)“ kenntlich gemacht. Wird ein deaktiviertes Element mit der Lösung exportiert, ist es auch auf dem Zielsystem deaktiviert.


Bei Eingabe/Suche wird auch in Titeln (zum Beispiel „Rechnungsaus“ findet rptRABuch.Sag.Wawi) und Texten (zum Beispiel „kann nicht gelöscht“ bei der Erfassung einer Datentyp Ergänzung findet die String-Ressource „SteuerklassenGebieteFehler.0.Sage.System“).


Über die Einstellung „Verschieben von Fenstern im Arbeitsbereich erlauben“ kann man die Designer-Fenster gegen unbeabsichtigtes Verschieben sperren. Default ist hier wie bisher „Erlauben“.


Das mit Einführung des „Dateneigenschaften“-Reiters für Elemente entfallene Pinnen des Eigenschaften-Fensters ist jetzt wieder möglich. Hierbei werden beide Reiter immer gleichzeitig behandelt.


Die Statusbar des AppDesigners liefert jetzt zusätzliche Informationen: Sprache der Metadaten, Revision der Metadaten, Datenbankbezeichnung, Nummer des Mandanten, Benutzer (leer bei NT-Anmeldung) sowie den Status des AppDesigners.


Im Makro-Editor gibt es nur noch ein Kontextmenü, welches einfacher über das Klicken auf den „Zeilenmarkierer“ aufzurufen ist. Das Menü für Bedingungen von Haltepunkten wurde hierzu in das Hauptkontextmenü übernommen.


Der Ausdruckseditor verwendet jetzt Pascal-Case in Ausdrücken. Weiterhin wurde die Intellisense verbessert und ein Automatischer Umbruch für AufrufenVBA-Parameter 2 hinzugefügt. Jede Zeile im Ausdruckseditor wird ein Eintrag in der Semikolon separierten Liste.


Neu hinzu gekommen sind Druck- und Exportmöglichkeiten in diversen Listenansichten im Arbeitsbereich, Referenzen und Meldungen sowie dem ebenfalls neuen Inhaltsverzeichnis von Lösungen. Das Inhaltsverzeichnung einer Lösung kann über das Kontextmenü oder das Ribbon aufgerufen werden.

 

Kommentar-Attribut in Metadaten
Zur Dokumentation der (Haupt-)Metadaten-Objekte gibt es nun ein Attribut „Kommentar“ („Comment“). Dieses Attribut wird beim Export der Lösung mit exportiert.

 

Makro-Bausteine
Makrobausteine erlauben das Auslagern von an mehreren Stellen identisch definierten Makrobefehlen an eine zentrale Stelle (Grundlagen\Makro-Bausteine). Der Aufruf der Makro-Bausteine erfolgt über den Makro-Befehl „Makro-Baustein“ und dem vollständigen Namen des Marko-Bausteins.

 

Berechtigungen von Kontextmenü-Einträgen auf Master-Detail-Elemente (Auskünfte) ausgeweitet
Für Kontextmenü-Einträge kann optional eine Berechtigung definiert werden, welche dann für den Aufruf des jeweiligen Kontextmenü-Eintrags erforderlich ist. Zusätzlich zu Kontextmenüs in Daten-Edit-Elementen, Navigations-Elementen von Daten-Edit-Elementen, Selektions-Elementen in Navigation-Elementen von Daten-Edit-Elementen ist die optionale Berechtigung jetzt auch in Master-/Detail-Elementen (Auskünften) verfügbar.


Verwendung einzelner Zeilen im Listen-Element
Mithilfe des neuen Metadaten-Attributs „Verwendung durch Feld steuern“ („UsageDefinedByField“) kann die Darstellung bzw. Funktionalität von Zeilen im Listen-Element durch ein Feld gesteuert werden. Je nach Wert des Felds verhält sich die Zeile im Listen-Element wie folgt:

  • 0 = Standard

  • 1 = Nur Lesen
    o Die Zeilenwerte werden lesbar grau dargestellt und die Zeile kann selektiert werden
    o Kontextmenü-Einträge können für die Zeile aufgerufen werden, was aber dort blockiert werden kann

  • 2 = Inaktiv
    o Die Zeilenwerte werden hellgrau dargestellt und die Zeile kann nicht selektiert werden
    o Kontextmenü-Einträge können nicht für die Zeile aufgerufen werden

Laufende Summe im Listenelement
Durch das neue Metadaten-Attribut „Laufende Summe für Feld“ („RunningTotalSourceField“) in der Datenquelle kann im Listen-Element eine Spalte angezeigt werden, in welcher die laufende Summe einer anderen Spalte angezeigt wird. In einer Spalte ohne SQL-Abfrage wird dazu in „Laufende Summe für Feld“ der Feldname des Feldes hinterlegt, für die laufende Summe gebildet werden soll. Hier dürfen nur Spalten vom Datentyp Decimal oder Integer ausgewählt werden.


Aktivierung/Deaktivierung von Kontextmenü-Einträgen
Die bisherigen Metadaten-Attribute „Mehrfach-Auswahl zulässig?“, „Aktivierung in neuen Zeilen?“ und „Unsichtbar in Bearbeiten-Dialog“ des Kontextmenü-Eintrags wurden zu „Aktivierung durch“ zusammengefasst.
Das Metadaten-Attribut „Inaktiv, wenn Daten geändert?“ ist entfallen. Stattdessen kann in „Festlegung Aktivierung durch Feld oder Ausdruck“ der Ausdruck „NOT [_IsDirty]“ verwendet werden.
o Fortschrittsanzeige in Metadaten-Lösungen
Für länger laufende AppServer-Prozesse wie Daten-Importe wird nun eine Fortschrittsanzeige angezeigt für Makro-Befehl „AufrufenDLL mit True in Parameter 4 (asynchrone Ausführung) und Kontextmenüaufrufe und Marko-Befehl „AufrufenKontextMenu“ von Funktionsservice 15 (Datenservice) mit True in Parameter 4 (asynchrone Ausführung).
Die neue Fortschrittsanzeige erscheint immer beim Aufruf von asynchronen Prozessen. Sofern der Geschäftsprozess keine entsprechenden Werte für die Fortschrittsanzeigte liefert, wird nach 2 Sekunden auf einen Laufbalken („Marquee“) umgeschaltet.
Optional kann auch eine Abbrechen-Schaltfläche anzeigt werden. Hierzu ist jeweils Parameter 5 auf True zu setzen. Für die Abarbeitung von Abbrechen ist der Geschäftsprozess verantwortlich.


Validierung abhängiger Felder in Datensatz, Datenstruktur und Datenwertliste
Die Validierung erfolgt serverseitig beim Speichern für alle geänderten Felder sowie für die Felder, welche in den Feldbezügen der geänderten Felder definiert sind. Damit entfällt die sofortige Meldung am abhängigen Feld, was von den Anwendern als störend empfunden wurde. Die Validierung wird definiert am Makro „Validierung nach Änderung“ des Datenfelds. Hier wird das abhängige Feld in Parameter 3 des Makrobefehls „FehlerMelden“ aufgenommen.


Platzhalter „GeschaeftsjahrClient“
Der Platzhalter „GeschaeftsjahrClient“ gibt das vom Anwender beim Applikationsstart ausgewählte Geschäftsjahr wieder. Es ist nur in Datenwertlisten für die Primärschlüsselfelder als fester Wert verfügbar.
Ungebundene Datenfelder in Datenwert-Listen
Die ungebundenen Felder werden beim Speichern mit an den Server geschickt und auch zurück geliefert. Von einem ungebundenen Feld wird ausgegangen, wenn sowohl die Eigenschaft SQL-Tabelle als auch SQL-Abfrage nicht gefüllt sind.


Validierung von Von-Bis-Feldern
Bei Von-Bis-Feldern darf die Eigenschaft „Pflichtfeld“ nicht mehr vergeben werden, da sich diese Eigenschaft sowohl für das von- als auch für das bis-Feld auswirken würde und damit ein leer lassen für „von Anfang“ bzw. für „bis Ende“ nicht möglich wäre.


Verbesserung Bedienung/Verständlichkeit Mehrfachselektion durch neue Metadaten-Attribute für Datenstruktur-Felder
Die bisherige Metadaten-Eigenschaft „AllowMultiselect“ (Mehrfachauswahl erlaubt?) in Datenstrukturfeldern hat im Laufe der Zeit immer mehr Bedeutungen erhalten, die vom Wert anderer Metadaten-Eigenschaften abhingen und nur schwer verständlich waren. Daher haben wir diese Eigenschaft entfernt und durch die drei neuen Eigenschaften „AllowMultiselectForFromTo“ (Mehrfachauswahl erlaubt für Von-Bis-Feld?), „AllowMultiselectForDataClass“ (Mehrfachauswahl erlaubt für Datenklasse?) und „UseMassDataFilter“ (Massendaten-Filterfeld?) ersetzt.
Für einen Spezialfall wurde auch ein neuer „Type“ (Typ) namens „Unterelement (Listen-Element mit Mehrfachauswahl)“ bei Selektionselement-Feldern hinzugefügt.


Sortieren in Multidatenedit-Elementen
Analog zu Listenelementen kann auch in Multidatenedit-Elementen nach Spalten sortiert werden. Die Sortierbarkeit muss im AppDesigner in der Eigenschaft „Sortierbar?“ (CanSort) eingestellt werden. Das Attribut darf nur bei MDEEs mit einem Zeilentemplate („Standard“) eingestellt werden und ist nicht per AppendTo überschreibbar.


Erweiterung der Lokatoren um Fremdtabellen
Die Lokatoren wurden um die Eigenschaften „Fremdtabelle“, „Fremdtabelle JOIN“, „Fremdtabelle WHERE-Bedingung“ sowie „Fremdtabelle Felder“ erweitert. Damit lässt sich die Datensuche auf eigene Tabellen ausdehnen.


Neue Makro-Ausdruck-Funktion "GetActiveNavigationPartName"
Die Makro-Ausdruck-Funktion gibt das aktuell eingestellte Navigationselement zurück.


Umschaltbarer Suchdialog in Datenklassen
Die Eigenschaft „Daten-Such-Element“ wurde in eine Liste umgewandelt, so dass mehrere Suchelemente für eine Datenklasse hinterlegt werden können.
Die Umschaltung erfolgt über die neue Eigenschaft „Nummer des Daten-Suche-Elementes“.


Selektions-Element als Suchdialog in Datenklassen
Selektionselemente mit dem neuen Verwendungszweck „Datenklassen-Suche“ können bei Datenklassen als Suchelement hinterlegt werden.
Die Kommunikation zwischen Suchelement und Datenklasse erfolgt durch die Verwendung des festen Feldnamens „KeyField“. Dabei muss für jedes Schlüsselsegment der Datenklasse ein eigenes „KeyField“ in der Datenstruktur des Selektionselements definiert werden (also „KeyField1“ für „Schlüssel 1 einer Datenklasse“ usw.). Ebenso wird für den Matchcode eines Schlüssels verfahren, also z.B. „MatchcodeField1“ für „Matchcode 1 einer Datenklasse“.
Die Übergabe von Suchfiltern an das Selektionselement erfolgt über Name-Ausdruck-Paare (Eigenschaft „Suchfilter“ im Datenfeld vom Typ „Schlüssel [n] einer Datenklasse“). Im Selektionselement müssen entsprechende Felder mit dem Namen aus dem Name-Ausdruck-Paar angelegt werden.

Telefonnummer
Zum Aktivieren der Eingabehilfe für eine einheitlich formatierte Telefonnummer muss am jeweiligen Oberflächenfeld