Domino 9 und frühere Versionen > Entwicklung
Feld in anderem Dokument setzen
Glombi:
--- Zitat von: Christian97 am 27.07.04 - 21:56:07 ---Bei Script hab ich leider so gut wie gar keine Kenntnisse. :-[
Christian
--- Ende Zitat ---
Das können wir ja ändern ;)
Bereit, wenn Sie es sind.
@Formel-mäßig bist Du gut drauf, oder?
Andreas
Christian97:
Hmm, na dann :-)
Ich denke, daß ich mit der Formel-Lösung schon auf dem richtigen Weg war. Nur, daß die Formel das eigentliche Setzen des Feldes nicht mehr ausführen wollte und deshalb eine Script Lösung her muß.
Was ich machen muß, ist die Datenbank auswählen, dazu habe ich die ReplikID. Dann das Dokument in dieser Datenbank, dazu habe ich die DokID. Anschließend das Feld setzen und speichern.
Bloß wie fang ich das in Script an? Bisher hab ich mir die Designer Hilfe genommen und anhand der Beispiele etwas zusammenkopiert. Hat meistens funktioniert. Diesmal scheint mir das Problem aber umfangreicher.
Christian
Glombi:
Ok. Um eine Datenbank per Replik-ID zu öffnen, gibt es die Methode
flag = notesDatabase.OpenByReplicaID( server$, replicaID$ )
In Script wird - im Gegensatz zur Formelsprache - die Replik-ID OHNE Doppelpunkt verwendet. >:( Blöd, aber nicht zu ändern. Eine kleine Challenge für den Programmierer.
Um ein Notesdokument per DocID zu holen:
Set notesDocument = notesDatabase.GetDocumentByUNID( unid$ )
Für Deinen Fall: Wo steht denn die Replik-ID der Zieldatenbank und die Dok-ID des Zieldokuments? Im aktuell geöffneten Dokument?
Andreas
Christian97:
Danke für den Anfang!
Ja, die Replik-ID und Dok-ID stehen im aktuell geöffneten Dokument.
Glombi:
Das ist gut.
Lotus Script ist Objekt-orientiert, cool 8)
D.h. es gibt Objekte, die Notes-Datenbanken, Notes-Ansichten, Notes-Dokumente (auf der Festplatte), geöffnete Notes-Dokumente, geöffnete Ansichten, geöffnete Datenbanken etc. repräsentieren.
Es gibt also Backend (das was auf der Platte ist) und Frontend (das was der User auf dem Bildschirm "sieht") Klassen.
Das schöne ist, je nachdem wo man den Scriptcode eingibt, werden einem bestimmte Objekte "geschenkt".
Wenn Du bspw. in das Event Postopen gehst, siehst Du dort als Parameter
Source as NotesUIDocument
D.h. Source repräsentiert das aktuell geöffnete Dokument (UI = User Interface, d.h. das was der Anwender sieht).
Was Dir noch helfen würde, ist das Klassenmodell von Notes. Das gibt es als Poster. Ich habe etliche von den Dingern hier, Du auch?
In dem Klassenmodell siehst Du, wie man von einer Klasse zu einer anderen kommt. Wenn Du bspw. eine Notes-Datenbank hast, kannst Du damit zu einem Notes-Dokument und damit zu einem Notes-Feld (sog. Item) kommen.
Klar so weit ???
Andreas
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln