Domino 9 und frühere Versionen > Entwicklung
Bestimmte Mails aus einer DB nach Auswahl durch User
MadMetzger:
Hallo,
ich beschäftige mich gerade mit einer Datenbank, in der Anforderungen zu Mängeln an Gebäuden etc. eingestellt werden.
Die Mängel werden erfasst und durch die zuständige Abteilung bearbeitet. Dabei soll als ein Bearbeitungsschritt eine Mail an den Erfasser der Meldung geschickt werden. Dazu möchte ich vorgefertigte Standardantworten in der DB hinterlegen, die dann aus dem Dokument heraus ausgewählt und versand werden sollen.
Meine erste Idee war, Dokumente mit den Vorgaben zu erzeugen, ich hänge jetzt aber fest, wie ich nun ein Memo aus den Vorgaben erzeuge...
Kann mir jemand einen Tip geben? Oder hat jemand schon mal was ähnliches gemacht? Bin für jede Hilfe dankbar...
Axel:
Hi,
ich hab so was ähnliches mal gemacht.
Hier ein Auszug aus der Aktion:
--- Zitat ---...
'Prüfen ob Mail-DB vorhanden
Set maildb = New NotesDatabase("","")
Call maildb.OpenMail
If Not maildb.IsOpen Then
Messagebox "Mail-Datenbank kann nicht geöffnet werden." + Chr$(10) + "Es kann kein Mail erstellt werden.", 16, "ZIV-Organisation"
Exit Sub
End If 'If Not maildb.IsOpen Then
Set docProfile = maildb.GetProfileDocument("CalendarProfile")
'Neues Mail erstellen
Set docMail = New NotesDocument(maildb)
docMail.Form = "Memo"
docMail.Logo = docProfile.DefaultLogo(0)
docMail.Principal = docProfile.Owner(0)
docMail.SendTo = doc.BearbeiterFullname(0)
docMail.Subject = "Neue Aufgabe"
'Anlegen und füllen des Richtextfeldes
Set rtitem = docMail.CreateRichTextItem("Body" )
'*
Call rtitem.AppendText("Sie haben eine neue Aufgabe erhalten.")
Call rtitem.AddNewLine(1)
Call rtitem.AppendText("Bitte folgen Sie der Dokumentverknüpfung, um weitere Informationen zu erhalten.")
Call rtitem.AddNewLine(2)
Call rtitem.AppendText("Aufgabe -> ")
Call rtitem.AppendDocLink(doc, "")
Call docMail.Send(False)
...
--- Ende Zitat ---
'* -> Hier würde ich eine Auswahl einbauen um die Texte (in sep. Dokumenten hinterlegt) auswählen zu können.
Axel
MadMetzger:
Ich habe da schon ein wenig rumprobiert...
Ich habe in der Datenbank Doks mit den Subjects und den Body-Feldern sowie Adressatenfelder. Über eine DialogBox wähle ich das passende Dokument, welches dann zur Bearbeitung geöffnet wird. Der Versand erfolgt dann aus der Mailvorlage heraus. Funktioniert einwandfrei. Habe das Ganze nur ohne Öffnen der MailDb gemacht, sonst ich zu einer Ähnlichen Lösung gekommen.
Hatte leider vergessen das hier reinzuschreiben, setze den Thread gleich mal auf Erledigt.
MadMetzger:
Jetzt habe ich mit dieser DB doch noch ein Problem: In der Maske mit den Mailvorgaben wird über eine Aktion "Senden" ein neues Dok im Backend erzeugt, mit den Werten versehen und verschickt. Jedoch wenn ich das Dokument ohne Speichern schließe ist es hinterher weg. In dem Dok gibt es ein SaveOptions Feld, welches immer auf "1" steht und bei Bedarf auf "0" gesetzt wird. Weiterhin sind in der Maske ein Autoren und ein Leserfeld, in denen ich über eine Rolle eingetragen bin.
Das Problem ist, dass ich es, wenn ich es aus einem anderen Dok aufrufe, nicht mehr speichern kann. Und wenn ich es nicht speichere ist es weg.
Was kann ich noch überprüfen? Oder was mache ich falsch?
Code des Aktionsbuttons:
Option Declare
Sub Click(Source As Button)
'# Versand der Mail an die Adressaten und anschlieáendes L”schen der Empf„nger
'# - Feld AntwortUrsprungTX muss hinterher wieder auf 0 gesetzt werden
'# - L”schen der Empf„ngerdaten
'# Variablendeklaration
Dim session As New notessession
Dim ws As New notesuiworkspace
Dim db As notesdatabase
Dim uidoc As notesuidocument
Dim doc As notesdocument
Dim maildoc As notesdocument
Dim body As Notesrichtextitem
Dim text As String
'# Initialisieren der Variablen
Set db = session.currentdatabase
Set maildoc = db.createdocument
Set uidoc = ws.currentdocument
Set doc = uidoc.document
text = doc.body
'# Versand des Dokuments und Zur?cksetzen der Felder
Set body = maildoc.createrichtextitem("Body")
maildoc.Form = "Memo"
maildoc.Subject = doc.Subject
maildoc.SendTo = doc.SendTo
maildoc.CopyTo = doc.CopyTo
Call body.appendtext ( text )
Call maildoc.send (False)
doc.SendTo = ""
doc.CopyTo = ""
doc.AntwortUrsprungTX = "0"
Call doc.save (True,False)
Call uidoc.reload
End Sub
koehlerbv:
Deine Frage ist mir vollkommen unverständlich.
Lt. Deinem Code (der vielleicht mit Deinem Problem gar nichts zu tun hat) wird sowieso nichts gespeichert.
--- Zitat ---Jedoch wenn ich das Dokument ohne Speichern schließe ist es hinterher weg.
--- Ende Zitat ---
Das ist doch so üblich ...
--- Zitat ---Weiterhin sind in der Maske ein Autoren und ein Leserfeld, in denen ich über eine Rolle eingetragen bin.
--- Ende Zitat ---
Was hat das mit dem geposteten Code zu tun ? Ich kann nicht erkennen, wie irgendeine Maske irgendetwas mit dem Code zu tun haben könnte ...
Beschreib' einfach mal genauer, was Du eigentlich willst oder erkläre uns die Zusammenhänge genauer. Derzeit kann ich nur vermuten, das alles "as designed" funktioniert.
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln