Domino 9 und frühere Versionen > ND6: Entwicklung

FM "Eine gespeicherte Maske darf keine berechneten Teilmasken enthalten."

(1/2) > >>

Bille:
Hallo!

In einer Maildatenbank sollen bei neu eingehenden Mails mehrere Personen informiert werden. Und zwar soll nicht eine Kopie, sondern nur ein Doclink gesendet werden, damit evtl. Doppelbearbeitungen vermieden werden.

Deshalb hab ich einen Agenten mit folgendem Code erstellt:


--- Code: --- Dim s  As New notessession
Dim db As NotesDatabase
Set db =  s.CurrentDatabase
Dim col As NotesDocumentCollection
Set col = db.AllDocuments 

Dim doc As notesdocument
Set doc = col.GetFirstDocument
Dim Mailempfänger(1) As String
Mailempfänger(0) = "Lieschen Mueller/EFDAM/DE"
Mailempfänger(1) = "Max Meier/EFDAM/DE"

While Not doc Is Nothing
If Not doc.HasItem("MeldeFlag") Then
Call SY_MailSend(Mailempfänger, "Hinweis", "Bitte bearbeiten!", doc)
doc.MeldeFlag = "1"
Call doc.Save(True, False)
End If
Set doc = col.GetNextDocument(doc)
Wend
--- Ende Code ---


--- Code: ---Sub SY_MailSend( SendTo As Variant, Subject As String, Body As String, Doclink As NotesDocument )
Dim s As New NotesSession
Dim mail As NotesDocument
Dim BodyRTITEM As NotesRichTextItem

Set mail = s.CurrentDatabase.CreateDocument()
mail.form = "Memo"     
mail.SendTo = SendTo
mail.Subject = Subject
Set BodyRTITEM = mail.CreateRichTextItem( "Body" )
Call BodyRTITEM.AppendText( Body )
If Not Doclink Is Nothing Then
Call BodyRTITEM.AddNewLine(2)
Call BodyRTITEM.AppendText( "Hier klicken um Dokument zu öffnen ->" )
Call BodyRTITEM.AppendDocLink( Doclink, "" )
End If
Call Mail.Send(True)
End Sub
--- Ende Code ---

Das Mail wird wie gewünscht gesendet. Jedoch erscheint beim Empfänger beim Öffnen der Mail die Fehlermeldung:
"Eine gespeicherte Maske darf keine berechneten Teilmasken enthalten."

Ich verwende die MailSend-Routine in diversen anderen Datenbanken ohne jegliche Probleme. Kann es evtl. damit zu tun haben, dass hier der Doclink aus einer Maildatenbank erzeugt wird?
Die FM erscheint fünfmal, danach lässt sich das Mail öffnen, der Doclink verweist auch auf das korrekte Dokument in der zentralen Mail-DB.

Kann mir jemand einen Tipp geben, warum dieser Fehler erscheint und wie ich ihn am besten beseitigen kann?

Bille

pete_bla:
Hi,

brauchst du wirklich beim senden der Mail die Maske?


--- Code: ---Call Mail.Send(True)
--- Ende Code ---
-> versuch doch:

--- Code: ---Call Mail.Send(false)
--- Ende Code ---

Gruss, Pete(r)

koehlerbv:
Exakt. Aus einer stino MailDB eine Mail in eine andere stino MailDB mitsamt der Maske zu senden, ist wohl die grösste Bombe, die man da bauen kann  ;D

Ich habe bislang noch keinen einzigen Fall erlebt, in dem es sinnvoll war, eine Form in eine Mail zu integrieren (wenn man Doclinks verschickt, eh nicht). Wird es aufwändiger, dann scheitert das Prinzip allein schon daran, dass Code-Teil der eingebetteten Maske aus ScriptLibs stammen, die in der Empfänger-DB gar nicht vorhanden sind. Und: Wie oft ist es so, dass in den database properties eingebettete Masken gar nicht erlaubt sind.

Bille, das Ganze eben nur als Hintergrund. Den casus canctus hat Pete(r) ja schon aufgemalt.

Bernhard

Bille:
Hi Pete,

genau das war's! Es lag also doch daran, dass hier ein Dokument aus der Mail-DB gesendet wird.

Vielen Dank für Deine Hilfe
Bille
 :D

Bille:
Hallo Bernhard,

tja, im Bombenbauen bin ich ganz große Klasse!   >:D

Aber besten Dank für die Erklärung, ich werde das mit der Maske in meinen bisherigen Scripts ändern, da ich wirklich immer nur den Doclink brauche.

Was mich nur wundert: Die Routine stammt von einem Notes-Dienstleister, der schon ewig mit Notes arbeitet ...

Gruß, Bille

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln