...
Um geziehlt einzelne Verträge zu verlängern, können Sie innerhalb des jeweiligen Vertrags im Menüband “Rechnungswesen” die Schaltfläche “Vertragsverlängerung” wählen.
EingabeValidieren
Die Validieren der Nutzereingaben mit dem Ziel den Speicherprozess zu unterbinden, sofern diese nicht den Erwartungen entsprechen sollte nicht erst in der Vertragsberechnung geschehen.
Hierfür kann das Event “EingabeValidieren” verwendet werden. Dieses wird je Vertragsspartendatensatz ausgelöst, wenn dieser im Datensatz für die Speicherung vorgesehen wird.
Codeblock | ||
---|---|---|
| ||
Sparte.Edit;
Sparte.Post; // Hier wird jetzt EingabeValidieren ausgelöst. |
Innerhalb des Events kann die produktspezifische Prüfungen nach Ihren Vorstellungen implementiert werden. Das Event erwartet bei Erfolg keine Rückgabe oder die leere Rückgabe eines Fehlertexts. Bei Rückgabe eines Fehlertexts wird im weiteren Verlauf die Speicherung unterbrochen.
Codeblock | ||
---|---|---|
| ||
var Fehlertext = "";
var Praemie = 0;
if (Praemie == 0) {
Fehlertext = "Die Prämie darf nicht 0 sein. Die Speicherung wird abgebrochen.";
}
// Wir geben unseren Fehlertext nun aus dem Event heraus,
// was zum Abbruch der Speicherung führen wird, sofern
// dieser Text nicht leer ist.
ActionData.SetString("FehlerMeldung", Fehlertext); |
Oberflächenlogik
Allgemein
...
Funktion | Beschreibung |
---|---|
ProvideQuery | Liefert ein leeres Datenobjekt zurück. |
ProvideAmsObjekt(ClassName: String) | Liefert ein leeres Datenobjekt des angegebenen Typs zurück. |
ProvideDataSet | Liefert ein leeres Datenobjekt zurück. |
QuerySingleValue(SQL: String) | Führt die übergebene SQL-Anweisung aus und gibt den Wert des ersten Felds als Variant zurück. |
CurrentUsername | Gibt den Namen des angemeldeten AMS Benutzers zurück. |
NeuerBrief(VorlageID; EmpfaengerTyp; EmpfaengerID : string) | Legt ein neues Briefeobjekt an und gibt dieses zurück (Siehe TScriptDokument). |
NeueMail(EmpfaengerTyp, EmpfaengerID: string) | Legt ein neues Mailobjekt an und gibt dieses zurück (Siehe TScriptMail) |
ControlCount | Gibt die Anzahl an Steuerelementen (Komponenten) zurück. |
Controls(Name: String) | Ermittelt anhand des Feldnamens oder ControlNamen ein Steuerelement und gibt dieses zurück. |
ControlsByFieldName(FieldName: String) | Ermittelt anhand des Feldnamens ein Steuerelement und gibt dieses zurück. |
ControlsByControlName(ControlName: String) | Ermittelt anhand des ControlNamen ein Steuerelement und gibt dieses zurück. |
ControlsByIndex(Index : Integer) | Ermittelt anhand des übergebenen Index ein Steuerelement und gibt dieses zurück. |
UserChoice(Text: String) | Zeigt den Text in einem Dialog mit „Ja“ und „Nein“ Schaltflächen an und liefert die Auswahl zurück. |
...
Methode | Beschreibung |
---|---|
SetClearText(Text: String) | Blendet im Dialog eine Schaltfläche zum Entfernen einer Verknüpfung ein und beschriftet diese mit dem angegebenen Text. |
SetTable(Name: String) | Setzt den Namen der Tabelle, in der nachgeschlagen werden soll. |
SetFilteredTable(Name, Filter: String) | Setzt den Namen der Tabelle, in der Nachgeschlagen werden soll und einen Vorgabefilter. |
OpenDetail(Datenbank-Id: String) | Wurde ein Tabellenname gesetzt, wird das mit ID identifizierte Objekt in der entsprechenden Detailmaske geöffnet. Konnte zu der Tabelle kein Detailframe erkannt werden, geschieht nichts. |
OpenDetailParams(Parameter: String) | Wurde zu der gesetzten Tabelle ein Detailframe gefunden, wird dieses mit den übergebenen Parametern geöffnet. |
OpenFrameByName(FrameName, Parameter: String) | Die Maske mit dem Namen „FrameName“ wird, mit den übergebenen Parametern, geöffnet. |
EditUserDomain(Name: String) | Es wird ein Dialog geöffnet, in dem der Anwender die Nachschlageliste, welche mit dem übergebenen Parameter identifiziert wird, bearbeiten werden. |
ShowAppendBtn(Anzeigen: Boolean) | Damit kann die „Neuanlage“ Schaltfläche ein- / ausgeblendet werden. |
ShowDeleteBtn(Anzeigen: Boolean) | Damit kann die „Löschen“ Schaltfläche ein- / ausgeblendet werden. |
Funktionen
Funktion | Beschreibung | ShowDialogBeschreibung |
---|---|---|
ShowDialog | Zeigt den Dialog an und liefert true zurück, wenn eine Auswahl getroffen wurde oder die Referenz entfernt werden soll. | |
ShowDialogFiltered(Feld, Wert: String) | Zeigt den Dialog, mit den vorgefilterten Daten, an und liefert true zurück, wenn eine Auswahl getroffen wurde oder die Referenz entfernt werden soll. | |
ShowDialogFilteredShowDialogFiltered2(Feld, Wert, PermanentFilterAusdruck, PermanentFilterCaption: String; IstPermanentFilterSchaltflächeFuerAnwenderSichtbar : bool) | Zeigt den Dialog, mit den vorgefilterten Daten, an und liefert true zurück, wenn eine Auswahl getroffen wurde oder die Referenz entfernt werden soll. Zusätzlich wird der bei Angabe der PermanentFilter-Parameter die Filterung beibehalten, auch wenn der Anwender die Auswahl selbstständig nachfiltert. | |
Cleared | Kann nach dem Aufruf von ShowDialog ausgewertet werden. Wenn true zurückgegeben wird, dann soll die Referenz entfernt werden. | |
Result | Beinhaltet eine Datenmenge, in der der ausgewählte Datensatz (die gewünschte Referenz) vorselektiert ist. | |
DetailFrameAvailable | Kann nach SetTable ausgewertet werden und gibt an, ob zu der ein Detailframe gefunden wurde. | |
ListFrameAvailable | Kann nach SetTable ausgewertet werden und gibt an, ob zu der Tabelle ein Listeframe gefunden wurde. | |
LookupResult | Gibt an, über welche Schaltfläche der Dialog geschlossen wurde. 0 = Schließen 1 = Auswahl 2 = Feld leeren 3 = Neuanlage 4 = Löschen |
...
Eigenschaft | Beschreibung |
---|---|
Enabled | Hiermit wird gesteuert, ob das Steuerelement aktiv ist. Wird es deaktiviert, ist eine Interaktion durch den Anwender nicht mehr möglich. |
Visible | Gibt an, ob das Steuerelement sichtbar ist. |
Top | Gibt den Abstand zum oberen Rand des Elternelements an. |
Left | Gibt den Abstand zum linken Rand des Elternelements an. |
Height | Gibt die Höhe des Steuerelements an. |
Width | Gibt die Breite des Steuerelements an. |
Color | Gibt die Farbe des Steuerelements an. |
Cursor | Gibt den Mauszeiger an, welcher dargestellt wird, wenn der Zeiger sich auf dem Steuerelement befindet. |
FontSize | Gibt die Schriftgröße an, mit der das Steuerelement Texte ausgibt. |
FontColor | Gibt die Schriftfarbe an, mit der das Steuerelement Texte ausgibt. |
TabOrder | Definiert die Reihenfolge, in der die Steuerelemente angesprungen werden, wenn der Anwender die TAB-Taste drückt. |
TabStop | Gibt an, ob das Steuerelement angesprungen werden kann, wenn der Anwender die TAB-Taste drückt. |
IsReadOnly | Gibt an, ob der Anwender die Daten des Steuerelements bearbeiten kann. |
Caption | Stellt die Beschriftung eines Steuerelements dar. |
Text | Dies ist der Text, welcher vom Steuerelement angezeigt wird. Bei vielen Steuerelementen ist dies auch der Wert, der in der Datenbank gespeichert wird. |
Checked | Gibt an, ob das Steuerelement angehakt ist. |
ItemIndex | Gibt an, welcher Eintrag eines Steuerelements ausgewählt wurde. |
TabVisible | Gibt an, ob der Reiter einer Seite (TabSheet) sichtbar ist. |
TabIndex | Gibt an, welche Seite eines PageControl gerade angezeigt wird. |
IsUserDomain | Gibt an, ob die hinterlegte Vorschlagsliste durch den Anwender bearbeitet werden kann. |
SQL | Enthält das Sql-Statement, welches der verwendeten Datenmenge zugrunde liegt. |
Html | Enthält den Html-Quelltext der Html-Seite, die von dem Steuerelement angezeigt wird. |
HasRefreshButton | Gibt an, ob die „Aktualisieren“-Schaltfläche des Steuerelements sichtbar ist. |
HasReleaseButton | Gibt an, ob die „Verknüpfung lösen“-Schaltfläche des Steuerelements sichtbar ist. |
DateAsTime | Enthält das Datum des Steuerelements als Skript kompatiblen Zeitwert. |
DomainName | Gibt den Namen, der zu verwendenden Nachschlageliste an. |
CurrentPPI | Liefert die Pixel-per-Inch des aktuellen Controls zurück. |
Systemseitige Objekte
ActiveXObject
...
Codeblock | ||
---|---|---|
| ||
// ************************ VERWENDUNG ************************ var res = GetGoogleApiResult("Max-Planck-Straße 14, 53501 Grafschaft", "EUER_COOLER_API_KEY"); var lng = res.results[0].geometry.location.lng; var lat = res.results[0].geometry.location.lat; // ************************ CODE ************************ function GetGoogleApiResult(adresse, apiKey) { var URL = 'https://maps.googleapis.com/maps/api/geocode/json?address="$$ADRESSE$$"&key=' + apiKey; var url = URL.replace("$$ADRESSE$$", adresse); var res = undefined; var xmlHttpRequest = new ActiveXObject("MSXML2.ServerXMLHTTP.3.0"); xmlHttpRequest.open("POST", url, false); xmlHttpRequest.onreadystatechange = function () { if (xmlHttpRequest.readyState == 4) { if (xmlHttpRequest.responseXML.parseError.errorCode != 0) { ScriptHost.RaiseUserException(xmlHttpRequest.responseText & " " & xmlHttpRequest.responseXML.parseError.reason); } else { res = xmlHttpRequest.responseText; } } }; try { xmlHttpRequest.send(); } catch (err) { // What to do on Exception? } return new JsonObject().parse(res); } function JsonObject() { this.parse = function (str) { return new Function("return " + str)(); }; } |
Eigene Tabellen erzeugen
Wie mehrfach erwähnt stellt eine Sparte eine Datenbanktabelle dar. Wenn Sie nun eigene Daten haben, die Sie zum einen Speichern wollen und zum anderen aus Ihren Spartenmasken heraus aufrufen/abfragen wollen, können Sie für diese Daten ebenfalls eine eigene Tabelle erstellen.
Es wird empfohlen die Sparten zu deaktivieren, sodass diese nicht mehr in der Spartenauswahl angezeigt wird.
Hinweis |
---|
Hierbei handelt es sich um einen Workaround. Bitte überlegen Sie, ob diese Art der Umsetzung Sinn in Ihrer Situation ergibt oder ob Ihre Anforderung auch mit Standardverfahren im ams umsetzbar ist. |
Nützliche Links
Script pro Sparte aufteilen
...