Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

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
languagejs
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
languagejs
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

ShowDialog

Funktion

Beschreibung

Beschreibung

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
languagejs
// ************************ 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.

Script pro Sparte aufteilen

...