Version 9.0.6

GIT-kompatible Dateiablagestruktur der Metadaten

Im AppDesigner ist es ab Version 9.0.6 möglich, GIT als Sourcecontrol-System zu nutzen. Dafür wurde die Ordnerstruktur der Metadaten angepasst. Im Metadaten-Verzeichnis befinden sich nun parallel zu den Sage-Metadaten Ordner mit der Partnerkennung. Unterhalb des „Partner-Ordners“ befinden sich die einzelnen Lösungen zu der jeweiligen Partnerkennung. Die Ordnerstruktur in den Lösungen selbst entspricht der alten Ordnerstruktur des Metadaten-Ordners, also nach Elementtypen getrennt. Aufgrund der Verzeichnistiefe wurden die Dateinamen verkürzt. Sie enthalten jetzt nicht mehr die hierarchischen Informationen bezüglich Partner- und Lösungskennung.

Ausgelieferte Kundenlösungen mit Signatur dürfen allerdings nicht unter GIT-Verwaltung gestellt werden.

 

 

Dateiverteilung gleichnamiger Dateien

Bei der Verteilung gleichnamiger Dateien in unterschiedliche Zielordner wurde bisher nur die "neueste" Datei verwendet. Es war also nicht möglich z.B. Update-Skripte in die verschiedenen SQL-Versionsverzeichnisse zu verteilen. Diese Einschränkung ist nun entfallen.

 

 

Vorbelegung von Selektionsparametern für Vorschau im AppDesigner

In der AppDesigner-Vorschau von Master-Detail-Elementen, Pivot-Elementen und Berichten mit Selektionselement können jetzt auch Parameter gespeichert und wiederverwendet werden.
Zur Eingabe wird das Selektionselement des jeweiligen Elements verwendet.
Dabei werden die zuletzt verwendeten Parameter beim erneuten Aufruf der Vorschau des gleichen Elements in dessen Selektionselement vorbelegt.
Durch Halten der Steuerungstaste kann der Dialog übersprungen werden.
Bei gehaltener Umschalttaste erfolgt keine Vorbelegung des Selektionselement mit gespeicherten Parametern.

 

 

Erweiterte Validierung auf Nicht-Verwendung der Metadaten

Die Metadaten-Validierung im AppDesigner wurde erweitert, um nicht verwendete Metadaten-Objekte zu finden. Diese werden dann in einer Validierungsmeldung angezeigt.
Die Meldung ist ein Hinweis, dass dieser Teil der Metadaten-Lösung gelöscht werden kann. Vorher ist allerdings zu prüfen, ob das Metadaten-Objekt ggf. hart codiert aus Access heraus verwendet wird, was die Validierung nicht überprüfen kann.
Nicht validiert werden Pivot-Elemente sowie Berichte vom Typ Korrespondenzformulare.

 

 

Aktivierung/Deaktivierung von Metadaten für den künftigen Access-freien Host

Für Aktivierung/Deaktivierung von Metadaten für den künftigen Access-freien Host stehen neue Metadaten-Attribute zur Verfügung:

  • Für Kontextmenü-Eintrage "UseForS100NC" ("für Sage 100 New Client?")

  • Für Regiezentrumseinträge "HideForSage100NC" ("nicht für Sage 100 New Client?")
    Zusätzlich steht die neue Makro-Ausdruck-Funktion "IsLegacyClient" zur Verfügung. Diese Info steht auch über die gleichnamige Eigenschaft des .NET-ApplicationContext zur Verfügung.
    Beim Update der Metadaten werden initial entsprechende Werte gesetzt (z.B. nicht anzeigen, wenn es sich um einen Access-Aufruf handelt, oder nicht anzeigen, wenn vom MS-Access-freien Host noch nicht unterstützte Lizenzen benötigt sind). Bei danach neu erstellten Metadaten sind die Entwickler selbst für das korrekte Setzen dieser Eigenschaften verantwortlich.

 

 

Makro-Funktion "GetKeyFieldValue()" erweitert

