DB Report versenden

Hallo zuerst einmal

Heute muss ich um einen Report, einem nicht Papyrus Nutzer (ja gibt es leider noch)per Mail zu senden, zuerst den Report erzeugen, das erzeugte Dokument im pdf oder doc Format abspeichern, meistens noch den Pfad auswählen, das E-Mailprogramm starten das Dokument anhängen (nicht vergessen) und versenden.

Die jeztige Möglichkeit setzt ja immer voraus das ein Datenfeld besteht in dem der Empfänger bereits steht, also im Datensatz muss der Empfänger eingetragen sein.

Gäbe es nicht die Möglichkeit dies alles in einem Report zu automatisieren.

Stelle mir das so vor:

Im jeweiligen Report einen fixen Email Empfänger zu definieren. Dieser wird beim ausführen ausgelesen ein PDF erzeugt (oder DOC) dieses in einem ebenfalls im Report definierten Pfad gespeichert wenn gewünscht, und das erzeugte Dokument sogleich versandt.

Oder ist sowas in genau dieser Art schon möglich. Ich habs nicht hinbekommen. (wenn, dann ist eine …zuFuss… Anleitung natürlich willkommen)

Aw: DB Report versenden

Ich muss sagen, dass mir eine solche Möglichkeit auch sehr willkommen wäre, so könnte ich erstellte Angebote, oder Rechnungen, ohne weitere Zwischenschritte versenden.

Aw: DB Report versenden

Natürlich, das geht längst. Wird nur selten genutzt. Papyrus hat einen eigenen E-Mail-Versand und kann dort auch Attachements anfügen, die vorher z.B. aus einem Papyrus Dokument als PDF entstanden sind, alles vollautomatisch.

Genau so verschicken wir bspw. unsere Rechnungen.

Aw: DB Report versenden

Ich habe das versucht hin zu bekommen. Aber irgendwie stehe ich da auf dem Schlauch.

beim Ausführen des Reports erscheint die Meldung:

*Für die E-Mail ist kein Empfänger angegeben. Bitte bearbeiten Sie die

Report-Vorlage und fügen Sie am Anfang ein Datenfeld mit mindestens folgendem

Inhalt ein:

LET EMAIL_RECIPIENT=

LET EMAIL_RECIPIENT_NAME=*

Aber wie ichs auch versuche, irgendwo hakelt das, bei mir, hätte da jemand eine (…schritt für schritt Anweisung)

Wo diese Formel hin muss.

Ich habe ein Datenfeld mit dem Namen: “email_empfänger”

Die Einstellungen im Report Dialog “Email Einstellungen” sind klar.

Nur diese Sache im obengenanten Datenfeld ist mir unklar.

Aw: DB Report versenden

Hallo Egger

Dann schau Dir doch mal die BASE-Reportvorlage „Email.pap“ der Standard-Datenbank „Adressen“ im Bearbeitungsmodus an.

Beispiel:

Man fügt also in eine BASE-Reportvorlage ein Datenfeld ein. Bspw. so:

LET EMAIL_RECIPIENT = email_empfänger

Das macht nichts anderes, als den smtp-Server die E-Mail-Adresse:thumbsdown: mitzuteilen. Mehrere E-Mail-Adressen werden mittels Komma getrennt. Steht auch alles in der Hilfe.

Aw: DB Report versenden

OK schau ich mir mal an.

und danke für den Hinweis. Werde mich melden sobald ich’s begriffen habe oder anstehe.

Aw: DB Report versenden

Hallo Alex,

ich hänge an demselben Problem fest, dachte ich hätte alles eingegeben, aber dann kommt beim Versuch, den Report per E-Mail zu schicken die von dir genannte Nachricht "Für die E-Mail ist kein Empfänger angegeben. Bitte …

Darf ich fragen, ob du das Problem inzwischen gelöst hast und mir vielleicht ein bißchen unter die Arme greifen kannst?

Viele Grüße,

Henrich

Aw: DB Report versenden

hallo hwenzel

