Autor Thema: Mail per Lotus Script versenden!  (Gelesen 4019 mal)

Emre.1996

  • Gast
Mail per Lotus Script versenden!
« am: 20.04.15 - 13:41:08 »
Hallo,

ich brauch mal wieder Hilfe.

Ich möchte gerne Mail versenden und dazu habe ich zuerst ein Button erstellt. Dazu der Code:

Function postSaveMAEintritt(uidoc As NotesUIDocument)

Dim db As NotesDatabase
Dim profile As NotesDocument
Dim ws As New NotesUIWorkspace
Set uidoc = ws.CurrentDocument
Dim session As New NotesSession
Dim doc As NotesDocument
Dim maildoc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim MailGesendet As NotesItem

Set doc = uidoc.Document

If doc.Getitemvalue("Status")(0) = "0" Then

MsgBox("Hall")
Set db = doc.Parentdatabase
Set profile = db.Getprofiledocument("DBProfile", "Main")
Set maildoc = New NotesDocument(db)
Set rtitem = New NotesRichTextItem( maildoc, "Body" )
maildoc.form = "Memo"
maildoc.Subject = "Test"
maildoc.sendto = doc.AusgeliehenVon

Call rtitem.AppendText( "Bitte geben Sie die folgende Resource zurück." )
Call rtitem.AddNewLine( 2 )
Call rtitem.AppendText( "Name: " + doc.Name(0) )
Call rtitem.AddNewLine( 2 )
Call rtitem.AppendText( "Typ: " + doc.Typ(0) )
Call rtitem.AddNewLine( 2 )
Call rtitem.AppendText( "Nummer: " + doc.DocNumber(0) )
Call rtitem.AddNewLine( 2 )
Call rtitem.AppendText( "Link zum Vorgang:" )
Call rtitem.AddNewLine( 2 )
Call rtitem.AppendText( doc.Notesurl )

maildoc.Send(False)
MsgBox("Test")
Call doc.Save(True,True)
Call uidoc.Close(True)
Print("Ihr Antrag wurde erfolgreich gesendet")
End If

End Function

Klappt super alles bestens. Mail kommt an wenn Status = 0 und bei 1 kommt nichts. Alles wunderbar.

Nur ich habe jetzt einen Agenten erstellt und diesen Code eingefügt und den versucht manuell zu starten.
Ich habe die Meldung bekommen. Der Agent ist durch ... Dokumente durchgelaufen ...
aber keine Mail bekommen.

Der Code ist in Front End und periodischen funktionieren ja nicht in Front end klassen.
Wie könnte ich diesen Code in Backend umändern?

Vielen Dank im Voraus

Driri

  • Gast
Re: Mail per Lotus Script versenden!
« Antwort #1 am: 20.04.15 - 13:48:12 »
Was versprichst Du dir denn davon, den Code in einen Agenten zu packen ?

Wenn ich das richtig deute, soll der Code doch beim Speichern des Dokumentes laufen. Da braucht es ja nicht zwingend einen Agent für.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mail per Lotus Script versenden!
« Antwort #2 am: 20.04.15 - 13:50:50 »
Damit wird vielleicht klarer:
Zitat
Hallo Leute,

ich hätte dazu auch mal eine Frage.

Ich habe eine Datenbank, wo man Autos ausleihen kann. Beim Ausleihen bzw. bei der Rückgabe wird der Status in der Maske "Auto" von 0 bzw. 1 auf 1 bzw.0 geändert.
Bei der Ausgabe gibt man einen Datum ein "anwisierendes Rückgabedatum".
Meine Frage wäre wie könnte ich es am besten machen, damit wenn das "anwisierendes Rückgabedatum" fällig ist, eine Mail an den Ausleiher rausgeht?

Agent, der jeden Abend das Rückgabedatum überprüft und dann eine mail rausschickt ???

Vielen Dank im Voraus

kommt von hier
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Schnubbel

  • Junior Mitglied
  • **
  • Beiträge: 91
Re: Mail per Lotus Script versenden!
« Antwort #3 am: 20.04.15 - 14:37:11 »
NotesUIWorkspace und NotesUIdocument gibt es nicht in periodischen Agenten. (Das schreibst du ja selbst).

Du willst dich also mit dem Thema Notesdocumentcollection und Schleifen auseinander setzen. Du möchtest ja mehrere Dokumente durchsuchen, ob bei dem Feld Status 0 oder 1 drin steht.

Zuvor musst du natürlich die Notesdocumentcollection basteln, das kannst du mit der Methode search aus der NotesDatabase machen.

In etwa so:

Formel = {Form="DeineForm"}

set dc = db.search (Formel, Nothing, 0)
If dc.count = 0 then
Exit Sub
End if

set doc = dc.getfirstdocument

While not (doc is Nothing)
... dein code ...
set doc = dc.getnextdocument(doc)
Wend

Das ist alles ausm Kopf geschrieben, die Deklaration der Variablen fehlt auch...
Rechtschreibfehler könnten drin sein.

Gruß

Thorsten
Client -> Notesclient 8.5.3
Betriebssystem ->Windows 7
User-> Thorsten :)

Emre.1996

  • Gast
Re: Mail per Lotus Script versenden!
« Antwort #4 am: 20.04.15 - 16:33:34 »
Hallo Thorsten,

vielen Dank für deine Antwort.

Ich weiß nur nicht wie ich auf das Feld "Status" in der Maske "Resource" zugreifen kann. Die Abfrage oder der Mail Send Teil ist ja kein Problem.

Mein einziges Problem ist wie ich den Wert des Feldes "Status" auslesen kann.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Mail per Lotus Script versenden!
« Antwort #5 am: 20.04.15 - 16:38:25 »
Hallo,

Mal bescheiden gefragt.

Hast Du schon einmal eine Blick in die Hilfe des Designers geworfen?

Hier findest du doch fuer alle moeglichen Notes-Klassen, also auch NotesDocument-Class, die entsprechenden
Properties und Methoden.

Und bei NotesDocument wuerdest du dann auch "NotesDocument.GetItemValue("Item") finden und alle
noch dazu gehoerenden Informationen.

%EDIT
Und auch eine Suche hier im Forum, ebenso im Dominoforum, wuerde dir einiges an Ergebnissen liefern.


Andreas
« Letzte Änderung: 20.04.15 - 16:40:29 von ascabg »

Emre.1996

  • Gast
Re: Mail per Lotus Script versenden!
« Antwort #6 am: 20.04.15 - 19:06:06 »
Hallo Andreas,

ja ich habe in die Designer Hilfe geschaut.

Das einzige was ich nicht verstehe ist, wie ich auf das Dokument komme.

Also sodass ich,

doc.Status

abfragen kann

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mail per Lotus Script versenden!
« Antwort #7 am: 20.04.15 - 21:10:35 »
Und wieder ist die Frage eine komplett andere als die vorher gestellte ... Merkst Du nicht, dass Dein Problem Deine panische, völlig planlose Vorgehensweise ist? Eben war es noch das Item, das Du nicht auslesen kannst, jetzt ist es "das" Dokument.

Ich stelle jetzt eine SEHR konkrete Frage: Was ist "das Dokument"?
Das einzige was ich nicht verstehe ist, wie ich auf das Dokument komme.

Ich stelle eine weitere sehr konkrete Frage:
Bist Du der Meinung, dass Du den bisher geposteten Code, den Du nachvollziehbar nicht selbst geschrieben haben kannst, wirklich verstanden hast? Ich bin mir nämlich sehr, sehr sicher: Das hast Du nicht!
Warum nennst Du nicht Deine wirklichen Probleme? Das würde vermutlich erheblich mehr zur Hilfe animieren als "wilde Sprünge" und das Schreiben in mehreren Foren, ohne die meist nicht alle Foren lesenden Menschen von den bisherigen Ergebnissen zu informieren.

Nimm Dir Zeit, die wirklichen Probleme zu benennen, lass Hilfsbereite  nicht sinnfrei ins Leere rennen und sage klar Deine eigentlichen Probleme an. Du stösst sonst die Hilfsbereiten hier und im Dominoforum mehr und mehr vor den Kopf, und damit tust Du Dir mit Sicherheit keinen Gefallen.

Bernhard

PS: Warum fragst Du eigentlich in Deiner Firma nicht nach Hilfe für diese mehr als grundlegenden Dinge? Zu einer Ausbildung gehören die doch essentiell hinzu! Und laut Webseite beherrscht Deine Firma dieses Gebiet.
« Letzte Änderung: 21.04.15 - 10:51:47 von koehlerbv »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz