Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rasacani am 22.02.05 - 10:10:30
-
Hallo zusammen
Ich möchte wenn ein Dokument mit einer Maske geöffnet wird eine Meldung hochkommen lassen. Unter Notes habe ich das Problem folgendermaßen gelößt:
Postopen der Maske:
FIELD SaveOptions := 0;
User2 := User2;
User3 := @Name([CN];User2);
text :="Diese Dienstreise wurde zur Kenntnis genommen von " + User3 ;
status :=status;
@If ( status = "Zur Kenntnis genommen" & @IsMember("[GGF]"; @UserRoles);
@Prompt ( [OK]; "Warnung"; text );
@Success
)
Für die Web-Lösung hatte ich an ein JAVA-Skript gedacht welches ich mir aus einer anderen Anwendung gesucht habe:
javascript:
var w = 480;
var h = 340;
if(document.all || document.layers) {
w = screen.availWidth;
h = screen.availHeight;
}
var popW = 700;
var popH = 220;
var leftPos = (w-popW)/2;
var topPos = (h-popH)/2;
window.open("/Verzeichnis/Datenbank.nsf/Maske?Openform","Fenster11","screenX="+ leftPos + ",screenY=" + topPos + ",left=" + leftPos+ ",top=" + topPos + "menubar=no,resizable=yes,scrollbars=no,width=" + popW + ",height=" + popH)
Postopen erlaubt aber nur Formel oder LotusScript. Ich sollte noch dabei sagen das ich LotusScript und JAVA nur in bestehenden Anwendungen gesehen habe, teilweise auch dahinter gekommen bin was dort abläuft aber sonst keine Ahnung davon habe.
Gruß Rainer
-
Für JavaScript wäre das onLoad Event das richtige.
Andreas
-
Das mit dem onLoad Event klingt gut, aber wie bekomme ich da meine Bedingung mit unter.
@If ( status = "Zur Kenntnis genommen" & @IsMember("[GGF]"; @UserRoles);
Ich kann doch kein JAVA
-
Hallo Rainer,
mach Dir für die Formel mit @IsMember... ein verstecktes Feld ('isGGF' oder so) in die Maske, wo entsprechend "True" oder "False" reingerechnet wird.
Im onLoad-Ereignis dann:
var stat = document.getElementsByName("status")[0].value;
var role = document.getElementsByName("isGGF")[0].value;
if(stat == "Zur Kenntnis genommen" && role == "True"){
alert("Warnung:\n\nDiese Dinstreise wurde....");
}
Das Gleiche, wie mit der Rollenzugehörigkeit kannst Du auch wegen dem User, der zur Kenntnis genommen hat, machen (verstecktes Feld und so).
Und so als Tipp: Wenn Du Dich mit Webentwicklung beschäftigst, arbeite Dich unbedingt in JavaScript ein. Das ist essentiell...
Gute Hilfe zur Webentwicklung (unabhängig von Notes):
http://aktuell.de.selfhtml.org/
Thomas
PS: damit Du auch versteckte Felder in die Webmaske reingerechnet bekommst, mußt Du in den Maskeneigenschaften 'HTML für alle Felder generieren' aktivieren.
-
Hallo
Die Hilfestellungen haben mich schon weitergebracht.
In der Maske befinden sich jetzt 2 versteckte berechenbare Felder.
User: @UserName
er wird noch in Funktionen aktualisiert
Rolle: @If (@IsMember("[GGF]";@UserRoles);"GGF";"normal")
was hier einmal drin ist bleit leider auch dirn.
Ich benötige aber die Rolle des Users der das Dokument gerade öffnen will um den Vorschlag
von Thomas zu realisieren.
-
Hallo,
Wenn das als Vorgabewert in einem Feld steht, dann wird bei bestehenden Werten natürlich nicht mehr überschrieben.
Vorschlag:
Mach Dir einen Berechneten Wert, den Du als Durchgangs-HTML kennzeichnest.
In dem Berechneten Wert dann den Code:
"<input type=\"hidden\" name=\"<<Feldname>>\"value=\"" + @If (@IsMember("[GGF]";@UserRoles);"GGF";"normal")
+ "\">"
Damit hast Du in der Web-Maske dann immer das Feld mit dem Wert für den Nutzer, der das Dokument öffnet.
Thomas