Handler
Diese Datei dokumentiert alle Makrofunktionen der Kategorie Handler.
Inhaltsverzeichnis
- OnActivateForm(Form)
- OnActivateSession()
- OnAutoComplete([FormName],[DocType],[Table])
- OnCloseForm(Form)
- OnCommand(Form,Cmd)
- OnDeletedRecord()
- OnDeleteRecord()
- OnEnableFld(Field,Form)
- OnEnableForm(Form,FormName)
- OnEndedSession()
- OnEndSession()
- OnEReceiptXmlDocumentCreated()
- OnExitSession()
- OnInit()
- OnInitChart([Form],[Field])
- OnInitFldData(Field,Form)
- OnInitForm(Form)
- OnInitSession()
- OnKillFocus(Field,Form)
- OnList([FormName],[DocType],[Table])
OnList[Formularname](DocType,Table)- OnListInit([InitOnly],[DocType],[FormName])
- OnListOkay(Field,Form,Datensatz)
- OnLoadedForm(Form)
- OnLocalTimer()
- OnLogin(Mandant,User)
- OnLogout(Mandant,User)
- OnMandant()
- OnMenuInit(MenuName,Menu)
- OnModified(Field,Form)
- OnModifiedDelay(Field,Form)
- OnOpenForm(Form)
- OnQueryDeleteRow(Form,Field,Value)
- OnReloadForm(Form)
- OnResetForm(Form)
- OnResetRow(Form,Field)
- OnSavedRecord(DocType,Table,NewFlag)
- OnSaveModified(Form)
- OnSaveRecord(DocType,Table,NewFlag)
- OnSetFocus(Field,Form)
- OnStartedSession()
- OnStartSession()
- OnTimer()
- OnUserBreak()
- OnUserMessage([Value],[Text],[Text],[Hyperlink],[Text])
- OnValidatedField(Form,Field,Value)
- OnValidateField(Form,Field,Value)
OnActivateForm(Form)
Wird bei Activierung des Formulars aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnActivateSession()
Wird nach erfolgreicher Aktivierung und Wiederherstellung der Benutzeroberfläche aufgerufen. (Nur im System-Makro möglich)
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnAutoComplete([FormName],[DocType],[Table])
Wird für Autocomplete eines Eingabefeldes 2 aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | FormName | Optional: Formularname |
| 2 | DocType | Optional: Dokumentart / Name der Tabelle |
| 3 | Table | Optional: Tabellennummer für den Feldzugriff via GetFld(...) |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
42 Makro Runtime
OnCloseForm(Form)
Wird vor Verlassen des Formulares aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnCommand(Form,Cmd)
Wird bei Aufruf eines Kommandos aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
| 2 | Cmd | Kommando |
Rückgabewert
1:Abbruch, 0:Fortsetzen
Verfügbarkeit
Standard
Beispiel
siehe AddMenuItem
siehe GetFldData
siehe OnMenuInit
siehe StartList
OnCommand(From, Cmd)
{
.....
.....
return(0);
}
OnDeletedRecord()
Wird vor Löschen eines Datensatzes aufgerufen. (Nur im System-Makro möglich)
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
Beispiel
Ein Beispiel finden Sie in der Datei 42System.42m im Verzeichnis Makro / Beispiele / Programmierhandbuch Beispiele
OnDeletedRecord(DocType, Table)
{
if(stricmp(DocType, "Kunde") == 0)
{
Name = GetFld("Name", Table, 1);
KndNr = GetFld("Kundennummer", Table, 1);
MessageBox(fmt("Sie haben den Kunden {0} mit der Kundennummer {1} erfolgreich gelöscht!", Name, KndNr), "Information aus dem System-Makro");
}
}
OnDeleteRecord()
Wird vor Löschen eines Datensatzes aufgerufen. (Nur im System-Makro möglich)
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
0:Löschen durchführen, 1:Löschen nicht durchführen
Verfügbarkeit
Standard
Beispiel
Ein Beispiel finden Sie in der Datei 42System.42m im Verzeichnis Makro / Beispiele / Programmierhandbuch Beispiele
OnDeleteRecord(DocType, Table)
{
ret = 0;
if(stricmp(DocType, "Kunde") == 0)
{
Name = GetFld("Name", Table, 1);
KndNr = GetFld("Kundennummer", Table, 1);
ErgMes = MessageBox(fmt("Wollen Sie den Kunden {0} mit der Kundennummer {1} wirklich löschen!", Name, KndNr), "Information aus dem System-Makro", "YESNO");
if(stricmp(ErgMes, "Yes") == 0)
ret = 0;
else
ret = 1;
}
return(ret);
}
OnEnableFld(Field,Form)
Wird zur Freigabe eines Feldes aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Field | Feldname |
| 2 | Form | Formularnummer |
Rückgabewert
0=Keine Änderung, 1=Eingabe freigeben, -1=Eingabe sperren
Verfügbarkeit
Standard
Beispiel
// Variante die verwendet werden soll
OnEnableFldZusatztext(Field, Form)
{
return(-1);
}
// Variante die aus Performancegründen nicht mehr verwendet werden soll
OnEnableFld(Field, Form)
{
if(stricmp(Field, ”Zusatztext”) == 0)
return(-1);
return(0);
}
OnEnableForm(Form,FormName)
Wird zur Freigabe eines Formulars oder Registers aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
| 2 | FormName | Formularname |
Rückgabewert
0=Keine Änderung, 1=Eingabe freigeben, -1=Eingabe sperren
Verfügbarkeit
Standard
Beispiel
OnEnableForm(Form, FormName)
{
if(stricmp(FormName, "Bank/Fibu") == 0)
return(-1);
return(0);
}
OnEndedSession()
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnEndSession()
Wird bei Systemende aufgerufen. (Nur im System-Makro möglich)
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnEReceiptXmlDocumentCreated()
Wird nach Erstellung eines XML-Datei durch den Xml Export aufgerufen, nur für Pluginmakros möglich
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
0=Ausführung fortsetzen, 1=Abbruch
Verfügbarkeit
42 Makro Runtime
OnExitSession()
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnInit()
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnInitChart([Form],[Field])
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Optional: Formularnummer, wenn verfügbar |
| 2 | Field | Optional: Feldname des Diagramm Steuerelements, wenn vorhanden |
Rückgabewert
1: Das Array 'data' wurde mit Werten gefüllt. 0=Fehler, keine Anzeige
Verfügbarkeit
42 Makro Runtime
OnInitFldData(Field,Form)
Wird nach Initialisierung eines Feldes durch das Programm aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Field | Feldname |
| 2 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnInitForm(Form)
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnInitSession()
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnKillFocus(Field,Form)
Wird bei Verlassen aller Eingabefelder aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Field | Feldname |
| 2 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
Beispiel
// Variante die verwendet werden soll
OnKillFocusStrasse(Field, Form)
{
MessageBox (fmt("Es wurde das Feld {0} verlassen", Field), "Information");
}
OnKillFocusOrt(Field, Form)
{
MessageBox(fmt("Es wurde das Feld {0} verlassen", Field), "Information");
}
// Variante die aus Performancegründen nicht mehr verwendet werden soll
OnKillFocus(Field, Form)
{
if(stricmp(Field, "Name") == 0)
MessageBox(fmt("Es wurde das Feld {0} verlassen", Field), "Information");
if(stricmp(Field, "Strasse") == 0)
MessageBox(fmt("Es wurde das Feld {0} verlassen", Field), "Information");
if(stricmp(Field, "Plz") == 0)
MessageBox(fmt("Es wurde das Feld {0} verlassen", Field), "Information");
if(stricmp(Field, "Ort") == 0)
MessageBox(fmt("Es wurde das Feld {0} verlassen", Field), "Information");
}
OnList([FormName],[DocType],[Table])
Wird für jedes Formular einer Liste aufgerufen und ermöglicht die Anpassung einer Liste via Makroskript. Bitte an Stelle des Platzhalters den gewünschten Formularnamen eintragen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | FormName | Optional: Formularname |
| 2 | DocType | Optional: Dokumentart / Name der Tabelle |
| 3 | Table | Optional: Tabellennummer für den Feldzugriff via GetFld(...) |
Rückgabewert
0=Listenverarbeitung fortsetzen, 1=Nächstes Formular, 2=Listenende, 3=Neue Seite
Verfügbarkeit
Standard
OnList[Formularname](DocType,Table)
Wird für jedes Formular einer Liste aufgerufen und ermöglicht die Anpassung einer Liste via Makroskript. Bitte an Stelle des Platzhalters den gewünschten Formularnamen eintragen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | DocType | Dokumentart / Name der Tabelle |
| 2 | Table | Tabellennummer für den Feldzugriff via GetFld(...) |
Rückgabewert
0=Listenverarbeitung fortsetzen, 1=Nächstes Formular, 2=Listenende, 3=Neue Seite
Verfügbarkeit
Standard
OnListInit([InitOnly],[DocType],[FormName])
Wird vor Start der Liste aufgerufen, ermöglicht erweiterte Benutzerselektionen oder weitere Druckaufbereitung
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | InitOnly | Optional: 1:Designermode, 0:Drucklauf, Initialisierung |
| 2 | DocType | Optional: Tabelle (Datenbezug) des Formulares, wenn vorhanden. |
| 3 | FormName | Optional: Formularname |
Rückgabewert
0=Listenverarbeitung starten, 1=Listenverarbeitung nicht starten
Verfügbarkeit
Standard
OnListOkay(Field,Form,Datensatz)
Wird bei Doppelklick einer Zeile der Liste aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Field | Feldname |
| 2 | Form | Formularnummer |
| 3 | Datensatz | Index des gewählten Zeile |
Rückgabewert
0=Mit Standardfunktion fortsetzen wenn vorhanden, 1=Standardfunktion unterbinden
Verfügbarkeit
Standard
OnLoadedForm(Form)
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnLocalTimer()
Timer-Tick im Intervall von StartLocalTimer(), Nur für Pluginmakros möglich
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
42 Makro Runtime
OnLogin(Mandant,User)
Wird nach erfolgreicher Benutzeranmeldung aufgerufen. (Nur im System-Makro möglich)
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Mandant | Mandantname |
| 2 | User | Userkennung |
Rückgabewert
0:Userlogin fortsetzten, 1:Userlogin abbrechen
Verfügbarkeit
Standard
OnLogout(Mandant,User)
Wird vor entgültiger Benutzerabmeldung aufgerufen. (Nur im System-Makro möglich)
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Mandant | Mandantname |
| 2 | User | Userkennung |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnMandant()
Wird bei Mandanenwechsel aufgerufen. (Nur im System-Makro möglich)
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnMenuInit(MenuName,Menu)
Wird bei Erstellung eines Menüs aufgerufen. (Nur im System-Makro möglich)
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | MenuName | Menüname |
| 2 | Menu | Menünummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
Beispiel
Ein Beispiel finden Sie in der Datei 42System.42m im Verzeichnis Makro / Beispiele / Programmierhandbuch Beispiele
OnMenuInit(MenuName, Menu)
{
if(stricmp(MenuName, "Documents") == 0)
{
// Beispiel für das einfügen eines neuen Menüeintrages in der Auswahlleiste unter einem bestehend Menüeintrag
if((MenuHandle = FindPopupMenu(Menu, "Auswertung")) > 0)
{
if(FindMenuItem(MenuHandle, "MeineAuswertung") < 0)
AddMenuItem(MenuHandle, "MeineAuswertung");
}
// Beispiel für das einfügen eines neuen Menüeintrages inkl. neuer Untermenüs in der Auswahlleiste
if(FindPopupMenu(Menu, "Mein Menü") == 0)
{
AddPopupMenu(Menu, "Mein Menü", 10);
if((MenuHandle1 = FindPopupMenu(Menu, "Mein Menü")) > 0)
{
if(FindMenuItem(MenuHandle1, "Mein Eintrag") < 0)
AddMenuItem(MenuHandle1, "Mein Eintrag");
if(FindMenuItem(MenuHandle1, "MakroTest") < 0)
AddMenuItem(MenuHandle1, "MakroTest");
}
}
}
// Neuer Menüeintrag sowohl in allen Dokementmenüs als auch im Hauptmenü
if(stricmp(MenuName, "Frame") == 0)
{
if(FindPopupMenu(Menu, "Haupt und Dokumentmemü") == 0)
{
AddPopupMenu(Menu, "Haupt und Dokumentmemü", 3);
if((MenuHandle2 = FindPopupMenu(Menu, "Haupt und Dokumentmemü")) > 0)
{
if(FindMenuItem(MenuHandle2, "Mein Untermenü 1") < 0)
AddMenuItem(MenuHandle2, "Mein Untermenü 1");
if(FindMenuItem(MenuHandle2, "Mein Untermenü 2") < 0)
AddMenuItem(MenuHandle2, "Mein Untermenü 2");
}
}
}
// Neuer Menüeintrag und neues Menü bei definierter Dokumentart
if(stricmp(MenuName, "Kunde") == 0)
{
// Menüitem in bestehendes Kundenmenü einbauen
if(MenuHandle3 = FindPopupMenu(Menu, "Kunde"))
if(FindMenuItem(MenuHandle3, "Mein Kundeneintrag") < 0)
AddMenuItem(MenuHandle3, "Mein Kundeneintrag", 3);
// neues Popupmenü in bestehendes Kundenmenü einbauen
if(FindPopupMenu(MenuHandle3, "Mein Kundenmenü") == 0)
{
AddPopupMenu(MenuHandle3, "Mein Kundenmenü", 3);
if((MenuHandle4 = FindPopupMenu(MenuHandle3, "Mein Kundenmenü")) > 0)
{
if(FindMenuItem(MenuHandle4, "Mein Kunden Untermenü 1") < 0)
AddMenuItem(MenuHandle4, "Mein Kunden Untermenü 1");
if(FindMenuItem(MenuHandle4, "Mein Kunden Untermenü 2") < 0)
AddMenuItem(MenuHandle4, "Mein Kunden Untermenü 2");
}
}
if(FindPopupMenu(Menu, "Mein Kunden Hauptmenü") == 0)
{
AddPopupMenu(Menu, "Mein Kunden Hauptmenü", 3);
if((MenuHandle5 = FindPopupMenu(Menu, "Mein Kunden Hauptmenü")) > 0)
{
if(FindMenuItem(MenuHandle5, "Mein Kunden Untermenü 1") < 0)
AddMenuItem(MenuHandle5, "Mein Kunden Untermenü 1");
if(FindMenuItem(MenuHandle5, "Mein Kunden Untermenü 2") < 0)
AddMenuItem(MenuHandle5, "Mein Kunden Untermenü 2");
}
}
}
// Neues Dokumentspezifisches Menü
if(stricmp(MenuName, "MakroTest") == 0)
{
if(FindPopupMenu(Menu, "MakroTest") == 0)
{
AddPopupMenu(Menu, "MakroTest", 3);
if((MenuHandle6 = FindPopupMenu(Menu, "MakroTest")) > 0)
{
if(FindMenuItem(MenuHandle6, "Mein Untermenü 1") < 0)
AddMenuItem(MenuHandle6, "Mein Untermenü 1");
if(FindMenuItem(MenuHandle6, "Mein Untermenü 2") < 0)
AddMenuItem(MenuHandle6, "Mein Untermenü 2");
}
}
}
}
OnCommand(Form, Cmd)
{
if(stricmp(Cmd, "Mein Eintrag") == 0)
{
MessageBox("Mein Eintrag", "Menü");
return(1);
}
if(stricmp(Cmd, "Mein Kundeneintrag") == 0)
{
MessageBox("Mein Kundeneintrag", "Menü");
return(1);
}
if(stricmp(Cmd, "Mein Kunden Untermenü 1") == 0)
{
MessageBox("Mein Kunden Untermenü 1", "Menü");
return(1);
}
if(stricmp(Cmd, "Mein Kunden Untermenü 2") == 0)
{
MessageBox("Mein Kunden Untermenü 2", "Menü");
return(1);
}
if(stricmp(Cmd, "Mein Untermenü 1") == 0)
{
MessageBox("Mein Untermenü 1", "Menü");
return(1);
}
if(stricmp(Cmd, "Mein Untermenü 2") == 0)
{
MessageBox("Mein Untermenü 2", "Menü");
return(1);
}
return(0);
}
OnModified(Field,Form)
Wird bei Verlassen aller geänderter Eingabefelder aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Field | Feldname |
| 2 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
Beispiel
// Vorbelegung bei geänderten Feldinhalten
OnModified(Field, Form)
{
if(stricmp (Field, "Kundensuche") == 0)
{
if(StartEdit (Form))
{
SetFldData (GetCurrentForm(), "Auftragstext", "Vorbelegung nach Kundenauswahl");
// Mitarbeiterkurz immer mit dem angemeldeten Benutzer belegen
SetFldData (GetCurrentForm(), "Mitarbeiterkurz", LoginInfo ("Kennung"));
}
}
}
OnModifiedDelay(Field,Form)
Wird nach Verlassen aller geänderter Eingabefelder aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Field | Feldname |
| 2 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnOpenForm(Form)
Wird nach Öffnen des Formulares aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnQueryDeleteRow(Form,Field,Value)
Wird vor Löschen einer Zeile innerhalb eines Datenbank-Listenfeldes aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
| 2 | Field | Feldname |
| 3 | Value | Zeile |
Rückgabewert
0=Löschen wird durchgeführt, 1=Löschen verhindern
Verfügbarkeit
Standard
OnReloadForm(Form)
Wird nach Speichern bevor Laden aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnResetForm(Form)
Wird nach Initialisierung eines neuen Dokuments durch den Benutzer aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnResetRow(Form,Field)
Wird nach Initialisierung eines neuen Datensatzes innerhalb eines Datenbank-Listenfeldes durch den Benutzer aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
| 2 | Field | Feldname |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
42 Makro Runtime
OnSavedRecord(DocType,Table,NewFlag)
Wird nach Archivierung eines Datensatzes aufgerufen. (Nur im System-Makro möglich)
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | DocType | Dokumentart |
| 2 | Table | Tabellennummer |
| 3 | NewFlag | Neu-Kennzeichen: 0=vorhandener Eintrag, 1=neuer Eintrag |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
Beispiel
Ein Beispiel finden Sie in der Datei 42System.42m im Verzeichnis Makro / Beispiele / Programmierhandbuch Beispiele
OnSavedRecord(DocType, Table, NewFlag)
{
if(stricmp(DocType, "Kunde") == 0)
{
Name = GetFld("Name", Table, 1);
KndNr = GetFld("Kundennummer", Table, 1);
MessageBox(fmt("Sie haben den Kunden {0} mit der Kundennummer {1} erfolgreich anleget!", Name, KndNr), "Information aus dem System-Makro");
}
}
OnSaveModified(Form)
Wird zum Speichern eines geänderten Datensatzes aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
Rückgabewert
-1:Daten verwerfen, 1:Abbruch 0:Speichern
Verfügbarkeit
Standard
Beispiel
OnSaveModified(Form)
{
KndNr = GetFldData (Form, "Kundennummer");
if(KndNr <> 666666)
return(0);
MessageBox ("Kundennummer "+KndNr+" nicht zulässig!");
return(-1);
}
OnSaveModified(Form)
{
TelefonNr = GetFldData (Form, "Telefon");
Telefon = left (TelefonNr, 4);
if(stricmp(Telefon, "0049") == 0)
return(0);
MessageBox("Die Telefonnummer "+Telefon+" ist nicht zulässig!\r\n\r\nDie Telefonnummer muß mit >> 0049 << beginnen"');
return(-1);
}
// Initialisierungen bei geänderten Datensätzen
OnSaveModified(Form)
{
// prüfen ob in dem Feld schon ein Inhalt vorhanden ist
// nur bei leerem Feld das Feld Auftragstext befüllen
erg = GetFldData (Form, "Auftragstext");
if(strlen(erg) <= 0)
SetFldData (GetCurrentForm (), "Auftragstext", "Vorbelegung bei SaveModified");
// Feld Mitarbeiter immer mit dem angemeldeten Benutzer belegen
SetFldData (GetCurrentForm (), "Mitarbeiterkurz", LoginInfo ("Kennung"));
return(0);
}
OnSaveRecord(DocType,Table,NewFlag)
Wird vor Archivierung eines Datensatzes aufgerufen. (Nur im System-Makro möglich)
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | DocType | Dokumentart |
| 2 | Table | Tabellennummer |
| 3 | NewFlag | Neu-Kennzeichen |
Rückgabewert
0:Archivierung durchführen, 1:Archivierung nicht durchführen
Verfügbarkeit
Standard
Beispiel
Ein Beispiel finden Sie in der Datei 42System.42m im Verzeichnis Makro / Beispiele / Programmierhandbuch Beispiele
// Es darf keine Kunde mit dem Namen "Müll" angelegt werden
OnSaveRecord(DocType, Table, NewFlag)
{
ret = 0;
if(stricmp(DocType, "Kunde") == 0)
{
Name = GetFld("Name", Table, 1);
if(stricmp(Name, "Müll") == 0)
{
MessageBox(fmt("Sie dürfen keinen Kunden mit dem Namen {0} anlegen!", Name), "Information aus dem System-Makro");
ret = 1;
}
}
return(ret);
}
OnSetFocus(Field,Form)
Wird bei Betreten aller Eingabefelder aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Field | Feldname |
| 2 | Form | Formularnummer |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
Beispiel
// Variante die verwendet werden soll
OnSetFocusStrasse(Field, Form)
{
MessageBox (fmt("Es wurde das Feld {0} fokusiert", Field), "Information");
}
OnSetFocusOrt(Field, Form)
{
MessageBox(fmt("Es wurde das Feld {0} fokusiert", Field), "Information");
}
// Variante die aus Performancegründen nicht mehr verwendet werden soll
OnSetFocus(Field, Form)
{
if(stricmp(Field, "Name") == 0)
MessageBox(fmt("Es wurde das Feld {0} fokusiert", Field), "Information");
if(stricmp(Field, "Strasse") == 0)
MessageBox(fmt("Es wurde das Feld {0} fokusiert", Field), "Information");
if(stricmp(Field, "Plz") == 0)
MessageBox(fmt("Es wurde das Feld {0} fokusiert", Field), "Information");
if(stricmp(Field, "Ort") == 0)
MessageBox(fmt("Es wurde das Feld {0} fokusiert", Field), "Information");
}
OnStartedSession()
Wird nach erfolgreichen Systemstart (inkl. Login) aufgerufen. (Nur im System-Makro möglich)
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
Beispiel
Ein Beispiel finden Sie in der Datei 42System.42m im Verzeichnis Makro / Beispiele / Programmierhandbuch Beispiele
OnStartedSession()
{
// Dokumentart mit Datenbankdefinition registrieren
// Datenbankdefinition und Formulare finden Sie im Verzeichnis Makro / Beispiele / Programmierhandbuch Beispiele
RegisterDocType ("MakroTest", "XTabKey", "XMltKey", "1", "1", "1", "1");
// Registierung für ein Dokumentspezifisches Menü
RegisterDocMenu ("MakroTest");
// Dokumentart ohne Datenbankdefiniton registrieren (Dokumentname = Formularname)
// zum Test müssen Sie ein Formular mit dem Dateinamen MeineAuswertung.for" erstellen
RegisterDocType ("MeineAuswertung");
}
OnStartSession()
Wird bei Systemstart aufgerufen. (Nur im System-Makro möglich)
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnTimer()
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
Beispiel
Ein Beispiel finden Sie in der Datei 42System.42m im Verzeichnis Makro / Beispiele / Programmierhandbuch Beispiele
Siehe auch StartTimer
OnTimer()
{
print("Timer Aufruf alle 20 sec : "+SysTime())
}
OnUserBreak()
Wird bei Abbruch Benutzerabbruch des Makros aufgerufen.
Parameter
Diese Funktion hat keine oder keine benannten Parameter.
Rückgabewert
1:Abbruch, 0:Userabfrage, -1:Fortsetzen
Verfügbarkeit
Standard
OnUserMessage([Value],[Text],[Text],[Hyperlink],[Text])
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Value | Optional: Eindeutige Id dieser Meldung |
| 2 | Text | Optional: Angezeigter Text |
| 3 | Text | Optional: Kommando: Hyperlink=Ein Hyperlink im Text wurde angeklickt, Close=Meldung wurde geschlossen |
| 4 | Hyperlink | Optional: Angeklickter Link / Text |
| 5 | Text | Optional: Eventdaten: Die übergebenen Parameter von UserMessage() zur Verarbeitung |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Verfügbarkeit
Standard
OnValidatedField(Form,Field,Value)
Wird nach Prüfung des Inhaltes innerhalb eines Datenbank-Listenfeldes nach Eingabe durch den Benutzer aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
| 2 | Field | Feldname |
| 3 | Value | Feldinhalt |
Rückgabewert
0=Feldinhalt okay, 1=Inhalt nicht gültig, ggf. Korrektur oder Vorbelegung anderer Felder durch SetFldProperty() erfolgt
Verfügbarkeit
Standard
OnValidateField(Form,Field,Value)
Wird vor Prüfung des Inhaltes innerhalb eines Datenbank-Listenfeldes nach Eingabe durch den Benutzer aufgerufen
Parameter
| Nr. | Parameter | Beschreibung |
|---|---|---|
| 1 | Form | Formularnummer |
| 2 | Field | Feldname |
| 3 | Value | Feldinhalt |
Rückgabewert
0=Feldinhalt okay, 1=Inhalt nicht gültig, ggf. Korrektur oder Vorbelegung anderer Felder durch SetFldProperty() erfolgt
Verfügbarkeit
Standard