Ich versuche hier mal eine “schritt für schritt” anweisung zu basteln.

  1. Datenbank öffnen

  2. Menue “Datenbank/Feldeigenschaften” öffnen

  3. “Neues Feld”

  4. Bei “Name und Typ” → autom./Standard-Feld auf “email” stellen

  5. Namen vergeben (zBsp. “emailempfänger”)

  6. Bei “Werte” kannst du optional vordefinierte email adressen eingeben, einfach pro Zeile eine Adresse oder, fals gewünscht, durch koms getrennt mehrere empfänger zusammenfassen, falls immer wieder dieselben benutzt werden.

  7. Dann das wichtigste: Bei “Rechenfeld” im Bereich “Voreinstellungs-Formel für einen neuen Datensatz:” die Formel:

    LET EMAIL_RECIPIENT = email_empfänger

    LET EMAIL_RECIPIENT_NAME = email_empfänger

    eintragen.

  8. Wenn unter “Prüfung” der Hacken bei “Feld automatisch zum Eingabeformular hinzufügen” gesetzt ist, wird mit “Tabelle Anpassen”, das benötigte Feld erzeugt. (Sonst von Hand ins Eingabeformular einpflegen.)


  1. Im Eingabeformular die email adresse eingeben oder auswählen (siehe Punkt 6.)

  1. In der Reportvorlage das Feld einfügen.

  1. Im Dialog Report das Formular markieren

  2. Bei “Ausgabe”-> “E-Mail(s) versenden” auswählen.

  3. Im Dialog “E-Mail Einstellungen…” deine Angaben tätigen.

So sollte es gehen.

Hoffe diese Anleitung hilft weiter…

Bei mir klapt es eigentlich von Papyrus Seite her immer, nur der SMTP Server motzt manchmal.

Aw: DB Report versenden

Danke Alex, jetzt dämmert mir, was ich da für einen Quatsch gemacht habe. Ich setze mich gleich mal dran.

Viele Grüße, Henrich

Aw: DB Report versenden

Hallo.

Alex schreibt unter 7.:

LET EMAIL_RECIPIENT = email_empfänger

LET EMAIL_RECIPIENT_NAME = email_empfänger

Die zweite Zeile ist problematisch.

Angenommen die DB-Tabelle hat die DB-Felder “Name” und “Vorname”,

dann müsste diese zweite Zeile so aussehen:

LET EMAIL_RECIPIENT_NAME = Vorname + ’ ’ + Name

Diese zweite Zeile macht, dass der Anwender nicht nur die im DB-Feld “email_empfänger” hinterlegte E-Mail-Adresse sieht, sondern auch noch deren Vornamen und Namen - ist einfach informativer und ist häufig so anzutreffen. Man kann aber auch diese zweite Zeile einfach weglassen.

Des Weiteren empfiehlt es sich die “Let-Zeilen” in die Base-Vorlage als (1) Datenfeld unterzubringen und nicht im Rechenfeld. Dort würde ich es wieder rausnehmen!

Dann die Base-Vorlage zum Bearbeiten öffnen.

Dazu doppelt auf das für meine Begriffe überflüssige Datenfeld “emailempfänger” klicken und im Dialog rechts im Formeleditor die (korrigierten) Let-Zeilen einfügen.

Abschließend auf “Ändern” klicken.

Ich kann es jetzt selbst nicht prüfen, weil mein Provider besondere Anforderungen an den SMTP-Server (TLSV1 / verschlüsselt) stellt. Base unterstützt das zurzeit nicht. Das hat aber nichts mit der obigen Fehlermeldung zu tun. Außerdem würde Base in so einem Fall sicher eine entsprechende und weiterführende Meldung ausgeben.

Aw: DB Report versenden

Hallo Gerd,

danke für die Hinweise. Mit den empfohlenen Änderungen bin ich jetzt offenbar einen Schritt weiter: Erst mal erscheint ein horizontaler blauer Balken. Nach einiger Zeit kommt dann die Fehlermeldung

"Fehler beim Abliefern der Mail an <leerer Empfänger> an den SMTP-Server smtp.strato.de

SMTP-Fehler Nr.1".

In dem Datensatz habe ich im Feld ‘enailempfänger’ meine eigene E-Mail-Adresse gespeichert. Ich habe noch versucht, im Rechenfeld im Report statt des Datenfeldnamens ‘emailempfänger’ direkt die gewünschte E-Mail-Adresse (in Anführungszeichen) einzugeben, aber mit demselben Resultat.

Das steht in Gesendete_Mails.log:

