Makrobefehle
Es stehen folgende Makro-Befehle zur Verfügung.
Feldbefehle
FestlegenFeldWert | |
---|---|
Parameter | Parameter 1: Parameter 2: Parameter 3 (optional, Default True): |
Verfügbarkeit | nur in Daten-Edit-, Multi-Daten-Edit- und Selektions-Elementen |
Beschreibung | Setzen eines Feldwertes (Ausdruck muss ein Ergebnis des entsprechenden Datentyps zurückgeben) |
XML-Tag | 1 |
WebClient | Ja |
FestlegenFeldAktiv | |
---|---|
Parameter | Parameter 1: Feldname Parameter 2: Feld aktiv (True) oder inaktiv (False) schalten |
Verfügbarkeit | nur in Daten-Edit-, Multi-Daten-Edit- und Selektions-Elementen |
Beschreibung | Setzen eines Feldes oder aller Felder auf aktiv bzw. inaktiv Feldname kann hierbei auch ein Unterformular referenzieren (Syntax-Beispiel: „[subform]“) und betrifft dann das komplette Unterformular. Als Feldname kann auch ein "*"-Zeichen angegeben werden (Beispiel: "[*]"), dann werden alle Felder entsprechend behandelt. Im Daten-Edit-Element kann als Feldname auch "$NavigationPart" angegeben werden, um das Navigations-Element des Data-Edit-Elements aktiv/inaktiv zu schalten. In Multi-Daten-Edit-Elementen wird immer nur das Feld der aktuellen Zeile aktiv/inaktiv geschaltet. Anwendungshinweis: Die inaktive Darstellung ist zu verwenden, wenn die Daten ungültig sind, i.d.R. sind sie dann auch leer. Inaktive Felder werden bewusst schlecht lesbar dargestellt und die Inhalte können nicht in die Zwischenablage kopiert werden. Bezüglich "gültiger Daten" siehe Hinweis zum Makro-Befehl "FestlegenNurLesen". |
XML-Tag | 2 |
WebClient | ja |
FestlegenFeldSichtbar | |
---|---|
Parameter | Parameter 1: Feldname Parameter 2: Feld sichtbar /eingeblendet (True) oder unsichtbar /ausgeblendet (False) schalten |
Verfügbarkeit | nur in Daten-Edit- und Selektions-Elementen |
Beschreibung | Setzen eines Feldes oder aller Felder auf sichtbar bzw. unsichtbar (Felder mit "Visibility" 2 (versteckt) können nicht umgeschaltet werden). Feldname ka nn hierbei auch ein Unterformular referenzieren (Syntax-Beispiel: „[subform]“) und betrifft dann das komplette Unterformular (Spalten werden nur vom Anwender ein-/ausgeblendet). Als Feldname kann auch ein "*"-Zeichen angegeben werden (Beispiel: "[*]"), dann werden alle Felder entsprechend behandelt. |
XML-Tag | 3 |
WebClient | ja |
FestlegenLokaleVar | |
---|---|
Parameter |
|
Verfügbarkeit | Generell |
Beschreibung | Setzen des Wertes einer lokalen Variablen, die bei Bedarf gemäß des Datentyps des Ausdrucks erzeugt wird (Lebensdauer analog dem Element, das das Makro enthält). Bei der Verwendung von lokalen Variablen sind diese in eckige Klammern zu setzen. Die Namen von lokalen Variablen müssen mit einem Unterstreichungszeichen („_“) beginnen. |
XML-Tag | 4 |
WebClient | ja |
FestlegenNurLesen | |
---|---|
Parameter | Parameter 1: Parameter 2: |
Verfügbarkeit | nur in Daten-Edit-, Multi-Daten-Edit- und Selektions-Elementen |
Beschreibung | Setzen eines Feldes in den Nur-Lesen-Modus bzw. den Editiermodus (Ausdruck muss ein Ergebnis des Datentyps Boolean zurückgeben) Die Metadaten sind allerdings vorrangig, d.h. dort definierte Nur-Lesen-Felder können nicht umgeschaltet werden (Attribut "Schreibschutz?" oder wenn zur Laufzeit keine Schreib-Berechtigung vorliegt). Als Feldname kann auch ein "*"-Zeichen angegeben werden (Beispiel: "[*]"), dann werden alle Felder entsprechend behandelt. Wenn ein Feld, das ein Unter-Element referenziert (Multi-Daten-Edit-Element), auf "nur lesen" gesetzt wird, bedeutet dies, dass keine Zeilen hinzugefügt oder gelöscht werden können. Die einzelnen Zellen innerhalb der Tabelle werden nicht beeinflusst (bleiben also ggf. beschreibbar). Diese können bei Bedarf im "OnCurrent"-Makro der Zeile per "[*]" schreibgeschützt werden. Im Einzelnen:
Anwendungshinweis: Schreibschutz ist zu verwenden, wenn die Daten zwar gültig sind, aber vom Anwender nicht geändert werden dürfen. Schreibgeschützte Felder werden gut lesbar dargestellt und die Inhalte können in die Zwischenablage kopiert werden. Bezüglich "ungültiger Daten" siehe Hinweis zum Makro-Befehl "FestlegenFeldAktiv". In Multi-Daten-Edit-Element wird immer nur das Feld in der aktuellen Zeile (die Zelle) umgeschaltet. |
XML-Tag | 6 |
WebClient | ja |
FestlegenFeldLeer | |
---|---|
Parameter | Parameter 1: Parameter 2 (optional; Default True): |
Verfügbarkeit | nur in Daten-Edit-, Multi-Daten-Edit- und Selektions-Elementen |
Beschreibung | Löschen eines Feldwertes, d.h. Feld auf leeren Wert setzen. Zum Prüfen, ob ein Feld leer ist, steht die Funktion "IsEmpty()" zur Verfügung. |
XML-Tag | 7 |
WebClient | ja |
FestlegenFeldBezeichnung (Ab Version 9.0.1) | |
---|---|
Parameter |
|
Verfügbarkeit | nur in Daten-Edit-/Selektions-Elementen und für die dort enthaltenen Multi-Daten-Edit-Elemente |
Beschreibung | Setzen eines Feld-Titels bzw. bei eingebetteten MDEE setzen des Spalten-Titels |
XML-Tag | 8 |
WebClient | nein |
FestlegenFeldBezeichnungExtension(Ab Version 9.0.4) | |
---|---|
Parameter |
|
Verfügbarkeit | nur in Daten-Edit-/Selektions-Elementen für die dort enthaltenen Multi-Daten-Edit-Elemente und in Listen-Elementen (nur im Ereignis "OnOpenPart" ab Version 9.0.4) |
Beschreibung | nur in Daten-Edit-/Selektions-Elementen und für die dort enthaltenen Multi-Daten-Edit-Elemente (das Makro darf nicht direkt im Kontext des MDEE ausgeführt werden) |
XML-Tag | 9 |
WebClient | nein |
FestlegenSchlüsselWert(Ab Version 9.0.4) | |
---|---|
Parameter |
|
Verfügbarkeit | nur im Kontextmenü einer Datenklasse |
Beschreibung | Setzen des Schlüsselwertes eines Datenklasse (Ausdruck muss ein Ergebnis des entsprechenden Datentyps zurückgeben) |
XML-Tag | 10 |
WebClient | nein |
FestlegenSpalteSichtbar (Ab Version 9.0.1) | |
---|---|
Parameter |
|
Verfügbarkeit | nur in Daten-Edit-/Selektions-Elementen für die dort enthaltenen Multi-Daten-Edit-Elemente; außerdem Listen-Elementen (dort nur im Ereignis "OnOpenPart" ab Version 9.0.4) |
Beschreibung | Setzen einer MDEE-Spalte und des korrespondierenden Feldes im Detailbereich auf sichtbar bzw. unsichtbar bzw. Setzen einer LIsten-Element-Spalte auf sichtbar bzw. unsichtbar. MDEE-Spalten und LIsten-Element-Spalten, die auf versteckt gesetzt sind, können nicht umgeschaltet werden. |
XML-Tag | 21 |
WebClient | nein |
Schaltflächenbefehle
HervorhebungKontextmenüSchaltfläche | |
---|---|
Parameter | Parameter 1: Parameter 2: |
Verfügbarkeit | nur in Daten-Edit-Elementen |
Beschreibung | Hervorhebung der Schaltfläche ein-/ausschalten (Ausdruck muss ein Ergebnis des Datentyps Boolean zurückgeben). Steht der Kontextmenü-Eintrag nicht als Schaltfläche zur Verfügung, hat das Makro keine Auswirkung. |
XML-Tag | 41 |
WebClient | nein |
AktivierenWeiter/Starten (ab Version 9.0) | |
---|---|
Parameter | Parameter 1: Schaltfläche "Weiter" bzw. "Starten" aktiv (True) oder inaktiv (False) schalten |
Verfügbarkeit | nur in Assistenten-Dialogen (Selektions-Elemente mit Verwendungszweck Assistenten-Dialog) |
Beschreibung | Aktivieren/Deaktivieren der Schaltflächen "Weiter" bzw. "Starten" in Assistenten. Auf Assistenten-Seiten mit Folgeseiten wird "Weiter" aktiviert, auf der letzten Assistenten-Seite wird "Starten" aktiviert Standardmäßig ist eine der Schaltflächen aktiviert. |
XML-Tag | 42 |
WebClient | ja |
DLL-Aufrufbefehle
AufrufenDll | |
---|---|
Parameter | Parameter 1: Parameter 2: Parameter 3 (optional): Semikolon-separierte Liste der zu übergebenden Felder, lokalen Variablen oder konstanten Werte (keine Ausdrücke; Feldwerte können geändert werden; Unter-Elemente und deren Felder können nicht übergeben werden). Als Parameternamen für den Geschäftsprozess werden die Namen der Felder bzw. lokalen Variablen übernommen. Bei konstanten Werten wird der Name wie folgt gebildet: "_Parameter" + lfd. Nr. konstanter Wert (auf Basis 1, nicht die lfd. Parameternummer)
Parameter 4 (optional):
Anmerkung zu Parameter 4: Länger laufende Verarbeitungsprozesse, wie Importe, sollten asynchron ausgeführt werden, um Zeitüberschreitungen (Timeouts) zu vermeiden. (ab Version 9.0) Client-seitig wird dann eine "Fortschrittsanzeige" (Animation) angezeigt. Rückgabewerte sind _Canceled und _CanceledMessage Bei _Canceled=True werden evtl. zurückgegebene Parameter nicht übernommen. Parameter 5 (optional):
Beim Einfügen/Aktualisieren/Löschen von Datensätzen stehen beim Ausführen der Server-seitigen Ereignisse „Vor Änderung“ und „Vor Löschung“ im aufgerufenen Geschäftsprozess über die Basisklasse die Daten des Datensatzes (inkl. Hierarchie, d.h. Parent-/Child-Datensätze) wie folgt zur Verfügung: Zugriff auf die Daten erfolgt über „Me.OldRecord“ und „Me.NewRecord“ (nur für lesende Verwendung) Beim Einfügen ist „Me.OldRecord“ Nothing. Beim Löschen ist „Me.NewRecord“ Nothing. „Me.NewRecord“ ist der Datensatz mit den neuen Daten, wie ihn der Client sendet. Er enthält nur die geänderten Datenfelder. „Me.NewRecord“ verweist immer auf den gerade zu schreibenden Datensatz (Aufruf der Ereignisse erfolgt pro Datensatz). Parent- und Child-Datensätze stehen in „Me.NewRecord“ uneingeschränkt zur Verfügung, soweit Änderungen vorhanden sind. „Me.OldRecord“ ist der Datensatz mit den kompletten alten Daten, d.h. allen Datenfeldern. Sobald ein Datensatz geschrieben wurde, enthält „Me.OldRecord“ die nach dem Schreiben neu gelesenen Daten. Dies gilt auch für alle Parent-Datensätze und die bereits geschriebenen Datensätze der gleichen Ebene. Zum Zeitpunkt des Auftretens der Ereignisse sind die Parent-Datensätze komplett enthalten, aber noch keine evtl. vorhandenen Child-Datensätze. Sätze der gleichen Ebene nur, wenn sie bereits geschrieben wurden. Wenn bei einer Update-Operation neue Datensätze entstehen, haben diese keine alten Daten. Da trotzdem ein Parent zur Verfügung stehen muss, wird in diesem Fall ein „leerer“ alter Datensatz zur Verfügung gestellt, der aber einen Parent-Verweis hat. Die Basisklasse bietet einige vordefinierte Methoden zum Umgang mit den Daten (u.a. die Möglichkeit zwischen neuen und aktualisierten Datensatz zu unterscheiden). |
Verfügbarkeit | generell |
Beschreibung | Aufruf eines Geschäftsprozesses zur Datenänderung oder Prüfung (Client-seitige Aufrufe werden automatisch zum Server umgeleitet) Das Ergebnis des Aufrufs wird in den lokalen Variablen "_Canceled" und "_CanceledMessage" zurückgegeben (siehe unten). Bei _Canceled=True werden evtl. zurückgegebene Parameter nicht übernommen. |
XML-Tag | 101 |
WebClient | ja |
DatenSerialisieren (ab Version 9.0.7) | |
---|---|
Parameter | Parameter 1: Name der lokalen Variable, in die die serialisierten Daten geschrieben werden sollen |
Verfügbarkeit | Nur in Daten-Edit-Elementen |
Beschreibung | Serialisieren der aktuellen Daten in einen XML-String. |
XML-Tag | 104 |
WebClient | Nein |
DatenDeserialisieren (ab Version 9.0.7) | |
---|---|
Parameter |
|
Verfügbarkeit | Nur in Daten-Edit-Elementen |
Beschreibung | Deserialisieren der Daten aus einem XML-String und ersetzen der aktuellen Daten. |
XML-Tag | 105 |
WebClient | Nein |
Dialog-Aufrufbefehle
DatensatzSuchen | |
---|---|
Parameter | Parameter 1: voll qualifizierter Name eines Daten-Such-Elementes (<name>.<partnerid>.<packageid>) Parameter 2: Bei Mehrfachselektion (Parameter 4 = True Ab Version 9.0.3) erfolgt die Rückgabe pro lokaler Variable als Semikolon-separierte Liste. Texte werden in Anführungszeichen eingefasst, innenliegende Anführungszeichen werden verdoppelt. Parameter 3 (optional): Parameter 4 (optional; Default False): Format: Name:=Makroausdruck[;...] Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan""" |
Verfügbarkeit | generell |
Beschreibung | Öffnet ein Daten-Such-Element Das Ergebnis des Aufrufs wird in der lokalen Variable "_Canceled" zurückgegeben. Per Makro-Befehl "FestlegenAdhocFilterSuche" kann ein Filter vorgegeben werden. Beispielsweise der aktuelle Wert eines Feldes, für welches die Suche aufgerufen wird. |
XML-Tag | 53 |
WebClient | ja |
SelektionsdialogÖffnen (bis Version 9.0) | |
---|---|
Parameter | Parameter 1: Parameter 2 (optional): Format: Name:=Makroausdruck[;...] Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan""" Parameter 3 (optional): |
Verfügbarkeit | generell |
Beschreibung | Öffnet ein Selektions-Element, über das der Benutzer Eingaben tätigen kann. Wird der Dialog mehrmals aufgerufen, während der Parent geöffnet bleibt, so bleiben die zuletzt verwendeten Werte erhalten. Die Werte werden in lokalen Variablen zurückgegeben. Der Variablenname wird aus dem Feldnamen im Selektions-Element übernommen und mit einen führenden Unterstrich ergänzt. Wurde der Dialog mit "OK" bestätigt, wird die lokale Variable "_Canceled" auf False gesetzt, ansonsten wird sie auf True gesetzt. |
XML-Tag | 102 |
WebClient | ja |
PopupdialogÖffnen(ab Version 9.0) | |
---|---|
Parameter | Parameter 1: Voll qualifizierter Name eines Selektions-Elements (<name>.<partnerid>.<packageid>). Es können nur Selektionselemente mit Verwendungszweck "Popup-Dialog" ("Usage"=2), "Popup-Dialog (nur Datenanzeige)" ("Usage"=4), "Popup-Dialog (zweispaltig, ungebundene Dateneingabe)“ ("Usage"=6) und "Selektions-Element für Mehrfach-Druck" ("Usage"=7) ausgewählt werden.Die Angabe eines Ausdrucks (muss mit "=" beginnen) ist zulässig. Dabei sollte anstelle des voll qualifizierten Namens nur der Name verwendet werden, wodurch auf die jeweilige Lösung selbst verwiesen wird. Dies ist erforderlich, wenn nachfolgend das Exportieren/Importieren der Lösung mit der Option "Veränderungen durch Empfänger zulassen" genutzt werden soll, da ansonsten die Abhängigkeit von der Export-Lösung nicht aufgelöst werden kann. Parameter 2 (optional): Format: Beispiel: |
Verfügbarkeit | generell |
Beschreibung | Öffnet ein Selektions-Element als Popup-Dialog ("Verwendungszweck " = 2) und "Popup-Dialog (nur Datenanzeige)" ("Usage"=4) , über das der Benutzer Eingaben tätigen kann. Wird der Dialog mehrmals aufgerufen, während der Parent geöffnet bleibt, so bleiben die zuletzt verwendeten Werte erhalten. Die Werte werden in lokalen Variablen zurückgegeben. Der Variablenname wird aus dem Feldnamen im Selektions-Element übernommen und mit einen führenden Unterstrich ergänzt. Wurde der Dialog mit "OK" bestätigt, wird die lokale Variable "_Canceled" auf False gesetzt, ansonsten wird sie auf True gesetzt. Bei "Usage"=4 wird immer False zurückgegeben. |
XML-Tag | 102 |
WebClient | ja |
AssistentÖffnen(ab Version 9.0) | |
---|---|
Parameter | Parameter 1: Voll qualifizierter Name eines Selektions-Elements (<name>.<partnerid>.<packageid>). Es können nur Selektionselemente mit Verwendungszweck "Assistent" ("Usage" = 3) ausgewählt werden. Parameter 2 (optional): Semikolon-separierte Liste von Name-/Ausdruck-Paaren zur Übergabe von Werten an den Selektionsdialog. Konstante Texte müssen in Anführungszeichen eingefasst werden, innenliegende Anführungszeichen sind zu verdoppeln. Format: Beispiel: Parameter 3 (optional): Zuvor verwendete Werte löschen (True/False; Standard: False) Parameter 4 (optional): Dialog modal öffnen? (True/False; Standard: True) Hinweis: Nicht modales Öffnen von Assistenten sollte der Ausnahmefall sein und nur eingesetzt werden, wenn nicht modale Folgedialoge geöffnet werden müssen. |
Verfügbarkeit | nur in Daten-Edit-Elementen und in Listen-Elementen |
Beschreibung | Öffnet ein Selektions-Element als Assistenten-Dialog ("Verwendungszweck " = 3), über den der Benutzer Eingaben tätigen kann. Wird der Dialog mehrmals aufgerufen, während der Parent geöffnet bleibt, so bleiben die zuletzt verwendeten Werte erhalten. Die Werte werden in lokalen Variablen zurückgegeben. Der Variablenname wird aus dem Feldnamen im Selektions-Element übernommen und mit einen führenden Unterstrich ergänzt. Wurde der Dialog mit "OK" bestätigt, wird die lokale Variable "_Canceled" auf False gesetzt, ansonsten wird sie auf True gesetzt. |
XML-Tag | 103 |
WebClient | ja |
BerichtÖffnen | |
---|---|
Parameter | Parameter 1: Voll qualifizierter Name eines Report-Elements (<name>.<partnerid>.<packageid>) Parameter 2 (optional): Format: Name:=Makroausdruck[;...] Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan""" Parameter 3 (optional): Selektion unterdrücken? (True oder False; Standard: False; weiteres Verhalten siehe auch "$NoPrinterDialog" unter Beschreibung). Dieser Modus kann für Fälle, in denen Parameter 2 bereits alle Selektionswerte für den Report enthält, verwendet werden. |
Verfügbarkeit | generell |
Beschreibung | Öffnet einen Bericht. Eine Liste der Selektionswerte kann über Parameter 2 vorgegeben werden. Ohne Anzeige des Selektionsdialoges werden diese direkt an den Bericht weitergegeben. Verwendet der Bericht Temporär-Tabellen, muss der Parameter "ConnID:=0" vorhanden sein. Parameternamen, die mit einem $-Zeichen beginnen, dienen der Steuerung des Druckes, z.B. "$Preview:=1" (Ausgabe mit vorheriger Vorschau), "$Preview:=0" (Ausgabe direkt auf den Drucker ohne Vorschau) "$Caption:=<caption>" (Caption für das Vorschaufenster und Dateinamen des Berichtes; Default ist der Berichtstitel) "$WaitForCloseByUser:=1" (Nachfolgender Bericht wird erst nach dem Schließen der Vorschau angezeigt; zur Verwendung in Schleifen) oder Auch bei Parameter 3 True (Selektion unterdrücken) wird trotzdem die Druckerauswahl angezeigt. Mit "$NoPrinterDialog:=1" kann auch die Druckerauswahl weggeblendet werden. Es wird dann der Windows-Standard-Drucker bzw. vorrangig der in Tabelle "USysPrinterDefs" eingetragene Drucker verwendet. |
XML-Tag | 120 |
WebClient | ja |
AuskunftÖffnen | |
---|---|
Parameter | Parameter 1: Voll qualifizierter Name eines Master-Detail-Elements (<name>.<partnerid>.<packageid>) Parameter 2 (optional): Format: Name:=Makroausdruck[;...] Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan""" Parameter 3 (optional): (Ab Version 9.0) Selektions-Dialog unterdrücken? (True oder False; Standard: False). Dieser Modus kann für Fälle, in denen Parameter 2 bereits alle Selektionswerte für die Auskunft enthält, verwendet werden. |
Verfügbarkeit | generell |
Beschreibung | Öffnet einen Auskunft. |
XML-Tag | 121 |
WebClient | ja |
DatenEditDialogÖffnen | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Öffnet ein Daten-Edit-Element aus einem Daten-Edit-, Multi-Daten-Edit- oder Listen-Element heraus. Erfolgt das Öffnen aus einem modalen Dialog heraus, wird dieser Dialog ebenfalls modal geöffnet. Die weitere Makro-Ausführung wartet, bis der Dialog geschlossen wurde. Hinweis: Die Syntax ist identisch mit der des Attributs "ObjectCallParameters" der Regiezentrum-Einträge, d.h. im aufgerufenen Dialog kann die gleiche Logik für die Abarbeitung verwendet werden. |
XML-Tag | 122 |
WebClient | ja |
DialogSchließen (Ab Version 9.0) | |
---|---|
Parameter | |
Verfügbarkeit | Nur in Master-Detail-Elementen und in Daten-Edit-Elementen sowie nur im Funktionsaufruf von Kontextmenüs |
Beschreibung | Der aktuelle Dialog wird geschlossen und die Ausführung des laufenden Makro wird abgebrochen. |
XML-Tag | 123 |
WebClient | nein |
DatenEditDialogPopupÖffnen (Ab Version 9.0.4) | |
---|---|
Parameter |
|
Verfügbarkeit | nur in Daten-Edit-, Multi-Daten-Edit- und Listen-Element |
Beschreibung | Öffnet ein Daten-Edit-Element als modalen Popup-Dialog und wartet bis der Dialoge geschlossen wird. Wird der Dialog mit einem Speichervorgang geschlossen, wird die lokale Variable "_Canceled" auf False gesetzt, ansonsten wird sie auf True gesetzt. Hinweise:
Hinweis zu Parameter 5:
|
XML-Tag | 125 |
WebClient | nein |
Dateidialog / Dateioperationen
DateidialogÖffnen | |
---|---|
Parameter | Parameter 1: Parameter 2 (optional): Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden) Parameter 3 (optional): Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden) Parameter 4 (optional): Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden) Parameter 5 (optional): Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (z.B. müssen Strings hier in Anführungszeichen angegeben werden) |
Verfügbarkeit | generell |
Beschreibung | Dateidialog öffnen (Datei öffnen, Datei speichern oder Verzeichnis-Auswahl) Das Ergebnis wird (Modus-abhängig) in folgenden lokalen Variablen übergeben:
|
XML-Tag | 601 |
DateiSendenAnBlobStorage | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Datei auf BlobStorage-Server übertragen Das Ergebnis des Aufrufs wird in den lokalen Variablen "_Canceled" und "_CanceledMessage" zurückgegeben. |
XML-Tag | 602 |
WebClient | ja |
DateiLadenVonBlobStorage | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Datei von BlobStorage-Server übertragen Das Ergebnis des Aufrufs wird in den lokalen Variablen "_Canceled" und "_CanceledMessage" zurückgegeben. |
XML-Tag | 603 |
WebClient | ja |
DateiAnzeigen | |
---|---|
Parameter | Parameter 1: Ausdruck mit Feldreferenzen, Funktionen, Konstanten, etc. (Strings müssen hier in Anführungszeichen angegeben werden), der den vollständigen Dateipfad ergibt (lokal oder UNC) |
Verfügbarkeit | generell |
Beschreibung | Lokale Datei von über Windows-Shell öffnen lassen. Tritt ein Fehler auf, wird die lokale Variable "_Canceled" auf True gesetzt und "_CanceledMessage" enthält die Fehlermeldung. Aus Sicherheitsgründen werden Dateien mit einer der folgenden Endungen abgelehnt: ".accdb", ".accde", ".ade", ".adp", ".bat", ".cmd", ".com", ".exe", ".js", ".jse", ".lnk", ".mda", ".mdb", ".mde", ".msi", ".msp", ".pif", ".ps1", ".ps2", ".reg", ".scf", ".scr", ".vb", ".vbe", ".vbs", ".ws, " und ".wsf" |
XML-Tag | 604 |
WebClient | nein |
Ablaufsteuerungsbefehle
Wenn | |
---|---|
Parameter | Bedingung (Ausdruck) |
Verfügbarkeit | generell |
Beschreibung | Ausführen der nachfolgenden Makro-Befehle bis „SonstWenn“ bzw. „Sonst“ bzw. „EndeWenn“, nur wenn der Ausdruck Bedingung einen True-Wert zurückgibt. |
XML-Tag | 201 |
WebClient | ja |
SonstWenn | |
---|---|
Parameter | Bedingung (Ausdruck) |
Verfügbarkeit | generell |
Beschreibung | Ausführen der nachfolgenden Makro-Befehle bis „SonstWenn“ bzw. „Sonst“ bzw. „EndeWenn“, wenn der Ausdruck Bedingung einen True-Wert zurückgibt (nur nach „Wenn“ und vor „Sonst“ bzw. „EndeWenn“ erlaubt und Ausführung nur, wenn keine vorangehende „Wenn“- oder „SonstWenn“-Aktion ausgeführt wird) |
XML-Tag | 202 |
WebClient | ja |
Sonst | |
---|---|
Parameter | - |
Verfügbarkeit | generell |
Beschreibung | Ausführen der nachfolgenden Makro-Befehle bis „EndeWenn“ (nur nach „Wenn“ bzw. „SonstWenn“ erlaubt und Ausführung nur, wenn keine vorangehende „Wenn“- oder „SonstWenn“-Aktion ausgeführt wird) |
XML-Tag | 203 |
WebClient | ja |
EndeWenn | |
---|---|
Parameter | - |
Verfügbarkeit | generell |
Beschreibung | Ende einer Wenn-Bedingung |
XML-Tag | 204 |
WebClient | ja |
Fehler | |
---|---|
Parameter | Parameter 1: Parameter 2: Die Werte werden Server-seitig kulturunabhängig und Client-seitig kulturspezifisch formatiert.
Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden. |
Verfügbarkeit | generell |
Beschreibung | Fehlermeldung anzeigen und Makroausführung beenden.
Unterschiede zum Makro-Befehl „FehlerMelden“:
|
XML-Tag | 205 |
WebClient | ja |
StoppMakro | |
---|---|
Parameter | - |
Verfügbarkeit | generell |
Beschreibung | Makroausführung beenden, der Rückgabewert "Cancel" des Makros wird explizit auf False gesetzt. Hinweis: Bei Makros, die durch "AppendTo" erweitert werden können, werden bei Verwendung dieses Makros auch die Erweiterungen nicht mehr ausgeführt. Weitere Informationen im Kapitel "Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden" auf dieser Seite. |
XML-Tag | 206 |
WebClient | ja |
Abbruch | |
---|---|
Parameter | - |
Verfügbarkeit | generell |
Beschreibung | Makroausführung abbrechen, der Rückgabewert "Cancel" des Makros wird explizit auf True gesetzt. Weitere Informationen im Kapitel "Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden" auf dieser Seite. |
XML-Tag | 207 |
WebClient | ja |
FürJedenWert | |
---|---|
Parameter |
Beispiele für Parameter 2:
|
Verfügbarkeit | generell |
Beschreibung | Schleife über alle Werte einer bestimmten Spalte in einem Listen-Element oder einem Multi-Data-Edit-Element (die Einzelfelder können innerhalb der Schleife über den als Parameter 1 definierten Feldnamen verwendet werden) Hinweis: Bei einer Schleife über alle Zeilen eines Multi-Data-Edit-Elementes kann innerhalb der Schleife eine lokale Variable hochgezählt werden und diese kann dann als Index verwendet werden, um darüber alle Felder der jeweiligen Zeile zu adressieren.
|
XML-Tag | 211 |
WebClient | ja |
EndeFürJedenWert | |
---|---|
Parameter | - |
Verfügbarkeit | generell |
Beschreibung | Ende einer FürJedenWert-Schleife |
XML-Tag | 212 |
WebClient | ja |
AbbrechenFürJedenWert (Ab Version 9.0.1) | |
---|---|
Parameter | - |
Verfügbarkeit | generell |
Beschreibung | Abbrechen einer FürJedenWert-Schleife |
XML-Tag | 213 |
WebClient | ja |
Meldungs-/Fehleranzeigebefehle
Meldungsfeld | |
---|---|
Parameter | Parameter 1: Parameter 2: Die Werte werden kulturspezifisch formatiert.
Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden. |
Verfügbarkeit | generell, nur auf dem Client |
Beschreibung | Meldung anzeigen, der Rückgabewert wird in die lokale Variable "_DialogResult" geschrieben, die folgende Werte haben kann:
Bei Anklicken von "Abbrechen" wird der Rückgabewert "Cancel" nicht gesetzt. Das Makro muss explizit "_DialogResult" auswerten. Weitere Informationen im Kapitel "Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden" auf dieser Seite. |
XML-Tag | 301 |
WebClient | ja |
ProtokollierenEreignis | |
---|---|
Parameter | Parameter 1: Parameter 2: Die Werte werden Server-seitig kulturunabhängig und Client-seitig kulturspezifisch formatiert.
Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden. |
Verfügbarkeit | generell |
Beschreibung | Meldung in Tracelog protokollieren |
XML-Tag | 302 |
WebClient | nein |
FehlerMelden | |
---|---|
Parameter | Parameter 1: Parameter 2: Die Werte werden Server-seitig kulturunabhängig und Client-seitig kulturspezifisch formatiert.
Parameter 3 (optional), wahlweise: Syntax (Hinweis zur Notation: Die eckigen Klammern kennzeichnen optionale Bestandteile und werden nicht geschrieben):
Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden. |
Verfügbarkeit | generell |
Beschreibung | Die Rückgabe des Fehlers erfolgt in der aktiven Fehlerbehandlung, beim Data-Edit-Element z.B. in der Meldungs-Liste. Unterschiede zum Makro-Befehl „Fehler“:
Hinweis zu Meldungen mit mehreren beteiligten Feldern: Die Validierung sollte in diesem Fall in jedem beteiligten Feld hinterlegt werden.
|
XML-Tag | 303 |
WebClient | ja |
HinweisMelden | |
---|---|
Parameter | Parameter 1: Parameter 2: Die Werte werden Server-seitig kulturunabhängig und Client-seitig kulturspezifisch formatiert.
Parameter 3 (optional), wahlweise:
Im Text können nachfolgend auch nochmals Werte in geschweiften Klammern eingebettet sein. Diese werden analog der Makro-Funktion ToString() ausgewertet und von einer kulturunabhängigen Formatierung in die Client-Kultur umgewandelt werden. |
Verfügbarkeit | generell, nur auf dem Client |
Beschreibung | Fügt einen Hinweis in die Meldungs-Liste der Anwendung ein. Weitere Informationen im Kapitel "Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden" auf dieser Seite. |
XML-Tag | 304 |
WebClient | ja |
Spezielle Befehle
FestlegenAdhocFilterSuche | |
---|---|
Parameter | Parameter 1: Parameter 2: Parameter 3 (optional):
Parameter 4 (optional):
|
Verfügbarkeit | nur im „Vor Suche“-Ereignis der Felder der (Multi-)Daten-Edit-Elemente und vor Aufruf des Makros "DatenEditDialogÖffnen" sowie vor Aufruf des Makros "AuskunftÖffnen" |
Beschreibung | Anwendungsfälle:
|
XML-Tag | 51 |
WebClient | ja, Außer vor Aufruf des Makros "AuskunftÖffnen" |
AufrufenKontextMenu | |
---|---|
Parameter | Name des aufzurufenden Kontextmenüeintrags (des aktuellen Kontextmenüs) Im Selektions-Element eines Navigationselementes, das in einem Daten-Edit-Element eingebunden ist, kann über den Präfix "$Data." das Kontextmenü des aktuellen Daten-Edit-Elementes referenziert werden (analog zu Feldreferenzen) Beispiel: In der Buchungserfassung wird auf diese Weise nach einem Sitzungswechsel eine neue Buchung bereitgestellt. Parameter 2 (optional): Format: Name:=Makroausdruck[;...] Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan""" |
Verfügbarkeit | generell |
Beschreibung | Dient zur Nutzung eines Kontextmenüeintrags aus einem Makro heraus. Dieser verhält sich so, wie wenn er vom Anwender aufgerufen worden wäre. Handelt es sich bei der aufgerufenen Funktion um Typ „Aufruf des in der verwendeten Datenstruktur definierten Daten-Service“ oder „Aufruf einer VBA-Methode als Applikations-Service“, wird das Ergebnis des Aufrufs in der lokalen Variable "_Canceled" zurückgegeben und die zurückgegebene Meldung wird angezeigt. |
XML-Tag | 52 |
WebClient | ja |
DatensatzSpeichern | |
---|---|
Parameter | Parameter 1 (optional):
Parameter 2 (optional):
|
Verfügbarkeit | nur in Daten-Edit-Elementen |
Beschreibung | Löst die "Speichern/Verwerfen/Abbrechen"-Abfrage für den aktuellen Datensatz bzw. die aktuelle Datenstruktur (bei Multi-Daten-Edit-Elementen ist dies der jeweilige Parent-Datensatz bzw. die jeweilige Parent-Datenstruktur) und die nachfolgende Speichern-/Verwerfen-Aktion aus. Das Ergebnis des Aufrufs wird in der lokalen Variable "_Canceled" zurückgegeben:
|
XML-Tag | 54 |
WebClient | ja |
DatensatzLaden | |
---|---|
Parameter | Version 8.1 Parameter 1: Parameter 2: Parameter 3: Parameter 4: Version 9.0 Parameter 1: Parameter 2: optional (Default False): Soll nach dem Datensatz laden der Fokus im Mulit-Daten-Edit-Element erhalten bleiben? (True/False) |
Verfügbarkeit | nur in Daten-Edit-Elementen und in Multi-Daten-Edit-Elementen |
Beschreibung | Aufruf der Laden-Methode des aktuellen Daten-Services Das Ergebnis des Aufrufs wird in der lokalen Variable "_Canceled" zurückgegeben. Szenario für Parameter 4 (Nach dem Datensatz laden Fokus in Mulit-Daten-Edit-Element (MDEE) erhalten):
|
XML-Tag | 55 |
WebClient | ja |
FestlegenFilter | |
---|---|
Parameter | Parameter 1: Parameter 2: Parameter 3 (optional):
Parameter 4 (optional):
|
Verfügbarkeit | nur in Selektionselementen für dort enthaltene Unter-Listen-Elemente |
Beschreibung | Filterung einer Spalte eines Listen-Elementes, das als Unterelement in einem Selektionselement genutzt wird. |
XML-Tag | 56 |
WebClient | nein |
ListeAktualisieren | |
---|---|
Parameter | - |
Verfügbarkeit | nur in Daten-Edit-Elementen, in Listen-Elementen und Diagramm-Elementen |
Beschreibung | Aktualisiert die Daten der Navigations-Liste in einem Daten-Edit-Element, in einem Listen-Element (gemäß aktueller Filterungen und Sortierungen) und in einem Diagramm-Element (Aktualisierung wird auch ausgeführt, wenn nur Diagramm angezeigt wird). Die Liste wird ab dem ersten Datensatz angezeigt. Das Makro ist zum Einsatz nach automatischen Operationen gedacht, die mehrere Datensätze verändert, hinzugefügt bzw. gelöscht haben. Hinweis: Bei den CRUD-Methoden Einfügen und Ändern wird die Liste automatisch clientseitig aktualisiert. Ein kompletter Refresh ist nicht nötig und kritisch in der Performance. |
XML-Tag | 60 |
WebClient | ja |
DatenReferenzAktualisieren | |
---|---|
Parameter | Feldname des Feldes, dessen Datenreferenz neu eingelesen werden soll |
Verfügbarkeit | generell |
Beschreibung | Aktualisiert die Datenreferenz des angegebenen Feldes (Requry per AppServer-Request). Anwendungsfall: In einem vorhergehenden Geschäftsprozess wurden Daten geändert, die von einer statischen Datenreferenz im aktuell geladenen Datensatz verwendet werden. |
XML-Tag | 61 |
WebClient | ja |
BaumAktualisieren | |
---|---|
Parameter | Parameter 1 (optional):
Parameter 2 (optional): Semikolon-separierte Liste der zu übergebenden Felder, lokalen Variablen oder konstanten Werte (keine Ausdrücke; Feldwerte können geändert werden; Unter-Elemente und deren Felder können nicht übergeben werden). Als Parameternamen für den Geschäftsprozess werden die Namen der Felder bzw. lokalen Variablen übernommen. Bei konstanten Werten wird der Name wie folgt gebildet: "_Parameter" + lfd. Nr. konstanter Wert (auf Basis 1, nicht die lfd. Parameternummer |
Verfügbarkeit | nur in Data-Edit-Elementen |
Beschreibung | Aktualisiert die Daten des Navigations-Baums in einem Daten-Edit-Element (komplett oder partiell). Generell werden dabei der selektierte Datensatz sowie der Aufklapp-Status beim Aktualisieren des Baums beibehalten, auch wenn der komplette Baum neu geladen wird. Das Makro ist zum Einsatz nach automatischen Operationen gedacht, die mehrere Datensätze verändert, hinzugefügt bzw. gelöscht haben. Hinweis: Bei den CRUD-Methoden Einfügen und Ändern wird der Baum automatisch clientseitig aktualisiert. Ein kompletter Refresh ist nicht nötig. |
XML-Tag | 62 |
WebClient | nein |
AktualisierungsnachrichtSenden (ab Version 9.0) | |
---|---|
Parameter | Parameter 1: Semikolon-separierte Liste von Ausdrücken, welche die Notification-Tokens (siehe Attribut "RefreshNotifications" bei Elementen und Links) ergeben, die bei den Elementen mit entsprechender Definition jeweils einen Refresh auslösen. Konstante Notification-Tokens müssen in Anführungszeichen angegeben werden. |
Verfügbarkeit | nur in Listen-, Baum- und Diagramm-Elementen |
Beschreibung | Aktualisiert die Anzeigen von Auskünften und ControlCenter-Elementen |
XML-Tag | 63 |
WebClient | nein |
EintragenEingabeHistorie | |
---|---|
Parameter | Parameter 1: Parameter 2:
Beispiel Makro aus Belegerfassung, Feld Artikelnummer: EintragenEingabeHistorie
|
Verfügbarkeit | nur in Multi-Daten-Edit-Elementen, Daten-Edit-Elementen und in Selektions-Elementen |
Beschreibung | Fügt der Eingabehistorie eines Feldes einen Eintrag hinzu. Nur für Datenklassen-Felder in Datenstrukturen verfügbar. Der neue Eintrag wird der oberste in der Liste. Existiert ein Eintrag mit demselben Schlüssel, wird der bisherige gelöscht. Hinweise zur Verwendung:
|
XML-Tag | 70 |
WebClient | nein |
NavigationUmschalten | |
---|---|
Parameter | Parameter 1: Voll qualifizierter Name eines Listen-Elementes (<name>.<partnerid>.<packageid>) Das Listen-Element muss in der Metadaten-Eigenschaft "Navigations-Elemente" des Daten-Edit-Elementes, in dem das Makro aufgerufen wird, angegeben sein. Parameter 2 (optional): Format: Name:=Makroausdruck[;...] Beispiel: Art:=1;Typ:=[Typ];Kahn:="Kahn ""Der Titan""" |
Verfügbarkeit | nur in Daten-Edit-Elementen |
Beschreibung | Schaltet das Navigations-Element auf das angegebene Listen-Element um. |
XML-Tag | 71 |
WebClient | nein |
VerwaltenSemaphore(Ab Version 9.0.4) | |
---|---|
Parameter |
|
Verfügbarkeit | generell, nur auf Client |
Beschreibung | Pro Dialog können maximal 2 Semaphoren verwaltet werden. Eine ohne Angabe eines Atoms ("Dialog-Semaphore", z.B. in der Belegerfassung) und eine mit Angabe eines Atoms. Wird der Makro-Befehl mehrmals innerhalb des Dialoges ausgeführt, wird immer die zuvor gesetzte Semaphore freigegeben und die neue gesetzt (dies entspricht der zuvor in Access erfolgten Implementierung). |
XML-Tag | 80 |
WebClient | nein |
AufrufenUrl (Ab Version 9.0.2) | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Ruft URL im Browser auf. |
XML-Tag | 140 |
WebClient | ja |
MakroBaustein (Ab Version 9.0.5) | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Fügt die Zeilen des angegebenen Makro-Bausteins im aktuellen Makro ein. Die Ersetzung erfolgt Server-seitig. Es gibt kein eigentliches "Ausführen" dieses Befehls. |
XML-Tag | 150 |
WebClient | ja |
DruckprozessAusführen (Ab Version 9.0.7) | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Ausführung von Druckprozessen. Ein Druckprozess ist hierbei eine Sammlung von Berichten, die in einem Ablauf ausgegeben werden. Die Bereitstellung der Druckbeleginformationen erfolgt vor Ausführung des Makrobefehles "Druckprozess ausführen" durch die Anwendung. |
XML-Tag | 160 |
WebClient |
EMailSenden (Ab Version 9.0.7) | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Versenden einer E-Mail. Vor dem Versand wird ein Dialog zur Eingabe bzw. Bestätigung der E-Mail-Adressen angezeigt. Bei Versand über SMTP wird anschließend ein zweiter Dialog zur Eingabe der SMTP-Einstellungen aufgerufen. |
XML-Tag | 170 |
Webclient |
Datensatz-Operationen(Ab Version 9.0.4)
DatensatzLesen | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Liest Daten aus einem Datensatz Das Etag-Feld (Timestamp) kann genutzt werden, um zwischenzeitlich erfolgte Daten-Änderungen zu erkennen und dann ein Überschreiben der Daten zu verhindern. Sein aktueller Wert wird beim Lesen, Aktualisieren und Einfügen des Datensatzes ermittelt und kann beim Aktualisieren wieder übergeben werden. Das Ergebnis des Request (Response-Status) wird in der reservierten lokalen Variable "[_DataActionState]" bereitgestellt und kann folgende Werte enthalten:
|
XML-Tag | 700 |
WebClient | nein |
DatensatzAktualisieren | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Aktualisiert Daten eines Datasatzes (wenn der Datensatz noch nicht existiert, kann er angelegt werden) Das Etag-Feld (Timestamp) kann genutzt werden, um zwischenzeitlich erfolgte Daten-Änderungen zu erkennen und dann ein Überschreiben der Daten zu verhindern. Sein aktueller Wert wird beim Lesen, Aktualisieren und Einfügen des Datensatzes ermittelt und kann beim Aktualisieren wieder übergeben werden.
|
XML-Tag | 701 |
WebClient | nein |
DatensatzEinfügen | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Legt einen neuen Datensatz in der Datenbank an Das Etag-Feld (Timestamp) kann genutzt werden, um zwischenzeitlich erfolgte Daten-Änderungen zu erkennen und dann ein Überschreiben der Daten zu verhindern. Sein aktueller Wert wird beim Lesen, Aktualisieren und Einfügen des Datensatzes ermittelt und kann beim Aktualisieren wieder übergeben werden.
|
XML-Tag | 702 |
WebClient | nein |
DatensatzLöschen | |
---|---|
Parameter |
|
Verfügbarkeit | generell |
Beschreibung | Löscht einen Datensatz aus der Datenbank |
XML-Tag | 703 |
WebClient | nein |
Sonstige Befehle
EinfügenText | |
---|---|
Parameter | Parameter 1: Parameter 2: |
Verfügbarkeit | nur in Multi-Daten-Edit-Elementen und Daten-Edit-Elementen |
Beschreibung | Fügt den durch den Ausdruck angegebenen Text (muss RTF-formatiert sein) in das durch Feldname referenzierte RTF-Feld ein. Dies erfolgt an der aktuellen Cursor-Position, wenn das Feld aktiv ist. Ansonsten wird der Text am Ende angehängt. |
XML-Tag | 501 |
WebClient | nein |
Kommentar | |
---|---|
Parameter | Beliebiger Text als Kommentar |
Verfügbarkeit | generell |
Beschreibung | Text zur Kommentierung eines Makros |
XML-Tag | 401 |
WebClient | ja |
AufrufenVba | |
---|---|
Parameter | Parameter 1: Parameter 2 (optional): Semikolon-separierte Liste der zu übergebenden Felder, lokalen Variablen oder konstanten Werte (keine Ausdrücke; Feldwerte können geändert werden; Unter-Elemente und deren Felder können nicht übergeben werden). Als Parameternamen für den Geschäftsprozess werden die Namen der Felder bzw. lokalen Variablen übernommen. Bei konstanten Werten wird der Name wie folgt gebildet: "_Parameter" + lfd. Nr. konstanter Wert (auf Basis 1, nicht die lfd. Parameternummer) |
Verfügbarkeit | generell, nur auf dem Client |
Beschreibung | Ruft eine Methode im VBA-Code der MS-Access-Anwendung auf. Über den Präfix „gbAddInRun“ können auch AddIn-Funktionalitäten aufgerufen werden. Die Liste der Name-/Wert-Paare aus Parameter 2 werden der VBA-Methode über "goStack.oBag" zur Verfügung gestellt. Rückgabewerte:
Temporär, solange Access als Host verwendet wird: Dieser Makro-Befehl wird in anderen Umgebungen (z.B. Mobile) ignoriert. Elemente, die diesen Makro-Befehl verwenden, dürfen also nur für die Access-basierte Umgebung freigeschaltet werden. Der Einsatz sollte – so weit wie möglich – vermieden werden. |
XML-Tag | 9999 |
WebClient | nein |
Beispiel AufrufenVba mit Übergabe von Parametern:
Hinweis für Developer Partner
WDB-Eintrag 203334:
Anhang ADID.Makro.AufrufenVba.rar und OLAppDesignerImDetail80.rar
Temporäre Variable
Läuft ein Makro im Kontext des clientseitigen UIs, stehen folgende vordefinierte temporäre Variable zur Verfügung (nur lesend):
- "_Canceled" enthält den Erfolgs-Status bestimmter Befehle (siehe oben). False bedeutet, dass der Aufruf erfolgreich war. True bedeutet, dass der Aufruf nicht erfolgreich war.
Hinweise zu ähnlichen Fällen:- Zum Unterbrechen eines Makros dienen die Makro-Befehle "Abbruch" (das Makro wird sofort verlassen und eine nachfolgende Verarbeitung wird abgebrochen) und „StoppMakro“ (das Makro wird sofort verlassen und die Verarbeitung läuft normal weiter).
- Die Makro-Befehle "Fehler" und "Meldungsfeld" (beim Anklicken der Abbrechen-Schaltfläche im Meldungsfenster) führen einen internen "Abbruch" automatisch aus.
- "_AppDate" stellt das aktuelle Buchungsdatum (Rewe) bzw. Belegdatum (Wawi), das beim Start der Anwendung definiert wurde, zur Verfügung.
- "_AppYear" stellt das aktuell gewählte Geschäftsjahr, das beim Start der Anwendung definiert wurde, zur Verfügung. Tipp: Das Geschäftsjahr auf Basis des aktuellen Server-Systemdatums kann mit dem Platzhalter "$[Geschaeftsjahr]" adressiert werden.
- "_LokatorKuerzel" stellt das Tastaturkürzel der zuletzt erfolgten Datenklassen-Eingabe mit Lokator-Suche (siehe Datenklassen, Attribut "Shortcuts") zur Verfügung.
- "_LokatorWert" stellt den Wert der zuletzt erfolgten Datenklassen-Eingabe mit Lokator-Suche (siehe Datenklassen, Attribut "Shortcuts") zur Verfügung.
- Beispiel: Suche einer Kundennummer über die OP-Nummer in der Buchungserfassung durch Eingabe von "2014-10054@O@D" ergibt
- _LokatorKuerzel = "O"
- _LokatorWert = "2014-10054"
- Beispiel: Suche einer Kundennummer über die OP-Nummer in der Buchungserfassung durch Eingabe von "2014-10054@O@D" ergibt
Innerhalb von Makros kann in einem Data-Edit-Element wie folgt der Status des Elements abgefragt oder gesetzt werden:
- "_ChildRowState" gibt Auskunft über den aktuellen Status der aktuellen Zeile in einem Multi-Daten-Edit-Element. Mögliche Werte sind "Create" (neuer, ungespeicherter Datensatz) und "Edit" (Bearbeitung eines bereits existierenden Datensatzes). (Ab Version 9.0.4)
- Beispiel:
Wenn | [_ChildRowState] = "Create"
- Beispiel:
- "_DialogState" gibt Auskunft über den aktuellen Status des Dialogs. Mögliche Werte sind "Create" (neuer, ungespeicherter Datensatz) und "Edit" (Bearbeitung eines bereits existierenden Datensatzes).
- Beispiel: Wenn | [_DialogState] = "Create"
- "_IsDirty" enthält die Info, ob ein Datensatz schon editiert wurde, d.h. dass schon Werte geändert wurden. True bedeutet, dass schon Werte geändert wurden.
- Hinweise:
- Beim Setzen werden bei einem zugrunde liegenden Datensatz (Data Record) alle Felder des hierarchischen Datensatzes als geändert gekennzeichnet, weil beim späteren Speichern von Änderungen nur die geänderten Felder gespeichert werden. Die Verwendung dieser Variable wird nicht empfohlen, da dadurch die kooperative Arbeit in verschiedenen Ebenen des Datensatzes verhindert wird (optimistic concurrenca).
- Bei einer zugrunde liegenden Datenstruktur (Data Structure; d.h. einem Datenservice), werden dagegen immer alle Felder an den Datenservice gesendet, der dann über das weitere Vorgehen entscheidet.
- Beispiel: Beim Wechsel der Buchungsperiode soll nach erfolgter Rückfrage ein geänderter Satz entfernt werden. Dazu wird der Änderungsstatus wie folgt auf False gesetzt: FestlegenLokaleVar | $Data._IsDirty | False
- Hinweise:
Die lokalen Variablen der Makros stehen wie folgt auch in allen aufgerufenen VBA- und .NET-DLL-Services (gsAppServiceCall, gsAppServiceCallGeneric, AppLibraryCall) zur Verfügung (lesend und schreibend):
- In VBA stehen die lokalen Variablen über "goStack.oBag.oItem("MacroTempVars")" zur Verfügung. Die Variablen-Liste hat den Typ "clsSysCollection". Jeder Eintrag der Liste besteht somit aus Key und Value. In einem AddIn steht das Objekt nicht zur Verfügung. Ein Beispiel für diesen Fall finden Sie in der Beschreibung des Funktionsaufrufs „Aufruf einer Methode in einem AddIn mit Übergabe des aktuellen Datensatzes aus den neuen Stammdaten“.
- In .NET-DLLs stehen die lokalen Variablen über das Property "MacroTempVars zur Verfügung. Auch diese enthält wiederum Key-Value-Paare.
- Wichtig ist in beiden Fällen die Prüfung der Liste auf Nothing.
- In VBA wird bei nicht vorhandenen Werten "Empty" zurückgegeben, in .NET ist mit der Funktion "MacroVarList.ContainsKey" vorher das Vorhandensein zu prüfen.
- Wird schreibend auf eine nicht vorhandene Variable zugegriffen, wird diese automatisch erzeugt.
- Es werden die Makro-Datentypen String, Date, Boolean, Currency bzw. Decimal und Integer unterstützt.
Ausdrücke
In den Beschreibungen der Parameter wird bei einigen Makrobefehlen das Wort „Ausdruck“ verwendet. Die gültigen Ausdrücke sind in Ausdrücke beschrieben. Hier sollen nur die beiden wichtigsten Ausdrücke für die Ablaufsteuerung aufgeführt werden.
- ergänzende Funktionen in Daten-Edit-Elementen und Multi-Daten-Edit-Elementen:
- „IsRecordInsert()“ (True, wenn neuer Datensatz innerhalb des „BeforeUpdate“-Ereignisses vorliegt; ohne Parameter)
- „IsRunningOnServer()“ (True, wenn das Makro Server-seitig ausgeführt wird; ohne Parameter)
Hinweise/Fehler melden und Ereignisse abbrechen oder Makroausführung beenden
Bei der Fehlerbehandlung in einer Validierung sollte eine Meldung ausgegeben und der weitere Verlauf der Makroausführung behandelt werden. Die Behandlung der Makroausführung ist in der Regel der Abbruch der Makroausführung. Die Makroausführung erfolgt aber im Zusammenhang einer Auslösung eines Ereignisses. Es muss bzw. kann also unterschieden werden, ob die Ausführung der Makroausführung beendet werden soll, oder ob das Ereignis mit Fehler beendet (abgebrochen) werden soll. Dabei kann es sich nur um Ereignisse handeln, die vor einer Aktion ausgeführt werden (z.B. "Vor Änderung", "Vor Löschung" beim Datensatz/Datenstruktur).
- Makrobefehl "StoppMakro": Alle nachfolgende Makrobefehle werden nicht mehr ausgeführt. Das Ereignis wird wie vorgesehen behandelt. Wird der Makrobefehl also z.B. im Ereignis "Vor Änderung" eines Datensatzes hinterlegt, wird der Datensatz trotzdem gespeichert.
- Makrobefehl "Abbruch": Alle nachfolgende Makrobefehle werden nicht mehr ausgeführt. Das Ereignis wird abgebrochen (die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" werden auf True gesetzt). Wird der Makrobefehl also z.B. im Ereignis "Vor Änderung" eines Datensatzes hinterlegt, wird der Datensatz nicht gespeichert.
Es gibt aber auch Ereignisse, deren Aktion während oder vor der Makroausführung durchgeführt werden. Beim Ereignis "Beim Anzeigen" eines Daten-Edit-Elementes haben die beiden Makrobefehle die gleiche Auswirkung. Wird im diesem Ereignis der Makrobefehl "Abbruch" verwendet, so werden nachfolgende Makrobefehle nicht mehr ausgeführt, der Datensatz wird aber trotzdem angezeigt.
Der typische Anwendungsfall für den Makrobefehl "Abbruch", ist den Zweig einer nicht erfolgreichen Validierung abzudecken, also die Makroausführung zu stoppen und das Ereignis zu "canceln" ("Vor Änderung", "Vor Löschung").
Der typische Anwendungsfall für den Makrobefehl "StoppMakro" ist die Makroausführung zu stoppen. Dabei wird i.d.R. die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" durch andere Makrobefehle auf True gesetzt.
Beispiel: eine Aktion eines Kontextmenüeintrags in den Stammdaten bedingt einen aktuellen (also gespeicherten) Datensatz.
Folgende Makros wären zu hinterlegen:
Zeile | Befehl | Parameter 1 | Parameter 2 | Parameter 3 | Parameter 4 |
---|---|---|---|---|---|
1 | DatensatzSpeichern | True | |||
2 | Wenn | [_Canceled] = True | |||
3 | StoppMakro | ||||
4 | Sonst | ||||
... | weitere Befehle |
Zum Abbruch einer Aktion gehört i.d.R. auch eine Meldung mit dem Grund des Abbruchs. Für die Anzeige der Meldung stehen vier Makrobefehle zur Verfügung.
- Makrobefehl "Meldungsfeld": Hier wird die Meldung in einem Dialog angezeigt. Der Makrobefehl kann also nur clientseitig ausgeführt werden. Das Ergebnis (Klick des Buttons) muss ausgewertet werden und gegebenenfalls das Ereignis mit dem Makrobefehl "Abbruch" abgebrochen werden.
- Makrobefehl "FehlerMelden": Fügt eine Fehlermeldung in die Meldungsliste der Anwendung ein. Die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" werden nicht gesetzt. Soll also das Ereignis abgebrochen werden, muss anschließend der Makrobefehl "Abbruch" ausgeführt werden.
- Makrobefehl "HinweisMelden": Fügt eine Hinweismeldung in die Meldungsliste der Anwendung ein. Die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" werden nicht gesetzt. Soll also das Ereignis abgebrochen werden, muss anschließend der Makrobefehl "Abbruch" ausgeführt werden.
- Makrobefehl "Fehler": Fügt eine Fehlermeldung in die Meldungsliste der Anwendung ein (oder auf dem Client eventuell auch im Dialog). Die systeminterne Variable "Cancel" und die lokale Variable "_Canceled" werden auf True gesetzt. Der Makrobefehl ist also die Kombination aus den Befehlen "FehlerMelden" und "Abbruch".
Bei der Wahl des Makrobefehls für die Anzeige eines Fehlers oder Hinweises, ist man abhängig vom Ort (Client oder Server) einer Validierung.
Gleichfalls: Hier sollte es “Berichtes“ sagen. :)