Autor Thema: Mail per LS verschicken  (Gelesen 3963 mal)

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Mail per LS verschicken
« 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
« Letzte Änderung: 11.08.04 - 22:49:49 von Bruce Willis »
nobody is perfect but i'm pretty close 

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mail per LS verschicken
« Antwort #1 am: 11.08.04 - 22:51:41 »
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
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re:Mail per LS verschicken
« Antwort #2 am: 11.08.04 - 22:56:34 »
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?  ;)
nobody is perfect but i'm pretty close 

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mail per LS verschicken
« Antwort #3 am: 11.08.04 - 22:59:59 »
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).

« Letzte Änderung: 11.08.04 - 23:00:51 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mail per LS verschicken
« Antwort #4 am: 11.08.04 - 23:05:45 »
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
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re:Mail per LS verschicken
« Antwort #5 am: 11.08.04 - 23:08:34 »
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)...
nobody is perfect but i'm pretty close 

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mail per LS verschicken
« Antwort #6 am: 11.08.04 - 23:12:09 »
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.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mail per LS verschicken
« Antwort #7 am: 11.08.04 - 23:17:20 »
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
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re:Mail per LS verschicken
« Antwort #8 am: 11.08.04 - 23:23:31 »
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?
nobody is perfect but i'm pretty close 

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mail per LS verschicken
« Antwort #9 am: 11.08.04 - 23:25:45 »
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.
« Letzte Änderung: 11.08.04 - 23:27:39 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re:Mail per LS verschicken
« Antwort #10 am: 11.08.04 - 23:27:57 »
oh... sorry, das hab' ich noch nicht gemacht...

ich probiere dann morgen aus

vielen Dank!

Gruß
Bruce
nobody is perfect but i'm pretty close 

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Mail per LS verschicken
« Antwort #11 am: 11.08.04 - 23:31:39 »
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.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re:Mail per LS verschicken
« Antwort #12 am: 11.08.04 - 23:35:08 »
Danke für die Tipps!
Bis morgen, dann...  :)
nobody is perfect but i'm pretty close 

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz