Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: inu am 25.07.07 - 08:23:19
-
Hallo Leute,
ich möchte gern folgendes umsetzen:
- Benutzer bekommt in seinen Mailkorb eine E-Mail
- ]Benutzer betätigt eine zu erstellende Schaltfläche, um das E-Mail in eine andere DB zu kopireren
Dabei muss folgendes berücksichtigt werden:
- Beim Betätigen der Shaltfläche soll ein kleiner Dialog aufgehen, wo einige Werte aus dem E-Mail vorgeblendet, andere wiederum erfasst werden müssen
- Nach dem Betätigen einer OK-Schaltfläche wird das E-Mail mit den geänderten bzw. neu eingegebenen Werten an die andere DB übertragen, wobei im Originalmail keinerlei Felder modifiziert werden sollen
- Die Ziel-DB befindet sich immer auf den jeweiligen Home-Server des Benutzers
Wie kann ich das ganze (per LotusScript) umsetzen?
Vielen Dank
-
Das ist doch relativ simple.
Du erstellst dir eine entsprechende Maske für den Dialog, holst dir vor dem Aufruf mit NotesuiWorkspace.Dialogbox die gewünschen Werte aus dem Mail. Wenn der User dann mit OK bestätigt, dann erstellst du in der anderen DB ein neues Dokument und schaufelst die Daten rüber.
Wo liegen den genau die Unklarheiten?
Axel
-
naja, ich benötige alle Felder aus der Mail, sprich: das gesamt Mail soll kopiert und noch zusätzliche Felder eingefügt werden. Müsste ich dann wirklich jedes einzelne Feld kopieren?
-
CopyAllItem solltest Du dir mal ansehen...
-
naja, ich benötige alle Felder aus der Mail, sprich: das gesamt Mail soll kopiert und noch zusätzliche Felder eingefügt werden. Müsste ich dann wirklich jedes einzelne Feld kopieren?
In deiner ursprünglichen Frage stand was von ...einigen Werten aus dem E-Mail. Auf diese Aussage habe ich mich bezogen.
Wenn es alle Felder sein sollen, dann hilft dir CopyAllItem (Klaus hat's ja schon gesagt) oder evt. auch CopyToDatabase weiter.
Bitte beachte für die Zukunft:
Je mehr und genauere Infos zur Problemstellung du lieferst um so besser kann dir geholfen werden.
Axel
-
Danke für eure Hilfe, ich werde versuchen, dass ganze umzusetzen. Deinen Hinweis versuche ich zukünftig zu berücksichtigen.
-
so, ich habe mal folgendes probiert:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim db2 As NotesDatabase
Dim doc As NotesDocument
Dim dc As NotesDocumentCollection
Set db = session.CurrentDatabase
Set db2 = New NotesDatabase (db.Server, "zieldb.nsf")
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument()
While Not(doc Is Nothing)
ergebnis = doc.Document.CopyToDatabase(db2)
Set doc = dc.GetNextDocument(doc)
Wend
Schade nur, dass die Zeile "ergebnis = doc.Document.CopyToDatabase(db2)" diesen Fehler hier bringt:
Object variable not set
-
Wie kommst du denn auch auf doc.Document?
-
Ach Mensch ja, das bezog sich auf ein NotesUIDocument. Ist aber ein NotesDOcument. Danke für den Hinweis. Jetzt geht es.
-
So, jetzt habe ich nur noch das Problem, dass ich beim Übertragen keine zusätzlichen Felder einfügen kann...
-
Doch, mit
ergebnis.Feld1 = "XY"
ergebnis.Feld2 = "zz"
Call ergebnis.save(True, False)
Gruß
André
-
@Andre: Ich weiß, aber dadurch verändere ich ja das Originaldokument. Was ich möchte ist, dass lediglich das Zieldokument modifiziert wird.
-
Nein - ergebnis ist das Dokument in der Ziel-DB
-
Sorry, bin heute ziemlich durch den Wind. Hast Recht, das ist genau die Lösung, welche ich suche...
Vielen Dank noch einmal