Domino 9 und frühere Versionen > ND8: Entwicklung
Datenbankfelder über ein Smart-Icon ändern
Jörg P:
Hallo zusammen,
ob ein User ein bestimmtes Smarticon nutzen kann, wird mit dem @DBLOOKUP - Befehl geprüft, indem ein Feld in dem Stammsatz des Users aus einer Mitarbeiter-Datenbank ausgelesen wird (Server- u. Datenbankdaten für den dblookup-Befehl sind im Smarticon vorgegeben).
Kann man auf diesem Weg über ein Smarticon auch einen Feld-Wert in dem User-Datensatz ändern (Prüfung, mit welcher Icon-Version der User arbeitet)?
Ich finde keinen Befehl, der analog dem @SetProfileField - Befehl einen Wert in ein Datensatzfeld schreiben kann.
Gibt es da eine Möglichkeit?!?
Gruß Jörg
pram:
Hallo Jörg, funktioniert es mit @SetField / @SetDocField
Oder eben mit Lotusscript. Dies geht, indem man eine Maske öffnet:
@Command([Compose]; "servername/ORGANISATION": "pfad/zur/smarticon-db.nsf"; "smarticon-maske")
Im Initialize der smarticon-Maske kann man mittels
--- Code: --- Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Set db = ws.CurrentDatabase.Database
--- Ende Code ---
noch auf die vorherige geöffnete DB zugreifen und sich diese merken, ebenso ist noch ws.currentView bzw. ws.currentDocument gesetzt, wenn ein Dokument oder Ansicht offen war.
Der eigentliche Code läuft dann im postOpen der Maske ab.
Gruß
Roland
Jörg P:
Hallo Roland,
danke für die schnelle Info. Auf die Idee mit Script und einer Extra-Maske bin ich noch nicht gekommen...
Danke für den Denkansatz, werde es gleich mal probieren!!!
Gruß Jörg
Jörg P:
Hallo,
ich habe erst einmal die einfachere Variante von Roland mit dem SETDOCFIELD-Befehl probiert:
_USERID := @DbLookup( "NOTES" : "NoCache" ; _server : _dbname ; _ansicht1 ; @Name([CN];@UserName) ; "DOCID") ;
@Command([FileOpenDatabase]; "server" : "MitarbeiterDB.nsf" ) ;
@SetDocField( _USERID ; "Feldwert1" ; @Today )
Das Problem ist, dass der Command(FileOpenDatabase)-Befehl NACH dem SetDocField-Befehl ausgeführt wird.
Der SetDocField-Befehl funktioniert aber nur in einer geöffneten DB.
Kann man die Reihenfolge beeinflussen, damit der SetDocField zum Schluss ausgeführt wird?
Gruß Jörg
klaussal:
Such mal unter "@PostedCommand".
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln