Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Bruce Willis am 11.08.04 - 22:44:36
-
Hallo,
durch Klicken auf den Button mit u.g. LS wird Email aus einer Mailin-DB verschickt. Die Felder werden aus dem entsprechenden Dokument mit dem Button übernommen. Das Dokument wird danach gespeichert und geschlossen. Alles funktioniert perfekt. Aber...
Weiß jemand, was und wohin ich schreiben soll, um zwei folgende Sachen zu kriegen?
1. Auswahl-Box "Nicht eindeutige Mail-Adresse" o.ä. falls ein Empfänger im Domino-Adressbuch eine Adresse hat und im Privat-Adressbuch des Absenders eine andere. (Im Moment kommt nur die Fehlermeldung ohne Auswahlmöglichkeit)
2. Popup-Fenster "Email erfolgreich verschickt" o.ä. nachdem E-Mail auch verschickt wurde.
Danke im Voraus.
Bruce
**********************
Sub Click(Source As Button)
Dim ws As New notesuiworkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim UIDoc As notesuidocument 'Aktuelles Dokument im Frontend
Dim doc As notesdocument 'Aktuelles Dokument im Backend
Dim TicketNr, UserTech, Subject, UserReg, Priority As String
Set UIdoc=ws.CurrentDocument
Set doc=uidoc.Document
Set db= session.CurrentDatabase
Set Message=New NotesDocument(db) 'Mail erstellen
Set rtitem = New NotesRichTextItem( Message, "Body" )
TicketNr=uidoc.FieldGetText("RequestNumber")
Subject=uidoc.FieldGetText("Subject")
UserReg=uidoc.FieldGetText("User_Req")
Priority=uidoc.FieldGetText("Priority")
NewProcess=uidoc.FieldGetText("NewProcess")
Status=uidoc.FieldGetText("Status")
Message.Form="Memo"
Message.Principal="Bruce Willis/Germany"
If doc.warn_usr_req(0)="Y" Then
Message.SendTo=doc.User_Req
Message.Subject = "Ticket: " & TicketNr & " - Frage/Info. (Prio: " & Priority & ") für " & UserReg & " , Status: " & Status
Call rtitem.AppendText( "Durch Klicken auf den u.g. Link wird das Ticket geöffnet. " )
Call rtitem.AddNewLine( 1 )
Call rtitem.AddNewLine( 1 )
Call rtitem.AppendText("Frage/Info: " & NewProcess)
Call rtitem.AddNewLine( 1 )
Call rtitem.AddNewLine( 1 )
Call rtitem.AppendText("Thema: " & Subject)
Call rtitem.AddNewLine( 1 )
Call rtitem.AppendText("Link zum Ticket --> ")
Call rtitem.AppendDocLink( doc, "" )
Call Message.Send( False )
End If
Call uidoc.Save
Call uidoc.Close
End Sub
-
1. Auswahl-Box "Nicht eindeutige Mail-Adresse" o.ä. falls ein Empfänger im Domino-Adressbuch eine Adresse hat und im Privat-Adressbuch des Absenders eine andere? (Im Moment kommt nur die Fehlermeldung ohne Auswahlmöglichkeit)
2. Popup-Fenster "Email erfolgreich verschickt" o.ä. nachdem E-Mail auch verschickt wurde.
Auf die schnelle, Leo:
Provoziere den Fehler "Nicht eindeutige Mail-Adresse", damit Du den Fehlercode rausfindest.
Dann ein Errorhandling in dem Code.
ExitScript:
Exit Sub
ErrorHandler:
Select Case Err
Case 123456 'Das ist der Fehler "Nicht eindeutige Mail-Adresse"
Msgbox "Nicht eindeutige Mail-Adresse", 64, db.title
Resume exitScript
Case Else
Call DisplErrorMsg 'Hier Deine ErrorHandling - Sub....
Resume ExitScript
End Select
-
mmmmm... eeeeee....
Matthias, danke für deine super schelle Antwort!
Kannst du bitte zusätzlich ein bißchen langsamer erklären, was und wochin damit? ;)
-
An's Ende des Codes (vor End Sub).
Ganz am Anfang des Codes noch ein "On Error goto ErrorHandler".
Du brauchst dann noch eine ErrorHandler-Routine.
Was ich jetzt nicht weiss wie Du hier eine Auswahlmöglichkeit bereitstellen kannst. Im gegebenem Beispiel wird dann das Senden nur geblockt (Exit Sub).
-
Hier noch eine ErrorMessage Sub. Am besten in eine ScriptLib kopieren. Und "%INCLUDE "lsconst.lss" " in den Options ergänzen. Oder Du wirfst Getthreadinfo( raus (ist eh nicht immer zuverläsig).
Sub DisplErrorMsg
Dim strTitle As String
Dim strMsg As String
Dim vProcedure As Variant
vProcedure = Getthreadinfo( LSI_THREAD_CALLPROC )
strTitle = "An error occured"
strMsg = _
"Error: " & Err & " - " & Error$ & Chr(10) & Chr(10)_
& "Procedure: " & vProcedure & Chr(10) & Chr(10) _
& "Line: " & Erl & Chr(10)
Msgbox strMsg , 48, strTitle
End Sub
-
nochmals danke
was das Fenster mit einer Auswahlmöglichkeit betriff, ich meine so eins, das beim normalen Verschicken aus dem Notes Client auch kommt (siehe Anlage hier)...
-
was das Fenster mit einer Auswahlmöglichkeit betriff, ich meine so eins, das beim normalen Verschicken aus dem Notes Client auch kommt (siehe Anlage hier)...
Hier im Beispiel brechen wir die ganze Aktion dann ab, wenn ein Fehler auftaucht.
Du nutzt auch Backend-Methoden um die Mail zu versenden (und nicht Frontend). Ich weiss jetzt aber nicht genau, welcher Fehler da zurückgegeben wird.
-
Evtl. solltest Du die Mail via Frontend senden. Dann solltest Du auch die Fehlermeldung bekommen.
Was schlecht ist:
Dim TicketNr, UserTech, Subject, UserReg, Priority As String
Dadurch werden TicketNr, UserTech, Subject, UserReg als Variant deklariert und nicht als String.
Was geht ist:
Dim TicketNr as string, UserTech as string, Subject as string, UserReg as string, Priority As String
-
Okay... Ich habe Debugger gestartet und den Fehler reproduziert.
Die andere Meldung (siehe hier angehängt) ist gekommen, aber der Debugger nicht... Was kann ich sonst machen?
-
1.) Hast Du meinen Errorhandling-Code eingebaut? Dann solltest Du die Fehlernummer bekommen (über Case Else)
2.) Versende doch das Doc im Frontend anstatt Backend, dann sollte der Auswahl-Dialog kommen.
-
oh... sorry, das hab' ich noch nicht gemacht...
ich probiere dann morgen aus
vielen Dank!
Gruß
Bruce
-
Du kannst auch den Client auf Englisch umstellen (in der notes.ini die Zeile "UserInterface=de" auskommentieren) und dann nach der englischen Fehlermeldung den Fehlercode suchen.
Ich würde als erstes aber mal versuchen, die Mail im Frontend zu verschicken.
-
Danke für die Tipps!
Bis morgen, dann... :)