Domino 9 und frühere Versionen > ND8: Entwicklung
Dialogbox funktioniert under Notes 7 aber nicht mehr unter Notes 852
pram:
Ich hab da session.DocumentContext in Verdacht. ???
Das machte bei mir mal Probleme in einem HTTP-Agenten. Siehe:
http://www-01.ibm.com/support/docview.wss?uid=swg1LO41061
(sollte aber eigentlich nun gefixed sein)
Sprich: Du bekommst in der Zeile:
Set doc = session.DocumentContext
schlichtweg das falsche Dokument.
Lass dir mal die UNID von session.DocumentContext.UniversalID ganz am Anfang und an der Stelle an der du versuchst das Doc zu holen ausgeben.
Außerdem scheint mit der Aufruf der workspace.DialogBox irgendwie "suspekt", hier wird kein zu Grunde liegendes Dokument angegeben, das dann mit refreshParentNote aktualisiert werden kann.
Ich vermute, du greifst im Dialog auch auf session.documentContext zu und befüllst das Dokument mit den Werten.
Da IBM in 7.0.4 definitv irgendwas an der Methode gedreht hat geht es nun schief.
Gruß
Roland
Lancelot:
Hallo Roland,
ich habe mir die ID per msgbox gleich noch jedem setzten der Dokumente anzeigen lassen.
Sprich einmal im ersten Teil des Codes und dann kurz vor dem Abbruch und es war immer die gleiche ID.
Was ich aber festgestellt habe, ich habe mir eine Testmail geschickt und diese mehrmals kopiert.
Nachdem der Job gelaufen ist, hat aber nicht das markierte Doc welches archiviert werden sollte das Kennzeichen sondern eines was ich kopiert habe.
Die ID's der kopierten Docs sind aber alle andere.
Was kann ich anstatt des session.DocumentContext
noch verwenden?
Peter Klett:
Ich würde bei der Mailexport das Dokument als Parameter übergeben.
Du setzt innerhalb der Mailexport zwei Dokumente auf session.DocumentContext (doc und maildoc), wozu?
Lancelot:
Hallo Peter,
ich stehe jetzt etwas auf dem Schlauch.
Wie meinst Du das Doc als Parameter übergeben.
Das Maildoc ist eingegdlich überlüssig geworden.
Denn da lese ich nur ein paar Felder für den INDEX zum Archivieren aus.
Das ist in 6 Jahen so gewachsen und ja ich könnte und werden es danach auf ein Doc beschrenken, aber das hat nichts mit dem Fehler zu tun.
Peter Klett:
Ich wiederhole mal, was ich so verstanden habe:
Du holst Dir erst alle Dokumente über db.UnprocessedDocuments, erwartest aber zwingend nur eins (das ist auch ok so).
Dann hast Du das Dokument doc, mit dem Du irgendetwas machst (Routine Mailexport). In der Routine holst Du Dir das Dokument nochmal (wenn ich das alles richtig verstehe), allerdings dann über session.DocumentContext. Dieses Dokument ist doch das gleiche, dass Du Dir vorher schon geholt hast, oder? (Muss zugeben, dass ich das Script noch nicht wirklich vollständig geblickt habe). Falls es sich also um das gleiche Dokument handelt, kannst Du es als Parameter übergeben.
Sub Mailexport (doc As NotesDocument)
' doc verarbeiten
End Sub
In der aufrufenden Routine schreibst Du dann
Call Mailexport (doc)
Edit:
Zur Vollständigkeit: doc muss nicht zwingend gleich heißen, Du kannst auch
Sub Mailexport (uebergabedoc As NotesDocument)
'uebergabedoc verarbeiten
und Call Mailexport (doc)
schreiben.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln