Version 9.0.4

Drag & Drop-Funktionalität

Bisher konnte die Drag&Drop-Funktionalität in Listen- und Diagramm-Elementen nur über einen VBA-Aufruf bei Drop umgesetzt werden. Nun ist dies auch über Makro-Befehle umsetzbar.

Suchfeld und Filterzeile auch in Baum-Elementen

Technisch gesehen steht die Funktionalität nun für alle Baum-Elemente in Such-Dialogen zur Verfügung. Diese müssen aber entsprechend angepasst werden. Im Standard war die Artikelgruppen-Suche der einzige betroffene Dialog. Partner können bei eigenen Baum-Elementen in Such-Dialogen die Metadaten entsprechend erweitern. Die Basisklasse für Geschäftsprozesse und die DCM-Aufrufe wurden auch entsprechend angepasst.

Zugriff auf beliebige Felder aus Datenklassenmenü

Bisher konnten Makros in Datenklassenmenüs nur auf die Werte der Datenklasse selbst zugreifen. Dies wurde nun so erweitert, dass über das Attribut "FilterParameters" von Datenklassen-Feldern in Datensätzen, Datenstrukturen und Datenwertlisten auch andere Feldwerte an das Makro übergeben und dort genutzt werden können.

Im Rahmen dieser Änderung wurde die Funktion "ExistsDialogVariable" in "ExistsVariable" umbenannt. Sie kann nur auch lokale Makro-Variablen prüfen. Die Metadaten werden automatisch entsprechend konvertiert.

Benutzerabhängige Datenfilter

Die benutzerabhängigen Datenfilter ermöglichen es, in den neuen Dialogen die Sichtbarkeit und die Verwendbarkeit von Stammdaten für Benutzer einzuschränken. Es kann beispielsweise für einen Benutzer festgelegt werden, dass er nur Adressen und Kontokorrente sehen und verwenden darf, wenn diese zu einem bestimmten Postleitzahlengebiet gehören. Die Kriterien, nach denen die Datensätze gefiltert werden, können auf Basis von Bedingungen frei definiert werden.

Die benutzerabhängigen Datenfilter stehen für eine Reihe von Bereichen in allen Applikationen zur Verfügung. Sie werden über den AppDesigner definiert und erweitert. Bereits im Standard stehen benutzerabhängige Datenfilter für Adressen, Kunden, Lieferanten, Vertreter und xRM-Objekte zur Verfügung, die z.B. parametrisierbare Bedingungen für Postleitzahlen, Aktiv, Kunden-/Lieferantengruppen und Vertreter enthalten.

Die Datenfilter werden danach verwendet, um die entsprechenden Listen für den Benutzer zu filtern und die Nutzung der Daten einzuschränken. Beispielsweise kann ein Benutzer bei entsprechender Einschränkung nur Belege für Kunden innerhalb seines Datenfilters anlegen.

Die neue Makro-Befehle

  • Der neue Makro-Befehl"FestlegenSchlüsselWert" erlaubt es, Datenklassenschlüssel aus dem Makro des Kontextmenüs heraus zu setzen.

Die neue Makro-Variable "_ChildRowState" ermittelt den Status der der aktuellen MDEE-Zeile (nur für Datensätze).

Für die Datenstruktur gibt es die neuen Metadaten-Attribute "PrimaryKeyType1" bis "PrimaryKeyType9", die dort benötigt werden, wenn im Primärschlüssel ein Fremdschlüssel enthalten ist.

In diesem Rahmen wurde auch der Fehler beseitigt, dass in Datenklassen-Spalten in Multi-Data-Edit-Elementen das Attribut "IsKeyVisible" nicht beachtet wurde und auch keine Matchcodes zusätzlich zum Schlüssel oder anstelle des Schlüssels angezeigt werden konnten. In Datenklassen-Spalten eines Multi-Daten-Edit-Elementes kann der Matchcode jetzt neben dem Schlüsselwert angezeigt werden, so wie es auch bei Datenklassen-Feldern in Daten-Edit-Elementen erfolgt.

Erforderliche Aktionen
Wurde bei einer Datenklassen-Spalte unnötigerweise die Matchcode-Beziehung in den Metadaten hinterlegt (Definition Metadaten-Attribute "Datenklasse", "Datenklassen-Schlüsselfeld" und "Datenklassen-Filter" für die Matchcode-Spalte), wird diese nun auch angezeigt. Soll dies nicht erfolgen, sind die Metadaten-Attribute in dem Datensatz bzw. der Datenstruktur zu leeren und der Datentyp ist auf "String" zu stellen.

  • Der neue Makro-Befehl "VerwaltenSemaphore"

Das Setzen von Semaphoren ist nun über den neuen Makro-Befehl "VerwaltenSemaphore" möglich. Es muss keine VBA-Code mehr aufgerufen werden.

  • Der neue Makro-Befehl "DatenEditDialogPopupÖffnen" erlaubt den Aufruf eines Daten-Edit-Elementes ohne Navigations-Element als Popup-Dialog. Hiermit können einzelne neue Datensätze angelegt bzw. einzelne Datensätze bearbeitet werden. Analog zum Metadaten-Befehl "PopupdialogÖffnen" können Parameter an den Dialog übergeben oder auch zurückgegeben werden.

  • Der neue Makro-Befehl "FestlegenSpalteSichtbar" und Ereignis "OnOpenPart" für das Listen-Element

Das Makro "FestlegenSpalteSichtbar" steht nun auch für Listen-Elemente zur Verfügung, darf allerdings nur im neuen Makro-Ereignis "OnOpenPart“ aufgerufen werden. Letzteres wird nur Server-seitig ausgelöst. Im Makro stehen auch die Dialogvariablen (Variablen mit zwei Unterstreichungszeichen ("__") am Anfang) zur Verfügung, die nachfolgend auch Client-seitig in den Makros verfügbar sind.

  • Der neue Makro-Befehl "DateiAnzeigen"

Mit dem neuen Makro-Befehl "DateiAnzeigen" wird eine Datei über den Windows-Shell-Aufruf geöffnet.

Kommentar zur Verbesserung
Aus Sicherheitsgründen sind einige Dateitypen wie z.B. "exe" und "vbs" gesperrt.

 

Hilfe für AppDesigner-Lösungen von Partnern

Hilfe-Aufrufe in von Partnern erstellten AppDesigner-Lösungen können nun über ein neues Attribut definiert werden. Beim Drücken von F1 im Partner-Dialog wird dann automatisch die definierte URL im Browser aufgerufen.

Erweiterungen AppendTo-Mechanismus für Datensatz-, Datenstruktur- und Datenwertlisten-Felder

Der AppendTo-Mechanismus für Datensatz-, Datenstruktur- und Datenwertlisten-Felder wurde um die Unterstützung der Attribute "FilterParameters", "DataReferenceFilter" und "DataReferenceServiceParameters" erweitert.

AppDesigner - Zoom

Die Skalierung des AppDesigner ist nun änderbar über Zoom mit dem Mausrad bzw. als neue Einstellung im Ribbon.

Schlüssel von Datenstrukturen

Die Schlüssel müssen nicht mehr im Code des Datenservice hinterlegt , sondern können alternativ schon in den Metadaten spezifiziert werden.

Einstellung für "Dateien beim Export aktualisieren"

Die zuletzt verwendete Option wird gespeichert und als Default-Wert für den nächsten Export verwendet.

AppDesigner - Dateneigenschaften

Im Eigenschaftenbereich werden auf einem neuen Register parallel zu den Oberflächeneigenschaften auch die Dateneigenschaften angezeigt.

Readonly-Popup-Dialog

Bei den Selektions-Elementen gibt es zusätzlich zum bisherigen Verwendungszweck "Popup-Dialog (ungebundene Dateneingabe)" nun auch den Verwendungszweck "Popup-Dialog (nur Datenanzeige)". Ein solcher Dialog dient ausschließlich zum Anzeigen von Daten. Der Dialog erhält nur eine "Schließen"-Schaltfläche anstelle von "Anwenden" und "Abbrechen".

Erweiterung Makro-Funktion "GetKeyFieldValue"

Die Makro-Funktion "GetKeyFieldValue" steht jetzt auch im Kontextmenü-Eintrag-Makro eines Listen-Elements zur Verfügung. Hier ist der Zugriff auf die Schlüsselfelder der Datenquelle möglich.

Leerzeilen im Selektions-Element

Bisher mussten im Selektions-Element gewünschte Leerzeilen zwischen den Eingabefeldern durch ein Hilfetext-Feld mit leerem Text gelöst werden.

Ab sofort wird eine Leerzeile über das neue Attribut "Format" ("FormatHelpText") im Hilfetext-Feld explizit definiert. Gleichzeitig wird über dieses Attribut auch eingestellt, ob ein Hilfetext-Feld in fetter Schrift dargestellt werden soll (bisher Attribut "Fett?" ("IsBold?")).

Kommentar zur Verbesserung
Es erfolgt ein automatisches Metadaten-Update.

Es ist weiterhin möglich, Abstände auch mit Hilfetext-Feldern mit leerem Text zu erzeugen. Dies löst aber im AppDesigner eine Warnung aus und kann ggf. in kommenden Versionen entfallen.

Datensatz kopieren erweiterbar

Das Datensatz-Attribut "DataCopyOptions" wird nun beim Anhängen von Lösungen beachtet. Somit können weitere Optionen/Tabellen inkl. Abhängigkeiten für den Datensatz-Kopieren-Dialog hinzugefügt werden.

An die dort aufgerufene DLL-Common-Methods "BeforeCopy" und "AfterCopy" werden entsprechende Informationen übergeben.

Makros auch für Diagramm-Elemente

Auch für Diagramm-Elemente stehen nun Makros zur Verfügung.

Neues Metadaten-Attribut "MaxLengthDefinedByField" in der Datenstruktur und Erweiterung Metadaten-Attribut "MaxLevelCount" im Baum-Element

In der Datenstruktur steht das neue Metadaten-Attribut "MaxLengthDefinedByField" zur Unterstützung von dynamischen Feldlängen zur Verfügung.

Im Baum-Element wurde das Metadaten-Attribut "MaxLevelCount" so erweitert, dass dort auch Ausdrücke hinterlegt werden können.

Kommentar zur Verbesserung
Durch die neue Funktionalität entfallen bei den Feldreferenzen die beiden Sonderfälle "[$Metadata.$Fields(feldname).MaxLength]" und "[$NavigationPart.$Metadata.$Part.MaxLevelCount]".

Erforderliche Aktionen
Falls die beiden genannten Sonderfälle der Feldreferenzen in Partner-/Kunden-Lösungen genutzt wurden, müssen diese Stellen angepasst werden.