Mit „GetKeyFieldValue (Schlüsselfeldnummer1 – 9)“ konnte bereits in der Vergangenheit auf die Werte der Schlüsselfelder der Datenquelle einer Liste zugegriffen werden. Diese Werte konnten dann z.B. im Makro eines Kontextmenüpunktes verwendet werden (Beispiel im Kontextmenü Kunde.Sage.System beim Menüpunkt KundenauskunftWawi).
„GetKeyFieldValue()“ kann ab jetzt auch für Daten-Edit-Elemente verwendet werden, um dort in einem Makro oder aus dem Kontextmenü des Dateneditelements heraus den Wert eines der Schlüsselfelder des zugrunde liegenden DataRecord oder DataStructure zu ermitteln.

 

 

Makro-Befehl „VerwaltenSemaphore“

Pro Dialog konnten bisher maximal zwei Semaphore verwaltet werden: eine ohne Angabe eines Atoms („Dialog-Semaphore“, z.B. in der Belegerfassung) und eine mit Angabe eines Atoms.
Nun können zwei Semaphore mit Angabe eines Atoms für den Dialog angelegt und zurückgesetzt werden.
Dazu wurde beim Makro-Befehl „VerwaltenSemaphore“ ein optionaler fünfter Parameter eingeführt. Durch die Angabe von „True“ wird eine zweite Atom-Semaphore im Dialog erzeugt. Wird der Parameter weggelassen oder auf „False“ gesetzt, ist wie bisher die „erste“ Atom-Semaphore des Dialogs gemeint.

 

 

Berechtigungen für 1:n:m-Dialoge

Die Berechtigungen eines Multi-Data-Edit-Elements wurden bereits bisher in den von dort aufzurufenden Detail-Dialog (Bearbeiten) übernommen. In der nächsten Stufe (MDEE-Detaildialog in Detaildialog der nächsten Stufe) erfolgte dies nicht. Dies ist jetzt der Fall.
Voraussetzung ist, dass für die Detail-Datenedit-Elemente kein Berechtigungspfad angegeben wird sondern stattdessen der neue Verwendungszweck „Bearbeiten-Dialog für Multi-Data-Edit“ ausgewählt wird.
Die für die m-Stufe (Multi-Data-Edit-Element in einem Detaildialog) erzeugten Feldberechtigungen werden im Administrator als Unterknoten des Multi-Data-Edit-Elements der n-Stufe angezeigt, was wiederum ein Unterknoten des aufrufenden Datenedit-Elements darstellt.
Im Standard lässt sich dies anhand der Lieferantentdetails nachvollziehen: Hier dient der Lieferantenstamm als 1, das Multi-Data-Edit-Element auf Register „Artikeldaten“ mit dem Bearbeitungsdialog „Lieferantendetails“ als n und die hier platzierten Multi-Data-Edit-Elemente „Staffelpreise“ und „Staffelrabatte“ als m.
Werden über AppendTo z.B. an einem der beteiligten Multi-Data-Edit-Elemente und dem dazugehörigen Detail-Datenedit-Element weitere Felder hinzugefügt, muss die Berechtigungserzeugung hierfür auf dem Original-Element z.B. aus der Sage-Lösung gestartet werden.

 

 

Performance-Optimierung Listen-/Diagramm-/Baum-Elemente bei Refresh und bei Änderung Permanent-Filter

Bei einem Refresh oder bei einer Änderung des Permanentfilters in Listen-/Diagramm-/Baum-Elementen wird nicht mehr die Oberfläche neu aufgebaut sondern nur die Daten neu eingelesen. Dies führt zu einer wesentlichen Performance-Verbesserung. Außerdem wird bei Refresh bzw. Änderung des Permanentfilters die bisherige Selektion entfernt, analog zu einer Änderung in der Filterzeile.

 

 

Optionaler Tooltipp für Listen-Element-Spalten

Ab der Version 9.0.6 gibt es eine neue Eigenschaft „Tooltipp“ für Datenquellenfelder, wo man einen erklärenden Text für eine Listen- oder Baumspalte hinterlegen kann.
Ist ein solcher Text hinterlegt, dann wird dieser zusammen mit dem Spaltentitel angezeigt, wenn man mit der Maus über den Spaltenkopf zeigt. Ist kein Tooltipp hinterlegt, dann wird, wie bisher, nur der Spaltentitel als Tooltipp angezeigt, wenn dieser durch seine Breite abgeschnitten wird.
Der Tooltipp ist übersetzbar. Eine Auflösung von „GetString“ wird aber nicht unterstützt.

 

 

Selektions-Element als Popup-Dialog mit zwei Spalten

Ab der Version 9.0.6 können PopUp-Dialoge auch zweispaltig dargestellt werden, hierzu muss als Verwendungszweck „Popup-Dialog (zweispaltig, ungebundene Dateneingabe)“ eingestellt werden.
Bei diesem Verwendungszweck werden die Register des Selektionsdialoges als Gruppen angezeigt, es sind maximal 2 Gruppen pro Zeile möglich.
Möchte man nur eine Gruppe pro Zeile anzeigen, dann kann man dies in den Metadaten der Register mit der Eigenschaft „Neue Zeile beginnen?“ hinterlegen. Diese Eigenschaft steht bei Selektionselementen nur beim Verwendungszweck „Popup-Dialog (zweispaltig, ungebundene Dateneingabe)“ zur Verfügung.

 

Variable Benennung der Starten-Schaltfläche in Assistenten

In Assistenten kann die ‚Starten‘-Schaltfläche alternativ nun auch „Übernehmen“ benannt werden. Der Text wird in der optionalen Eigenschaft „Titel 1. Schaltfläche“ im AppDesigner hinterlegt. Wird hier kein Wert hinterlegt, wird wie bisher „Starten“ angezeigt.
Weitere zulässige Werte sind „Kopieren“, „Übernehmen“ und „Drucken“.
Für die Übersetzung in Fremdsprachen gibt es keine Einschränkung.

 

 

System-Konfigurationsdialoge „Vorlagen-Export“ und „Vorlagen-Import“

Die Assistenten "Vorlagenexport" und "Vorlagenimport" wurden auf neue Technik umgestellt und sind nun im Regiezentrum unter "Grundlagen - Benutzer" zu finden.
Für die alten Dialoge vorhandene Berechtigungen wurden auf die neuen Assistenten übertragen.

Im Zusammenhang mit der Umstellung der Dialoge wurde die neue Ausdrucks-Funktion „GetDirectory“ eingeführt. Diese nimmt einen Parameter vom Typ String entgegen (aktuell „Temp“, „InstallDir“ und „UserDocuments“) und gibt das dazu passende lokale Verzeichnis ohne endenden Backslash zurück.

 

 

System-Konfigurationsdialog „Profil zurücksetzen“

Aus dem Multifunktionsleisten-Dialog "Einstellungen - Systemgrundlagen - System" wurde auf dem Register "Diverses" von der Funktion "Profil zurücksetzen" die Optionen entfernt, welche für die Metadaten-basierte Oberfläche relevant sind. Diese sind nun im Regiezentrum im neuen Dialog "Grundlagen - Benutzer - Profil zurücksetzen" zu finden. Die Punkte „Kontextmenü-Favoriten“ und „Schaltflächen zurücksetzen“ sind im alten Dialog verblieben, da sich beide Punkte nur im Access-basierten Client auswirken.
Für den neuen Dialog wurden für alle Benutzer und Gruppen Regiezentrums-Berechtigungen erteilt. Benutzern und Gruppen, welchen im alten Dialog die Feldberechtigung „Taste Profil zurücksetzen“ komplett entzogen wurde, bekommen die die Berechtigungen im neuen Dialog ebenfalls entzogen.

 

 

System-Konfigurationsdialog „Einstellungen“

Aus den Multifunktionsleisten-Dialogen "Einstellungen - Systemgrundlagen - System" und "Einstellungen - Systemgrundlagen - Benutzer" wurden alle Einstellungen entfernt, die sich nicht auf die Access-Programmbasis bzw. alte Access-Dialoge beziehen. Letztere sind in den bisherigen Dialogen verblieben. Die Einstellungen sind nun im Regiezentrum im neuen Dialog "Grundlagen - Benutzer - Einstellungen" jeweils in der Warenwirtschaft und dem Rechnungswesen mit applikationsspezifischen Einstellungen zu finden.
Für die neuen Dialoge wurden für alle Benutzer und Gruppen Regiezentrums-Berechtigungen erteilt.
Funktionsberechtigungen wurden aus dem früheren Access-Dialog “frmSysSetupMandantBenutzer” abgeleitet.