Domino 9 und frühere Versionen > ND8: Entwicklung

Mail-Rule "Move to Folder" will nicht bei bestimmten Dokumenten

(1/1)

Dr.Domino:
Hallo,
ich habe ein kleines Problem mit einer Mail Rule. Und zwar handelt es sich um eingehende Faxe, die per Mail-Rule in einen entsprechenden Ordner verschoben werden sollen.
Bei "normalen" Mails funktioniert das auch einwandfrei, nur bei diesen "Faxen" erstellt er zwar den Link im gewünschten Ordner, versteckt aber hinterher die Fax-Mail nicht in der Inbox.
Ich habe da den "Before New Mail Arrives"-Agenten im verdacht. Dieser packt ein passendes Icon an das Fax und setzt noch ein oder 2 Felder.
Kann es sein, daß diese Änderungen die Mail-Rule dazu bewegen, die Fax-Mail nicht zu verstecken?

Hier der Code des Agenten:
   
--- Code: --- Dim ss As New notessession
Dim thisdb As notesdatabase
Dim thisdoc As notesdocument
Dim profdoc As notesdocument

Const viewicon = 129 ' wird z.Z. nicht angezeigt !

Set thisdb = ss.CurrentDatabase
Set thisdoc = ss.DocumentContext

' Print "Agent gestartet"
' die relevanten X-Header befinden sich in den Feldern, die mit "X_C4B" beginnen
' Folgende Felder werden gesetzt
' Form
' C4B_Messageclass
' _ViewIcon
' _ViewIcon2
' Dann wird das Dokument in die Inbox gestellt.

Select Case Ucase (thisdoc.X_C4BMessageClass (0))
Case "FAXRECEIVE"
' Call thisdoc.replaceitemvalue ("_ViewIcon", viewicon)
Call thisdoc.replaceitemvalue ("_ViewIcon2", "xp_fax_view.gif")
Call thisdoc.replaceitemvalue ("xp_register", "3")
Case "FAXDR", "SMSDR"
' Call thisdoc.replaceitemvalue ("_ViewIcon", viewicon)
Call thisdoc.replaceitemvalue ("_ViewIcon2", "xp_dr_view.gif")
Call thisdoc.replaceitemvalue ("xp_register", "1")
Case "FAXNDR", "SMSNDR"
' Call thisdoc.replaceitemvalue ("_ViewIcon", viewicon)
Call thisdoc.replaceitemvalue ("_ViewIcon2", "xp_ndr_view.gif")
Call thisdoc.replaceitemvalue ("xp_register", "1")
Case "VOICE"
' Call thisdoc.replaceitemvalue ("_ViewIcon", viewicon)
Call thisdoc.replaceitemvalue ("_ViewIcon2", "xp_voicemail.gif")
Case Else
' Print "undefinierter Typ für C4BMessageClass: " & thisdoc.X_C4BMessageClass (0)
Exit Sub
End Select

thisdoc.form = "Memo"
thisdoc.C4BMessageClass = thisdoc.X_C4BMessageClass

If Ucase (thisdoc.C4BMessageClass (0)) = "FAXRECEIVE" _
Or Ucase (thisdoc.C4BMessageClass (0)) = "VOICE" _
Then
' das Feld brauchen wir für die Anruferidentifizierung -
' wird bisher nur für eingehende Faxe und Voicemails eingesetzt !
' Aber auch nur dann, wenn X_C4BCallerNumber nicht leer ist.
' Die Anruferidentifizierung führen wir nur durch, wenn gleichzeitig XPhone installiert ist
' und wenn die Anruferidentifizierung aktiviert wurde.
' Diese beiden Einstellungen können wir im Profildokument prüfen (siehe XP_DatabasePostOpen)
' Falls ja, wird ebenfalls im Profildokument vermerkt, dass mindestens eine Mail
' auf die Adressauflösung wartet.
Set profdoc = thisdb.GetProfileDocument ("C4BUmsProfileDocument")
If thisdoc.HasItem ("X_C4BMessageClass") _
And thisdoc.X_C4BCallerNumber (0) <> "" _
And profdoc.IsXPhoneInstalled (0) = "1" _
And profdoc.XP_CallerIdentificationActive (0) = "1" Then
profdoc.xp_mailarrived = "1"
Call profdoc.Save (True, True)
thisdoc.UM_NotResolved = "1"
End If ' thisdoc.HasItem ("X_C4BMessageClass")

' Für "Aktionen" unter CTI erforderlich
thisdoc.XPhoneCallerEmail = thisdoc.X_C4BCallerEmail
End If ' *** Ucase (thisdoc.C4BMessageClass (0)) = "FAXRECEIVE"

Call thisdoc.PutInFolder ("($Inbox)")
Call thisdoc.Save (True, True)
--- Ende Code ---
   

Gruß,
Markus

Keydins:
Macht der Agent noch was anderes als die Faxe zu bearbeiten? Wenn nicht, dann lass doch den Agenten gleich das Einsortieren in den passenden Ordner (der vermutlich im Desing der Datenbank entahlten ist) übernehmen.

Also ein Call thisdoc.PutInFolder ("Ordner für Faxe") an geeigneter Stelle.

Gruß
Dirk

Dr.Domino:
Das ist natürlich auch eine Idee ... (der Ordner ist derzeit noch nicht im Design, da nicht alle User das so haben wollen ...)

Dr.Domino:
Ist ja spannend ... das funktioniert auch nicht, das Fax wird zusätzlich in der Inbox angezeigt.

Habe folgenden Code im Agenten verdrahtet.


--- Code: --- Call thisdb.EnableFolder ("Faxeingang")  ' Überprüfen ob Folder existiert, wenn nicht -> Anlegen
Call thisdoc.PutInFolder ("Faxeingang")
Call thisdoc.Save (True, True)
--- Ende Code ---

Ergebnis wie gesagt wie vorher mit der Mail Rule - Dokument ist in Inbox und Faxeingang ...  ???

Werde mal ein RemoveFromFolder Inbox probieren...

Dr.Domino:
Jawoll, so gehts ... - Workaround gefunden :-)

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln