Hauptformular

<< Click to Display Table of Contents >>

Navigation:  Konfigurierung Webinterface > Individuelles Maskenlayout >

Hauptformular

Attribute

 

andere

Siehe „Erweiterte Einstellungen“.

 

Breite, Höhe

Ausgangsgröße bei Darstellung im Webinterface.

 

Berechtigungen cachen

Beim Öffnen und Speichern einer individuellen Maske werden verschiedene Berechtigungen geprüft (auf die Tabelle, auf das Objekt, individuelle Maske usw.), was eine gewisse Zeit in Anspruch nehmen kann. Um dies zu erleichtern und zu beschleunigen, werden die Berechtigungen standardmäßig alle 300 Sekunden gecached. Falls der Wert für Ihre individuelle Maske nicht passt, können Sie dieses Attribut ändern. Wird der Wert auf 0 gesetzt, werden die benötigten Berechtigungen bei jedem Aufruf geprüft.

 

Hintergrund

siehe auch Hintergrund und Rahmen

 

CustomHTML

 

Beispiel:

<div id="meine_firma__status" style='position:absolute;left:300;top:20;width:30;height:30'></div>

 

MainForm.afterFormInit

var RU=rimacon._userform, RUC=rimacon._userform._customer;

var s=document.getElementById("meine_firma__status");

if (RU.VCOL_STAT.getValue()==1) s.style.backgroundColor="yellow";

if (RU.VCOL_STAT.getValue()==2) s.style.backgroundColor="red";

if (RU.VCOL_STAT.getValue()==3) s.style.backgroundColor="green";

 

Hinweis: Bei der Definition eigener HTML-Objekte dürfen durch die ID keine Konflikte mit bestehenden rimacon-Elementen auftreten. Nutzen Sie daher einzigartige Präfixe wie z.B. den Namen Ihrer Firma.

 

SQL After Save

SQL-Anweisungen werden nach dem Speichern ausgeführt. Dies ermöglicht weitere Datenbankänderungen

 

SQLBeforeFormFirstInited

Dieses SQL-Script wird vor der ersten Maskeninitiierung ausgeführt. Wenn ein Recordset zurückgegeben wird, wird der vorhandene pID-Parameter durch den Wert aus der ersten Zeile der ersten Spalte ersetzt. Dadurch ist es möglich, die über die URL ausgegebene pID zu ändern.

 

Dies ist besonders hilfreich in den folgenden Fällen:

 

1) pID erzeugen

Der Caller kennt die konkrete pID nicht und die Identifizierung erfolgt über einen anderen Parameter.

Beispiel: Maske für Rechner bearbeiten: Eine Drittanbieter-Applikation kennt die rimacon-Datenbank-Rechner-Tabelle nicht und öffnet daher statt pID=<HWM.HWM_ID> die Maske mit dem Rechnernamen.

 

/userform?pSessionKey=<sessionkey>&pUserformID=<userformid>&RechnerName=NB020HH

 

Wenn die Maske für einen solchen Fall vorbereitet ist, kann in SQLBeforeFormFirstInit der RechnerName in ID konvertiert werden:

if $pID=0 and '$RechnerName'<>'' select HWM_ID from HWM where HWM_COMPNAME = '$RechnerName'

 

Im obigen Beispiel wird $RechnerName durch NB020HH ersetzt.

 

2) CI erstellen

Der Caller möchte, dass ein Objekt erstellt und sofort im Bearbeitungsmodus geöffnet wird.

 

Fehler „melden":

Falls die SQLBeforeFormFirstInit die Parameter prüft und einen Fehler findet, sollte das zurückgegebene Recordset mit "error=" anfangen.

 

Beispiel:

select 'error=Parameter xy ist falsch.'

 

Validator konfigurieren

Prüfungen konfigurieren, die durchgeführt werden, bevor das Formular gespeichert wird. Hierfür sind keine Programmierkenntnisse erforderlich.

 

Darüber hinaus können noch weitere Prüfungen zur Validierung über Javascript und C# erstellt werden.

 

Die Durchführung der Prüfungen erfolgt in folgender Reihenfolge:

1) die konfigurierten Prüfungen unter „Validator konfigurieren“

2) die in Javascript erstellten Prüfungen unter JS-Ereignis “customValidator”

3) die in C# erstellten Prüfungen unter Serverereignis “CustomValidator”

 

 

Funktionen

 

autoMoveAndResize.*

Diese Funktion ermöglicht für die konkrete Maskeninstanz das Auslesen und das Ändern der Originaleinstellungen (im rmC) von Größe und Position.  

 

callFncOnAsyncSQLApiDone(key,fnc)

Definiert, welche Funktion nach Beenden einer asynchronen SQL-API-Funktion aufgerufen wird.

Der Parameter key enthält den aus dem Aufruf der SQL-API-Funktion zurückgegebenen Wert.

 

checkIsAsyncSQLApiRunning(key)

Gibt zurück, ob die asynchrone SQL-API noch immer läuft.

Der Parameter key enthält den aus dem Aufruf der SQL-API-Funktion zurückgegebenen Wert.

 

close()

Schliesst das Fenster.

 

ContinueAfterSaveOrApply()

Siehe StopAfterSaveOrApply().

 

convertToServerFormatAsString(tx,convert_date,convert_time)

Konvertiert die Zeichenfolge aus dem Parameter tx in die deutsche Zeitzone und das deutsche Datumformat und gibt das Ergebnis als Zeichenfolge zurück.

Parameter convert_date gibt an, ob das Datum betrachtet werden soll.

Parameter convert_time gibt an, ob die Zeit betrachtet werden soll.

Wenn die Zeichenfolge dem aktuellen Datumformat nicht entspricht, wird eine leere Zeichenfolge zurückgegeben.

 

convertToServerFormatAsJSDate(tx,convert_date,convert_time)

Konvertiert die Zeichenfolge aus dem Parameter tx in die deutsche Zeitzone und das deutsche Datumformat und gibt das Ergebnis als Javascript-Date-Objekt zurück.

Parameter convert_date gibt an, ob das Datum betrachtet werden soll.

Parameter convert_time gibt an, ob die Zeit betrachtet werden soll.

Wenn die Zeichenfolge dem aktuellen Datumformat nicht entspricht, wird eine Javascript-null zurückgegeben.

 

debug

Dieses Objekt hat zwei Funktionen:

-alert(msg): Ruft die window.alert-Funktion auf. Wenn der Debug-Modus zurückgesetzt ist oder der aktuelle Webbenutzer keine Berechtigungen für das debug-Objekt hat, wird der Aufruf dieser Funktion ignoriert.

 

-trace(msg): Schickt eine Zeichenfolge an den HTTP-Server. Eine Liste aller gesendeten Zeichenfolgen wird im Browser unter http://server:port/WebTrace angezeigt. Wenn der Debug-Modus zurückgesetzt ist oder der aktuelle Webbenutzer keine Berechtigungen für das debug-Objekt hat, wird der Aufruf dieser Funktion ignoriert.

 

getBaseObjID()

Gibt die ID des aktuell bearbeiteten Objektes zurück. Gibt bei "neu" eine 0 zurück.

 

getBaseTable()

Gibt zurück, auf welche Tabelle (z.B. ANW,ROL, etc...) die individielle Maske zugreift. Bei tabellenunabhängigen Masken wird eine leere Zeichenfolge zurückgegeben.

 

getBaseWebURL()

Gibt den Webpfad (z.B. http://11.22.33.44:8080) ohne das Endzeichen \ oder / zurück.

 

getClientHeight()

Gibt die innere Fensterhöhe in Pixel zurück.

 

getClientWidth()

Gibt die innere Fensterbreite in Pixel zurück.

 

getCurrentWebuserID()

Gibt die ID (ANW_ID) des aktuellen Webbenutzers zurück.

 

getCurrentWebuserName()

Gibt den Namen des aktuellen Webbenutzers zurück

 

getDBControl(dbname)

Gibt das Element zurück, das der Spalte dbname entspricht oder null

 

GetDirectUrlForContentOfFieldAsImage(vtabid_or_table, column, objid, url_when_error)

rimacon omniSuite ermöglicht einen direkten Zugriff auf Bilder, die in Spalten vom Typ "Datei" gespeichert sind. Diese Funktion generiert eine entsprechende URL, die z.B. in <img>-src genutzt werden kann.

 

Parameter:

vtabid_or_table: Tabelle oder Tabellen-ID (z.B. "VTAB_Drucker")

column: Spalte (z.B. VCOL_Bild)

objid: CI-ID

url_when_error: diese URL wird zurückgegeben, wenn ein Fehler auftritt oder kein Bild hochgeladen wurde

 

Beispiel:

RU.image1.setSrc( RU.MainForm.GetDirectUrlForContentOfFieldAsImage('vtab_drucker','vcol_bild', 12345,'/pics/unknown_pic_16x16.gif') );

 

getGETParamFromURL(paramname)

Gibt den HTTP-GET-Parameterwert zurück.

 

Beispiel:

alert( RU.MainForm.getGETParamFromURL("myparam1") );

 

getParentRU()

Gibt das Parents rimacon._userform-Namespace zurück oder null.

 

getSessionKey()

Gibt den aktuellen Sessionkey zurück.

 

getUserformID()

Gibt die ID der aktuellen individuellen Maske zurück.

 

getUserformTextID()

Gibt die " Zeichenfolge zur Identifikation" der aktueller individuellen Maske zurück.

 

isAfterApply()

Gibt zurück, ob die Maske initial oder nach der Übernahme geöffnet wird.

 

isEN()

Gibt zurück, ob die Sprache für die aktuelle Session Englisch ist.

 

isObjectLocked(table,objectid)

Diese Funktion gibt true zurück, wenn das Objekt von einem anderen Webbenutzer bearbeitet wird, sonst false.

 

isReadonlyMode()

true bedeutet Detail-Modus

 

OpenObjectNeighbourhood(table, obj_id, ae_tgrpid)

Diese Funktion öffnet den Explorer in einem neuen Fenster.

Der Parameter ae_tgrpid identifiziert die Analysestruktur (Tabelle TGRP, Spalte TGRP_ID). Wenn eine gültige ae_tgrpid angegeben wird, wird das Exploring automatisch gestartet.

 

OpenObjectNeighbourhoodForSelectCI(table, obj_id, ae_tgrpid, callback_function)

Diese Funktion öffnet den Explorer in einem neuen Fenster und nach Auswahl eines CIs wird die im callback_function-Parameter definierte Funktion (als Zeichenfolge ohne ()) aufgerufen.

 

Beispiel:

RU.MainForm.OpenObjectNeighbourhoodForSelectCI("ANW", 1, 17,"rimacon._userform._customer.on_explorer_select_ci");

 

Funktion on_explorer_select_ci:

 

Parameter: vtabid,objid

Javascript:

var RU=rimacon._userform, RUC=rimacon._userform._customer;

alert("Ausgewählt: " + vtabid + " | " + objid);

 

OpenReplaceByForm(ewcmid,obj_id,obj_lcid,replaceby_id, replaceby_lcid)

Öffnet eine "ersetzen durch"-Maske für das Objekt mit der ID=obj_id.

 

OpenUSERFORMasDetail(userformid,objid,custom_url)

Öffnet eine individuelle Detail-Maske für das Objekt mit der ID=objid. Die Masken-ID (userformid) ermitteln Sie über Direkt-SQL:

select USERFORM_ID, USERFORM_NAME, USERFORM_DESCR from USERFORM

 

OpenUSERFORMforEdit(userformid,objid,custom_url,refresh_opener)

Öffnet eine individuelle Maske für das Objekt mit der ID=objid.

Mit dem custom_url-Parameter können benutzerspezifische Parameter an die Maske geschickt werden.

 

Die Masken-ID (userformid) ermitteln Sie über Direkt-SQL:

select USERFORM_ID, USERFORM_NAME, USERFORM_DESCR from USERFORM

 

 

Beispiel:

 

RU.MainForm.OpenUSERFORMforEdit(139,objid,"myparam1=abcd&myparam2=efgh",true)

 

Parameterwert in der geöffneten Maske auslesen:

var myparam1=RU.MainForm.getGETParamFromURL("myparam1");

 

 

sendMessageToOpener(msg)

Schickt eine Message an den Opener. Message kann ein beliebiges JS-Objekt sein. Der Opener bekommt die Message über onMessage-Ereignis.

Hinweis: sendMessageToOpener funktioniert nur für die Masken, die über die WindowOpener-Komponente oder über die individuelle-Maske-Komponente geöffnet wird.

 

setReturnObject(obj)

Legt den Rückgabewert fest. Dies ist sinnvoll, wenn die Maske über ein WindowOpener-Element geöffnet ist. In der Ausgangsmaske steht der Rückgabewert über RU.<WindowOpener-Element>.getReturnObject() zur Verfügung.

Als Wert kann auch ein einfacher Typ (Zeichenfolge, Nummer,... ) genutzt werden.

 

StartApply()

Startet asynchrones Speichern, d.h. die Werte werden erst verzögert und nicht unmittelbar nach Abschluss der Funktion gespeichert. Nach dem Speichern wird das Ereignis "JavaScript After Save" aufgerufen. Die Maske wird nicht geschlossen.

 

StartSave()

Startet asynchrones Speichern, d.h. die Werte werden erst verzögert und nicht unmittelbar nach Abschluss der Funktion gespeichert. Nach dem Speichern wird das Ereignis "JavaScript After Save" aufgerufen und die Maske geschlossen.

 

StopAfterSaveOrApply()

Diese Funktion kann nur in „MainForm 🡪 JavaScript After Save“ genutzt werden. Standardmäßig wird die Maske nach erfolgreichem Speichern oder Übernahme geschlossen bzw. neu geladen. Die Funktion StopAfterSaveOrApply verzögert dieses Vorgehen und es besteht die Möglichkeit, eine Aktion durchzuführen, die einen Webbenutzereingriff erfordert. Typisch ist ein E-Mail-Formular oder eine individuelle Maske. Wenn die Aktion beendet ist, muss ContinueAfterSaveOrApply() aufgerufen werden.

 

Hinweis: Nach StopAfterSaveOrApply sorgen Sie dafür, dass ein zweites Speichern oder Übernahme nicht möglich ist.

 

wasButtonApply()

Gibt zurück, ob die individuelle Maske nach Anklicken des Übernahmebuttons angezeigt wurde.

 

wasButtonSave()

Gibt zurück, ob die individuelle Maske nach Anklicken des Speichern-Buttons angezeigt wurde. Voraussetzung ist, dass das Attribut "Übernehmen anstatt Speichern" gesetzt ist.

 

wasButtonSaveNew()

Gibt zurück, ob die individuelle Maske nach Anklicken des "Speichern -> neu"-Buttons angezeigt wurde.

 

Ereignisse

 

afterFormInit

Anweisungen/Funktionen werden nach der Initialisierung des Hauptfensters ausgeführt

 

onresize

Anweisungen/Funktionen werden nach der Änderung der Größe des Fenster ausgeführt.

 

customValidator

Prüfungen, bevor das Formular gespeichert wird. Ergebnis (return) muss entweder false oder true sein. false bedeutet „nicht speichern“, true bedeutet "alles in Ordnung".

 

Beispiel

var RU=rimacon._userform;

if (RU.txPersonalID.getValue().length<8)

{

 alert("Die Personal-ID ist zu kurz!");

 return false;

};

 

return true;

 

JavaScript after Save

Javascript-Anweisungen werden nach dem Speichern ausgeführt. Dies ermöglicht weitere Datenbankänderungen.

 

Namespace CustomFormVars

 

Unter diesem Namespace befinden sich alle HTTP-Formular-Variablen als Objekte, die die zwei Methoden getValue() und setValue(value) haben.

 

Beispiel

 

var RU=rimacon._userform;

RU.MainForm.CustomFormVars.meine_http_variable.setValue("hallo");

alert( RU.MainForm.CustomFormVars.meine_http_variable.getValue() );

 

 

 

 

 

Erweiterte Einstellungen

Berechtigungen cachen

Geben Sie in Sekunden ein, wie lange die einmal erzeugten Berechtigungen gecached werden sollen. D.h.,  die Berechtigungen müssen nicht neu erzeugt werden.

Dies ist eine reine Performanceoptimierung. Bei komplexeren Infrastrukturen kann es sein, dass das Erzeugen von Berechtigungen (darf der Mitarbeiter diese Maske für Objekt X benutzen) Ressourcen verbraucht.  Da sich die Berechtigungen nicht so oft ändern, ist ein Cachen der Berechtigungen sinnvoll.

 

Bei Speichern eines unveränderten....

siehe auch Life-Cycle

Wenn angekreuzt, entsteht beim Speichern von Life-Cycle-Spalten auch bei unveränderten Werten in der Life-Cycle-Tabelle ein Eintrag.