Envoyer des factures (PDF) de SAP aux serveurs de messagerie et de fax / Imprimante PDF
Pour une entreprise allemande, l'imprimante 7-PDF a été configurée en tant qu'imprimante réseau afin de l'utiliser à partir de SAP pour l'envoi de factures PDF . Les documents PDF générés ont ensuite été envoyés à un serveur de fax via SMTP et envoyés par celui-ci. L'imprimante 7-PDF a précédemment demandé le numéro de fax à l'utilisateur via la zone de saisie et l'a transmis au serveur de fax en script VB.
Cet exemple montre comment des processus assez complexes peuvent être mappés avec l'imprimante 7-PDF avec seulement quelques lignes de code VBScript. La macro suivante devrait également servir de base si vous prévoyez d'envoyer automatiquement des documents PDF imprimés par e-mail.
Vous pouvez le faire directement maintenant!
À partir de la version 12, sortie fin octobre 2020, vous pouvez également adresser un serveur SMTP directement sans VBScript, ou modifier dynamiquement le serveur SMTP en utilisant VBScript au moment de l'exécution. Vous pouvez trouver plus d'informations ici...
- Dim global_success, faxnr, SMTPServer, Recipient, From, Subject, Message
- Sub OnConfigLoaded()
- Rem -- Modify the configuration to extract text from the printer
- Rem -- output.
- faxnr = InputBox("Faxnummereingabe (ohne Sonder- und Leerzeichen):", "Rechnung senden")
- Context("Config")("showsettings") = "never"
- Context("Config")("showpdf") = "no"
- Context("Config")("output") = "C:\pdf-processing\print\<date>-<time>.pdf"
- Context("Config")("superimpose") = "C:\pdf-processing\print\background.pdf"
- Context("Config")("author") = "<username>"
- Context("Config")("confirmoverwrite") = "no"
- Context("Config")("mergefile") = "C:\pdf-processing\print\agb.pdf"
- Context("Config")("mergeposition") = "top"
- End Sub
- Sub OnSuccess()
- global_success = true
- End Sub
- Sub OnAfterPrint()
- If global_success Then
- Rem -- Absender <username>@mailserver.de
- Rem -- Empfänger faxnr@fax.local
- SMTPServer = "smtp.mailserver.local"
- Recipient = faxnr & "@fax.local"
- From = Context("DocumentAuthor") & "@mailserver.de"
- Subject = "Ihre SAP Rechnung"
- Message = "Anbei erhalten Sie Ihre SAP - Rechnung fuer den
- Technikerauftrag des Technikers " & Context("DocumentAuthor")
- & vbcrlf & "Vielen Dank fuer Ihren Auftrag!"
- set msg = CreateObject("CDO.Message")
- msg.From = From
- msg.To = Recipient
- msg.Subject = Subject
- msg.TextBody = Message
- ' To add an attachment uncomment this line
- msg.AddAttachment Context("OutputFileName")
- msg.Configuration.Fields ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServer
- msg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
- msg.Configuration.Fields.Update
- msg.Send
- MsgBox "Die Rechnung wurde versendet."
- ' Del PDF
- Set objFSO = CreateObject("Scripting.FileSystemObject")
- objFSO.DeleteFile(Context("OutputFileName"))
- Else
- MsgBox "Ein Fehler beim Rechnungsversand ist aufgetreten. Bitte versuchen Sie es erneut!"
- End If
- End Sub
Télécharger un exemple de fichier
Vous pouvez télécharger l'exemple de code. Après le déballage, veuillez déplacer le fichier de macro VBS qu'il contient dans le dossier macros de l'imprimante PDF (dans le répertoire d'installation). Vous pouvez également définir un répertoire différent avec le paramètre MacroDir.
Téléchargements
appendice | taille |
---|---|
Télécharger l'exemple de code | 1.1 KB |