danke für die Info
wenn ich den Username dann irgendwie bekommen habe - wie bekomme ich ihn dann in meine Maske rein?
Gruß
Brösel
danke für die Info
wenn ich den Username dann irgendwie bekommen habe - wie bekomme ich ihn dann in meine Maske rein?
Gruß
Brösel
Ich dachte immer, daß man mit JavaScript nicht auf das Betriebssystem zugreifen kann und habe auch überhaupt nichts anders lautendes gefunden.
Gruß
Brösel
Hallo NotesFreunde,
ich bastel gerade an einer Intranet-Anwendung mit Notes - auf diese Intranet Anwendung werden auch Leute zugreifen, die kein Notes haben.
Die Anwender werden ein Formular über den Browser ausfüllen, das in einer NotesDB abgespeichert wird.
Ich möchte, daß beim Öffnen oder Abspeichern automatisch der Anwendername aus der Anmeldung im Netzwerk (NT, bzw. 2000) übernommen wird.
Ich hatte mir einen webqueryopen-Agenten überlegt, der mit LotusScript auf die Systemvariable username zugreift und diese übernimmt .... leider bekomme ich diese Variable nicht zu "packen" ...
.
.
.
Dim testvariable As String
testvariable = NotesSession.GetEnvironmentValue(UserName,True)
mit %UserName% geht es auch nicht ....
kann mir bitte jemand weiterhelfen?
Gruß und danke
Brösel
Hallo,
hinter das Geheimnis mit dem Symbol bin ich auch noch nicht gekommen..... - wäre schön, wenn jemand mal dieses Geheimnis lüften könnte!
Ich hole mal etwas weiter aus.
Es gibt ja Schablonen (.ntf) und DB'en (.nsf).
In beiden sollten sich die tupfengleichen Gestaltungselemente finden und in der .nsf zusätzlich die eigentlichen Dokumente für die Anwender dieser DB.
In den DB Eigenschaften ist bei der .ntf angehakt:
Datenbank ist eine Schablone + Name der Schablone (muß nicht mit dem Dateinamen übereinstimmen)
Bei der .nsf ist angehakt:
Gestaltung aus Schablone übernehmen + Name der Schablone
Änderungen macht man normalerweise nur in der Schablone und aktualisiert dann die Datenbank....
Testen kann man dann in einer Kopie der Datenbank und aktualisiert die Gestaltung - wenn alles paletti ist - die Gestaltung der EchtDB aktualisieren.
Du kannst im Designer im einzelnen Gestaltungsdokument anhaken, daß von diesem einen Designelement die Gestaltung nicht aktualisierbar sein soll (Häkchen).
Man kann auch mischen: Eine Datenbank kann Gestaltungselemente aus mehreren Schablonen bekommen. Dann im Designer in jedem einzelnen Element.
Es ist dann ausreichend, den Überblick zu behalten, was von was die Gestaltung bekommt und was wann aktualisiert.....
Ansonsten mache ich immer eine Sicherungskopie der OriginalDB und dann: nur Mut
Reicht Dir das?
Gruß
broesel
Hallo Dirk,
das ist interessant und komisch!- Liegt es vielleicht an der NotesVersion?
Wir haben die 6.5.1 auf dem Server und 5.0.10 auf dem Client.
Und Ihr?
Ich möchte das ganze mal mit 2 neuen Datenbanken testen, komme aber gerade nicht dazu.
Werde das Ergebnis mal nächste Woche in das Forum stellen.
Wäre schön, wenn wir uns nächste Woche noch mal austauschen könnten.
Gruß
broesel
Hallo Dirk,
was passiert denn in Deinem Code, wenn Du das
On Error resume next
wegläßt und der Agent keinen Zugriff auf die DB hat???????
Bekommst Du dann wie ich einen Error?
Gruß
broesel
Hallo Dirk,
.... habe ich probiert! - Hilft nicht weiter - bin völlig verwirrt!
1.) welchen Sinn hat die Abfrage, ob die DB is open? - wenn der Agent mit den Serverrechten läuft und der Server in der ACL der DB eingetragen ist, kommt es nicht vor, daß die DB nicht offen ist.
2.) So wie ich die Sache verstehe, wird durch "on Error resume next", der Error überdeckt, der entsteht, wenn der Agent keine Rechte auf die DB hat - es ist aber trotzdem ein Error.
3.) Wenn der Agent keinen Zugriff auf die DB hat, bekomme ich leider kein db Object
4.) Hast Du mal das
On Error Resume Next
weggelassen - dies ist ja für 'ne Ausnahme und nicht für den Normalfall gedacht.
Gruß
broesel
Hallo Dirk,
wir haben eine spezielle Entwickler ID mit der wir den Agenten unterschreiben. Was passiert, wenn Du in der ACL zusätzlich den Zugriff für denjenigen sperrst, der den Agenten unterschrieben hat? - dann müßte es doch knallen, oder?
(und zwar hier: set db = session.GetDatabase(ServerName, DBName))
Gruß
broesel
Hallo Dirk,
ich beziehe mich auf folgendes (Beitrag 7):
ZitatAlles anzeigen
Diali wrote:
"is Nothing" funktioniert auch schon in Notes 4.x
ABER:
set db = session.GetDatabase(ServerName, DBName)
if Not db is Nothing then
...
Kann in die Hose gehen, weil die DB existiert, Du aber nicht die rechte hast diese zu öffnen. Besser ist es in diesem Fall
If not db.isOpen Then
...
Verschiedendlich wird ein Objekt nicht auf Nothing gesetzt, wenn es nicht existiert. Dann hilft es das Objekt vorher definiert auf Nothing zu setzen. z.B.
Set view = Nothing
set view = db.GetView(ViewName)
if Not view is Nothing then
...
Gruß
Dirk
Läuft Dein Script auch noch, wenn der ausführende kein Recht hat, die DB zu öffnen?-Nach meinen Erfahrungen knallt es dann - aber
wenn Du das
On error resume Next
nach set db Is Nothing setzt, macht er natürlich was - es ist die Frage was. Das macht natürlich meine anderen Fehlerabfragen zunichte....
In meinen Error-Fehler-Abfragen hatte ich ein Exit sub vergessen - mein Fehler ist nicht ObjectVariable not set, sondern ein allgemeiner Fehler und zwar hier:
Set db = Nothing
Set db = session.GetDatabase( Server, DBName )
beim 2. set db - ich habe mir nämlich die Rechte auf die DB weggenommen - dadurch komme es erst gar nicht zur Abfrage, ob die DB nothing ist, bzw. isopen - es knallt nämlich schon viel früher.
Wenn ich die entsprechenden DB Zugriffsrechte habe, habe ich natürlich kein Problem - aber das ist ja nicht der Sinn von Fehlerabfragen.
Wie ich oben schon sagte:
Läuft Dein Script auch noch, wenn der Ausführende kein Recht hat, die DB zu öffnen?-
Gruß
broesel
Guten Morgen Dirk,
habe mich genau an Dein Script gehalten (Ausnahme: Set db = Nothing)
und bei mir kommt objectvariable not set! - Schade
Ich arbeite mit einem webqueryopen-Agenten
Hast Du Dein Script getestet?
Gruß
broesel
Hallo Diali,
ich kann das leider nicht nachvollziehen:
Wenn ich keine Rechte habe, eine DB zu öffnen (Agent) und ich eine If-Anfrage einbaue, ob die DB.isopen
ist, dann bricht LS ab und ich erhalte die Fehlermeldung objectvariable not set!!!!!!!!!!
D. h. daß der else Zweig nicht durchlaufen wird.
db_a.isOpen Then
usw.
Else
Goto Error_DB
End If
usw.
Hast Du darüber mehr Infos? - Ich kann gerade so eine Möglichkeit gut gebrauchen!
Gruß
broesel
Hallo,
ich verstehe Dein Problem nur teilweise - brauche etwas mehr Infos!
unter Notes R5 gilt auch:
eine Schleife durchläuft alle Dokus einer Ansicht:
While Not(doc_a Is Nothing)
.
.
.
Set doc_a = view_a.GetNextDocument(doc_a)
Wend
Hilft Dir das?
Gruß
broesel
danke devileye1, das stimmt leider - mit NS 4. 7 funktioniert "readonly" nicht - JavaScript kann ich leider nicht verwenden.
Ich habe statt JavaScript einen webquerysave Agenten verwendet, der meine Felder so wie der webqueryopen agent noch mal überprüft und ggf. wieder "richtig" setzt und speichert.
Natürlich leidet da die Performance - ist mir aber in diesem Fall wichtiger als 'ne Sicherheitslücke und wenn ich kein JavaScript verwenden darf, ist das für mich die beste Lösung.
Gruß
broesel
Hallo devileye1,
vielen Dank für den Tip - es klappt perfekt!!!!!!!!!!!
Ich hoffe, daß "readonly" browserunabhängig ist? (habe IE)
danke
Gruß
broesel
ich habe nur Notes DB
Es scheint was mit dem Zeitpunkt zu tun zu haben.
Erst läuft der Queryopenagent und befüllt meine Felder erfolgreich - dann wird gespeichert und dann im Falle des berechneten Feldes läuft diese Berechnung danach ab also später und dann kommt es zu meinem Problem.
das was Du schreibst, ist völlig richtig - nur Repliken replizieren - Kopien nie
... wir haben alle mal angefangen und ich habe immer noch x Fragen und Probleme
Gruß
broesel
P.S.: Du hast ja Deinen Eintrag jetzt geändert, egal - viel erfolg
... das Feld wird perfekt per Agent gefüllt, aber
entweder ist es sichtbar und dann vom User änderbar, was aber nbicht sein darf oder er wird nicht angezeigt, auch wenn ich das berechnete Feld so wie Du schreibst ausfülle.
Nach dem Speichern in der Ansicht also ist das Feld nicht sichtbar "" - nur wenn es für den User änderbar ist ...
.... fast vergessen
nur Repliken replizieren miteinander - Kopien nie
Hallo Nutzer 81,
oben schreibst Du, Du hättest eine Replik erstellt.
Es ist so: Es gibt Repliken und Kopien von Datenbanken.
Diese können jeweils auf verschiedenen Servern, bzw. auch lokal sein.
Der Unterschied zwischen Replik und Kopie:
Die Repliken haben alle die gleiche ID - alle Kopien haben unterschiedliche IDs.
Wenn Du die Kacheloberfläche hast und Repliksymbole stapeln angehakt hast, liegen alle Repliken immer übereinander (in der oberen rechten Ecke gibt es das Dreieck zum Wechseln)
Wichtig: packe niemals 2 Repliken einer DB auf den gleichen Server
Gruß
broesel
... natürlich damit umgeht man die Fehlermeldung aber nicht das Problem - dann lassen sich die Felder in der Ansicht nicht anzeigen (Vgl. 3) und die Feldinhalte sind ""