“bng_mail_Schadensmeldung”
Versandt von Papyrus Base 8.04 (http://www.papyrus.de) am 26.05.2016 00:24:07
Report-Datei “/Users/henrich/Desktop/Endoskopreparaturen/Reports/bng_mail_Schadensmeldung.pap” für Auswahl
“bng_mail_Schadensmeldung”
Versandt von Papyrus Base 8.04 (http://www.papyrus.de) am 26.05.2016 00:32:37
Report-Datei “/Users/henrich/Desktop/Endoskopreparaturen/Reports/bng_mail_Schadensmeldung.pap” für Auswahl

und in smtp.log:

“bng_mail_Schadensmeldung”
Versandt von Papyrus Base 8.04 (http://www.papyrus.de) am 26.05.2016 00:24:07
Report-Datei “/Users/henrich/Desktop/Endoskopreparaturen/Reports/bng_mail_Schadensmeldung.pap” für Auswahl
QUIT
“bng_mail_Schadensmeldung”
Versandt von Papyrus Base 8.04 (http://www.papyrus.de) am 26.05.2016 00:32:37
Report-Datei “/Users/henrich/Desktop/Endoskopreparaturen/Reports/bng_mail_Schadensmeldung.pap” für Auswahl

Schon mal vielen Dank für die Hilfe. Ich bin jetzt ein paar Tage unterwegs - nur für den Fall, daß jemandem dazu etwas einfällt und ich nicht gleich reagiere :wink:

Gruß, Henrich

Aw: DB Report versenden

Hallo Henrich.

  1. Sind die Einstellungen im Report Dialog “Email Einstellungen” korrekt und vollständig?

  2. Wurde vor dem Ausführen des Reports darauf geachtet auch wirklich nur den Datensatz für das Senden zu selektieren, bei dem die E-Mai-Adresse im DB-Feld “email_empfänger” eingetragen ist.

  3. Ist die Empfänger-E-Mail-Adresse auch wirklich korrekt?

  4. Befindet sich im DB-Feld “email_empfänger” auch wirklich nur die nackige E-Mail-Adresse (kein Leerzeichen oder andere Zeichen, die da nicht hingehören)?

  5. Lass auch mal die zweite LET-Zeile mit den zusätzlichen Infos für Vorname und Name weg, um einzugrenzen.

Das muss klappen. Die R.O.M. logicware GmbH sendet doch fleißig auch damit.:slight_smile:

Aw: DB Report versenden

Hallo Gerd,

ich habe die von dir aufgeführten Punkte , 2 und 4 überprüft und gemäß 5 die zweite LET… Zeile weggelassen.

Jetzt bekomme ich sofort die Fehlermeldung:

[SPOILER]Die Authentifizierung wurde vom SMTP-Server smtp.web.de abgelehnt. Sind der
Login-Name … und das Passwort korrekt?

  • AUTH PLAIN wurde erfolglos versucht
  • AUTH LOGIN wurde erfolglos versucht
  • AUTH LOGIN-Anforderung wurde abgelehnt

SMTP-Fehler Nr. 530:
530 Must issue a STARTTLS command first[/SPOILER]

Das Gleiche kam auch beim smtp-Server von Strato, bei dem ich auch einen Account habe. Bei beiden ist unter Sicherheit STARTTSL bzw. SSL gefordert. Das kann ich aber in den E-Mail-Einstellungen nicht eingeben. Ob es vielleicht daran liegt?

Aw: DB Report versenden

Hallo Henrich.

Na, das sieht ja dann gut aus. Funktionieren würde es …

Nun stellt sich dir (und mir) die geänderte Sicherheitseinstellung (-> Initiative “E-Mail Made in Germany”) bei den großen Providern in den Weg. Papyrus unterstützt das Protokoll STARTTLS (TLSV1) nicht. Die Mail-Server von z. B. Web.de oder auch T-Online u.a. wehren ab.

Aw: DB Report versenden

Damit scheint jetzt also des Pudel’s Kern gefunden. Enttäuschend, aber dann muß ich jedenfalls nicht weiter probieren.

Ich werde mal suchen, ob ich einen Anbieter ohne STARTTLS finde - ist wohl eher unwahrscheinlich.

Schon mal vielen Dank für die gute Unterstützung hier im Forum!!

Und mein innigster Wunsch an R.O.M. logicware: Bitte das Protokoll STARTTLS auf die Liste nehmen!

Aw: DB Report versenden

Hallo.

Ja, sichere Verbindung würde ich auch unterstützen.

Wenn Du vor hast die Datenbank auch anderen Kollegen zur Verfügung zu stellen, dann würde ich in der Zwischenzeit noch ein paar Dialoge einbauen. Denn, wenn eine E-Mail versendet (der Report ausgeführt) wurde, ist sie weg.

Also könntest Du bspw. noch einen vorgelagerten Dialog erstellen. Etwa so:

Soll das Protokoll wirklich an

,

gesendet werden?

“Senden” / “Abbrechen”

Auch würde ich noch die Variable EMAIL_BCC einführen.

Damit kann man sich die versendete E-Mail selbst zusenden - ohne das es der / die Empfänger sehen …

Alles was hierzu erforderlich ist steht in der Hilfe. Insbesondere:

MESSAGEBOX(Icon, Text, Button(s))

REPORT(Reportpfad)

ABORT(Fehlertext)

Es ist natürlich auch deutlich mehr machbar.

Bspw. könnte ein Report REPORT(Reportpfad)angestoßen werden, der bei Klick auf “Senden” automatisch den Zeitpunkt des Sendens in ein DB-Feld “Sendezeitpunkt” der betreffenden Datenbank einträgt. Auf diese Weise kann nebenbei auch dokumentiert werden, dass ggfls. mehrfach gesendet wurde …

Aw: DB Report versenden

Danke für die Anregungen, die mir natürlich den Mund wässrig machen.

Aber solange ich gar keine Verbindung hinkriege, geschweige denn eine sichere, muß ich mir darüber wohl keine Gedanken machen. Oder gibt es doch eine Möglichkeit, StartTLS auszuschalten, um überhaupt eine Verbindung herzustellen?

Aw: DB Report versenden

Hallo Henrich.

Da müsste es erst evtl. eine entsprechende Auswahlmöglichkeit (“Sichere Verbindung” - die “Methode”, andere “Unsichere Verbindung”) im Dialog “E-Mail Einstellungen” geben. Je nachdem, bei welchem Provider man ist, könnte dann der Anwender im Dialog die jeweilig benötigte Einstellung individuell vornehmen. Der Dialog unterstützt Authentifizierung am Server (mit "Unsicherer Verbindung).

Wie dem zurzeit auch sei.

Du könntest halt in der DB-Beschreibung darauf hinweisen, dass Papyrus BASE zurzeit keine sichere End-zu-End-Verbindung unterstützt. Du hilfst deinen Kollegen, indem du in der Beschreibung auf ein - zwei Provider hinweist, die (optional) noch “unsichere Verbindung” anbieten.

Du gibst eine (alternative) BASE Report-Vorlage mit.

Die speichert mit der Funktion SAVE() den DB-Report und ruft dann mit der Funktion CALL() ein E-Mail-Programm auf. Der Anwender kann nun die Reportdatei mit dem E-Mail-Programm versenden. Ich finde das hat auch seine Berechtigung, zumal man dann den E-Mail-Verkehr dann dort hat, wo er hingehört. Nämlich im E-Mail-Programm.

Aw: DB Report versenden

Hallo Gerd,

GMX, web.de und Telekom haben ja fest auf StartTLS umgestellt. Ich habe noch Yahoo, Freenet und ok.de ausprobiert (da kann man zwischen StartTLS und SSL wählen), funktioniert aber nicht. R.O.M. logicware benutzt vermutlich O2, das funktioniert ja offenbar. Aber dafür habe ich keinen Account und einen freien Zugang zum Ausprobieren gibt es nicht.

Ich werfe jetzt das Handtuch und setze meine Hoffnung darauf, daß sich möglichst viele Papyrus-Nutzer die Anpassung des E-Mail-Zugangs wünschen. :laughing: Dir noch mal vielen Dank für die geduldige und kundige Unterstützung!

Gruß, Henrich

Aw: DB Report versenden

Wünsche hin - Wünsche her.

Ich meine, das hat auch etwas mit Datensicherheit zu tun. Sowohl für Dich als auch für mich ist der ansonsten gut funktionierende E-Mail-Versand über Papyrus BASE leider nicht mehr möglich.* Sicherlich steht es bereits auf der Aufgabenliste.* :slight_smile: