Autor Thema: Datenbankfelder über ein Smart-Icon ändern  (Gelesen 2713 mal)

Jörg P

  • Gast
Datenbankfelder über ein Smart-Icon ändern
« am: 28.05.14 - 11:55:01 »
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

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Datenbankfelder über ein Smart-Icon ändern
« Antwort #1 am: 28.05.14 - 12:37:30 »
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
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
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Jörg P

  • Gast
Re: Datenbankfelder über ein Smart-Icon ändern
« Antwort #2 am: 28.05.14 - 12:45:47 »
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

  • Gast
Re: Datenbankfelder über ein Smart-Icon ändern
« Antwort #3 am: 30.05.14 - 11:47:54 »
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

  • Gast
Re: Datenbankfelder über ein Smart-Icon ändern
« Antwort #4 am: 30.05.14 - 11:58:40 »
Such mal unter "@PostedCommand".

Jörg P

  • Gast
Re: Datenbankfelder über ein Smart-Icon ändern
« Antwort #5 am: 30.05.14 - 13:56:42 »
Hallo Klaus,

mit postedcommand kann ich nur das "FileOpenDatabase" ans Ende setzen, nicht aber das "SetDocField". Habe die Reihenfolgen auch schon getauscht, mit posted und ohne.
Klappt leider nicht.

Trotzdem danke!

Gruß Jörg

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Datenbankfelder über ein Smart-Icon ändern
« Antwort #6 am: 30.05.14 - 14:47:06 »
Probier mal ein @UpdateFormulaContext vor dem SetDocField, das könnte helfen
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Jörg P

  • Gast
Re: Datenbankfelder über ein Smart-Icon ändern
« Antwort #7 am: 30.05.14 - 14:55:19 »
Hallo Torsten,

das ist die Lösung. Jetzt klappt's. Da wär ich nie drauf gekommen...

Vielen Dank!!!

Gruß Jörg

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz