BeforeSendMail
BeforeSendMail
Section titled “BeforeSendMail”Dieser Skript läuft bevor eine E-Mail gesendet wird. Alle Dokumente und Berichte wurden bereits generiert und der E-Mail angehängt.
Anwendungsgebiet
- Anhängen von zusätzlichen Dokumenten an die E-Mail
- Änderung des E-Mail inhalts
- Entfernen von Dokumenten aus der generierten E-Mail vor dem senden. Beispiel
Das folgende Beispiel hängt eine Excel-Datei an die E-Mail an in welcher alle Auftragsartikel in Tabellenform aufgeführt sind.
Public Shared Sub BeforeSendMail(e As BeforeSendMailParameters)Dim dat As tbl_Auftrag = TryCast(e.ReportGenerationParameter.ObjectData, tbl_Auftrag)If dat Is Nothing Then ReturnUsing spreadsheet As New DevExpress.Spreadsheet.WorkbookDim sheet = spreadsheet.Worksheets(0)Dim CurrentRow = 0Dim CurrentCol = 0sheet.Cells(CurrentRow, CurrentCol).SetValue("Auftrag")CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue("Typ")CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue("Artikelnummer")CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue("Gesamtsumme")CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue("Einzelpreis")CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue("Preiseinheit")CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue("Menge")CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue("Lagereinheit")CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue("Solldatum")CurrentCol += 1For Each item In (From a In dat.tbl_Auftrag_Artikel Where a.ParentID Is Nothing)If If(item.ArtikelTyp, EntityHelper.CustomDataTypes.ArtikelTyp.Normal) = EntityHelper.CustomDataTypes.ArtikelTyp.TextOnly Then Continue ForCurrentRow += 1CurrentCol = 0sheet.Cells(CurrentRow, CurrentCol).SetValue(item.tbl_Auftrag.Auftragsbezeichnung)CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue(item.tbl_Auftrag.tbl_auftragskategorien.text)CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue(item.Artikelnummer)CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue(item.GesamtSummeVK_BruttoNetto)sheet.Cells(CurrentRow, CurrentCol)(0).NumberFormat = "#,##0.00 €"CurrentCol += 1sheet.Cells(CurrentRow, CurrentCol).SetValue(item.GesamtEinzelpreis_BruttoNetto)sheet.Cells(CurrentRow, CurrentCol)(0).NumberFormat = "#,##0.00 €"CurrentCol += 1If Not item.tbl_Einheiten_Preis Is Nothing Thensheet.Cells(CurrentRow, CurrentCol).SetValue(item.tbl_Einheiten_Preis.Kürzel)End IfCurrentCol += 1If If(item.bestellmenge, 0) <> 0 Thensheet.Cells(CurrentRow, CurrentCol).SetValue(If(item.bestellmenge, 0))End IfCurrentCol += 1If Not item.tbl_Einheiten Is Nothing Thensheet.Cells(CurrentRow, CurrentCol).SetValue(item.tbl_Einheiten.Kürzel)End IfCurrentCol += 1If Not item.Solldatum Is Nothing Thensheet.Cells(CurrentRow, CurrentCol).SetValue(item.Solldatum.Value)End IfCurrentCol += 1Next'Gesamter TabellenbereichFor x = 0 To CurrentCol - 1sheet.Columns(x).AutoFit()Next'SpeichernDim TempPath As String = Styletronix.AuftragsverwaltungV2.Common.Gemeinsam.GetTempFolderDim FileName = Styletronix.AuftragsverwaltungV2.Common.Gemeinsam.Files.CleanFileName(TempPath & String.Format("\{0}.xlsx", e.ReportGenerationParameter.BerichtBezeichnung))FileName = Styletronix.Utils.Files.GetNotUsedFileName(FileName)spreadsheet.SaveDocument(FileName)'Datei an E-Mail anhängene.TemporaryFilesToAttach.Add(FileName)End UsingEnd SubQuelle
Section titled “Quelle”- Ursprungsdatei: beforesendmail.htm