Files
AVISO/Aviso/frmLaufzettel.vb
2023-04-04 16:47:27 +02:00

597 lines
27 KiB
VB.net

Imports System.Drawing.Printing
Imports Microsoft.Office.Interop
Public Class frmLaufzettel
Dim AvisoID = -1
Dim DIGITAL As Boolean = False
Dim AVISO As VERAG_PROG_ALLGEMEIN.cAviso = Nothing
Dim SENDUNG_LIST As List(Of VERAG_PROG_ALLGEMEIN.cSendungen) = Nothing
Dim DIGITAL_T1 As Boolean = False
Dim DIGITAL_Rg As Boolean = False
Dim jeVP As Boolean = False
Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(AvisoID As Integer, SENDUNG_LIST As List(Of VERAG_PROG_ALLGEMEIN.cSendungen), DIGITAL As Boolean, DIGITAL_T1 As Boolean, DIGITAL_rg As Boolean, jeVP As Boolean)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
Me.AvisoID = AvisoID
AVISO = VERAG_PROG_ALLGEMEIN.cAviso.getAvisoById(AvisoID)
Me.SENDUNG_LIST = SENDUNG_LIST
Me.DIGITAL = DIGITAL
Me.DIGITAL_T1 = DIGITAL_T1
Me.DIGITAL_Rg = DIGITAL_rg
Me.jeVP = jeVP
End Sub
Sub New(AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG_LIST As List(Of VERAG_PROG_ALLGEMEIN.cSendungen), DIGITAL As Boolean, DIGITAL_T1 As Boolean, DIGITAL_rg As Boolean, jeVP As Boolean)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
Me.AvisoID = AVISO.AvisoID
Me.AVISO = AVISO
Me.SENDUNG_LIST = SENDUNG_LIST
Me.DIGITAL = DIGITAL
Me.DIGITAL_T1 = DIGITAL_T1
Me.DIGITAL_Rg = DIGITAL_rg
Me.jeVP = jeVP
End Sub
'Public Shared Sub initDrucker(cboPrinter As ComboBox, Optional srch As String = "")
' ' alle installierten Drucker ermitteln und
' ' in in ein ArrayList-Objekt speichern
' Dim sPrinters As New ArrayList
' For Each sPrinter As String In PrinterSettings.InstalledPrinters
' sPrinters.Add(sPrinter)
' Next
' ' Array sortieren
' sPrinters.Sort()
' ' jetzt alle Drucker in sortierter Reihenfolge in einer
' ' ComboBox zur Auswahl anbieten
' Dim oPS As New System.Drawing.Printing.PrinterSettings
' For i As Integer = 0 To sPrinters.Count - 1
' cboPrinter.Items.Add(sPrinters(i))
' Next
' If sPrinters.Count > 0 Then
' cboPrinter.SelectedIndex = 0
' If srch <> "" Then
' For Each i In cboPrinter.Items
' If i.ToString.ToUpper.Contains(srch.ToUpper) Then
' cboPrinter.SelectedItem = i
' Exit Sub
' End If
' Next
' Else
' For Each i In cboPrinter.Items
' If i.ToString = oPS.PrinterName Then
' cboPrinter.SelectedItem = i
' Exit Sub
' End If
' Next
' End If
' End If
'End Sub
Sub initLZ()
cbxVPSplit.Checked = jeVP
dgvDigitalMailanfügen.Rows.Clear()
dgvLaufzettelDruck.Rows.Clear()
Dim ANH_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_ByAviso(ANH_LIST, AvisoID) 'LÄDT alle Aviso-Anhänge
For Each ll In ANH_LIST
If ll.anh_LaufzettelDruck Then
dgvDigitalMailanfügen.Rows.Add(ll.anh_id, ll.anh_Name, ll.anh_docId, ll.anh_Typ)
dgvLaufzettelDruck.Rows.Add(ll.anh_id, ll.anh_Name, ll.anh_docId, ll.anh_Typ)
'Select Case ll.anh_Typ
' Case "PDF" : VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ll.anh_docId)})
' ' Case "BILD" : VERAG_PROG_ALLGEMEIN.cFormularManager.Print_PICTURE({VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ll.anh_docId)})
' Case Else : Process.Start(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ll.anh_docId))
'End Select
End If
Next
'If loadAttachRg Then
If DIGITAL Then
If DIGITAL_T1 Then
'Falls CMR, Vorpapier in den Unterlagen vorhanden, werden diese beigefügt
For Each l In ANH_LIST
Select Case l.anh_Art.ToString.ToUpper
Case "VORPAPIER" ', "CMR"
dgvDigitalMailanfügen.Rows.Add(l.anh_id, l.anh_Name, l.anh_docId)
End Select
Next
End If
If DIGITAL_Rg Then
For Each s In SENDUNG_LIST
Select Case s.tblSnd_Abfertigungsart_ID
'Falls RECHNUNGen in den Unterlagen vorhanden, werden diese beigefügt
Case "5", "45", "28", "26", "38" 'T1, Ü-T1, DE-FISK
Dim ANH_LIST_SND As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST_SND, s.tblSnd_SendungID) 'LÄDT alle Aviso-Anhänge
For Each l In ANH_LIST_SND
Select Case l.anh_Art.ToString.ToUpper
Case "RECHNUNG", "HANDELSRECHNUNG"
dgvDigitalMailanfügen.Rows.Add(l.anh_id, l.anh_Name, l.anh_docId)
'Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(l.anh_docId), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
End Select
Next
End Select
Next
End If
'Markierte Anhänge
For Each l In ANH_LIST
'Markierte:
If l.anh_GestellungslisteAnfuegen Then
dgvDigitalMailanfügen.Rows.Add(l.anh_id, l.anh_Name, l.anh_docId)
' Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(l.anh_docId), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
End If
Next
End If
End Sub
Private Sub frmLaufzettel_Load(sender As Object, e As EventArgs) Handles Me.Load
SDL.cProgramFunctions.initDrucker(cboPrinter)
If DIGITAL Then
cbxDigitalLZ.Enabled = True
dgvDigitalMailanfügen.Enabled = True
btnDIGITAL.Enabled = True
cbxDigitalLZ.Checked = True
CheckBox2.Checked = False
cbxDokumenteDrucken.Checked = False
pnlZumZoll.Visible = False
Else
btnLaufzettelDrucken.Enabled = True
End If
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG
Case "WAI", "DTB"
CheckBox2.Checked = True
CheckBox3.Visible = False
CheckBox4.Checked = True
End Select
If AVISO.Grenzstelle = "SUB" Then
cbxSAAbfertigung.Visible = True
If Now.DayOfWeek = DayOfWeek.Saturday Then
cbxSAAbfertigung.Checked = True
End If
End If
'pnlZumZoll
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "FRONTOFFICE" And VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "WAI" And VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "DTB" Then
CheckBox2.Checked = False ' Wenn nicht FO, dann normal nicht gewählt...
If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "SUB" And VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "WAI" And VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "DTB" Then '... und nur in SUBEN ersichtlich
pnlZumZoll.Visible = False
End If
End If
If SENDUNG_LIST Is Nothing Then
SENDUNG_LIST = New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, -1, AvisoID) 'LÄDT alle SENDUNGSDATEN
End If
initLZ()
resetDGV(dgvDigitalMailanfügen)
resetDGV(dgvLaufzettelDruck)
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
Me.Close()
End Sub
Private Sub btnLaufzettelDrucken_Click(sender As Object, e As EventArgs) Handles btnLaufzettelDrucken.Click
If CheckBox2.Checked Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "WAI" Then
If Not CheckBox3.Checked And Not CheckBox4.Checked Then
MsgBox("Bitte 'AT ZOLL' oder 'DE ZOLL' auswählen!")
Exit Sub
End If
End If
End If
doLZ(False)
Me.Close()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
AVISO.LOAD_Vorpapiere()
Dim VP_Enum = VERAG_PROG_ALLGEMEIN.cSendungen.VP_Enum(SENDUNG_LIST) 'Filtert nach eindeutigen Vorpapieren
Dim paths As New List(Of String)
If Not genLZ(paths, False, VP_Enum) Then
Exit Sub
End If
If paths.Count = 1 Then '1 Gestellungsliste
Process.Start(paths(0))
ElseIf paths.Count > 0 Then 'Mehrere Gestellungslisten zusammenführen
Dim outputFile As String = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Gestellungsliste_Merge.pdf", ".pdf", True,, "Merge") ' "result.pdf"
VERAG_PROG_ALLGEMEIN.cFormularManager.mergePDFs(paths, outputFile)
Process.Start(outputFile)
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
printLZAnlagen()
End Sub
Sub printLZAnlagen()
' If cbxDigitalLZ.Checked Then
resetDGV(dgvLaufzettelDruck)
For Each r As DataGridViewRow In dgvLaufzettelDruck.Rows
Try
Dim typ = r.Cells("printTyp").Value
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("printDocId").Value)
Select Case typ
Case "PDF" : VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({path}, cboPrinter.SelectedItem.ToString)
' Case "BILD" : VERAG_PROG_ALLGEMEIN.cFormularManager.Print_PICTURE({VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ll.anh_docId)})
Case Else : Process.Start(path)
End Select
r.DefaultCellStyle.BackColor = Color.LimeGreen
dgvLaufzettelDruck.Refresh()
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, )
End Try
Next
'End If
End Sub
Sub printzZAnlagen()
' Fahrer zum Zoll!
'------------------------------------------------
If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = "WAI" Then
Try
Dim path = SDL.FormularManagerNEU.zumZOLL_AVISO_WAI(AVISO)
If path <> "" Then VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({path}, cboPrinter.SelectedItem.ToString) '(New System.Drawing.Printing.PrinterSettings).PrinterName)
' If path <> "" Then VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaGS(path, cboPrinter.SelectedItem.ToString) '(New System.Drawing.Printing.PrinterSettings).PrinterName)
Catch ex As Exception : MsgBox(ex.Message & ex.StackTrace) : End Try
ElseIf VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = "DTB" Then
Try
Dim path = SDL.FormularManagerNEU.zumZOLL_AVISO_DTB(AVISO)
If path <> "" Then VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({path}, cboPrinter.SelectedItem.ToString) '(New System.Drawing.Printing.PrinterSettings).PrinterName)
' If path <> "" Then VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaGS(path, cboPrinter.SelectedItem.ToString) '(New System.Drawing.Printing.PrinterSettings).PrinterName)
Catch ex As Exception : MsgBox(ex.Message & ex.StackTrace) : End Try
Else
If Not CheckBox3.Checked And Not CheckBox4.Checked Then
MsgBox("Bitte 'AT ZOLL' oder 'DE ZOLL' auswählen!")
Exit Sub
End If
Try
'If CheckBox3.Checked Then path = SDL.FormularManagerNEU.zumZOLL_AVISO(AVISO, If(CheckBox3.Checked, "AT", If(CheckBox4.Checked, "DE", "")))
Dim path = ""
If CheckBox3.Checked Then path = SDL.FormularManagerNEU.zumZOLL_AVISO_AT(AVISO)
If CheckBox4.Checked Then path = SDL.FormularManagerNEU.zumZOLL_AVISO_DE(AVISO)
If path <> "" Then VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({path}, cboPrinter.SelectedItem.ToString) '(New System.Drawing.Printing.PrinterSettings).PrinterName)
'If path <> "" Then VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaGS(path, cboPrinter.SelectedItem.ToString) '(New System.Drawing.Printing.PrinterSettings).PrinterName)
Catch ex As Exception : MsgBox(ex.Message & ex.StackTrace) : End Try
End If
'------------------------------------------------
End Sub
Sub resetDGV(dgv As DataGridView)
dgv.ClearSelection()
For Each r As DataGridViewRow In dgv.Rows
r.DefaultCellStyle.BackColor = Color.White
Next
End Sub
Sub doLZ(digitalDruck)
Me.Cursor = Cursors.WaitCursor
resetDGV(dgvDigitalMailanfügen)
resetDGV(dgvLaufzettelDruck)
Me.Refresh()
If Not digitalDruck Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("PRINT_zumZOLL") Then
If CheckBox2.Checked Then
printzZAnlagen()
End If
End If
End If
' Dim loadAttachRg = True ' (sender Is Button15)
'Dim ANH_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
'VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_ByAviso(ANH_LIST, AvisoID) 'LÄDT alle Aviso-Anhänge
'For Each l In ANH_LIST
' If l.anh_LaufzettelDruck Then
' If vbYes = MsgBox("Es wurden Anhänge zum Drucken markiert! Sollen diese gedruckt werden?", vbYesNoCancel) Then
' For Each ll In ANH_LIST
' If ll.anh_LaufzettelDruck Then
' Select Case ll.anh_Typ
' Case "PDF" : VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ll.anh_docId)})
' ' Case "BILD" : VERAG_PROG_ALLGEMEIN.cFormularManager.Print_PICTURE({VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ll.anh_docId)})
' Case Else : Process.Start(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ll.anh_docId))
' End Select
' End If
' Next
' End If
' Exit For
' End If
'Next
'DIGITALE ABFERTIGUNG:
If (digitalDruck) Or cbxVPSplit.Checked Then ' digital oder splittung --> per Vorpapier
Try
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, -1, AvisoID) 'LÄDT alle SENDUNGSDATEN
AVISO.LOAD_Vorpapiere()
Dim VP_Enum = VERAG_PROG_ALLGEMEIN.cSendungen.VP_Enum(SENDUNG_LIST) 'Filtert nach eindeutigen Vorpapieren
Dim paths As New List(Of String)
If Not genLZ(paths, digitalDruck, VP_Enum) Then
Me.Cursor = Cursors.Default
Exit Sub
End If
'AVISO.LOAD_Vorpapiere()
'Dim VP_Enum = VERAG_PROG_ALLGEMEIN.cSendungen.VP_Enum(SENDUNG_LIST) 'Filtert nach eindeutigen Vorpapieren
'Dim paths As New List(Of String)
'If pruef Then paths.Add(SDL.FormularManagerNEU.LaufzettelZollDE_VP(AvisoID, False,, "XXXX"))
'For Each VP In VP_Enum
' paths.Add(SDL.FormularManagerNEU.LaufzettelZollDE_VP(AvisoID, False,, VP))
'Next
If digitalDruck Then 'NUR BEI DIGITALANMELDUNG!
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Dim tX As VERAG_PROG_ALLGEMEIN.cTextkonserve = Nothing
Select Case AVISO.Grenzstelle
Case "SUB"
If cbxSAAbfertigung.Checked Then
Mail.To = "samstag.ZA-Suben@zoll.bund.de"
Else
Mail.To = "abfertigung.za-suben@zoll.bund.de"
End If
tX = New VERAG_PROG_ALLGEMEIN.cTextkonserve("LAUFZETTEL_DIGITAL", "LAUFZETTEL_DE_DIGITAL_SUB", "DE", VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA)
Case "WAI"
Mail.To = ""
tX = New VERAG_PROG_ALLGEMEIN.cTextkonserve("LAUFZETTEL_DIGITAL", "LAUFZETTEL_DE_DIGITAL_WAI", "DE", VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA)
Case "SBG"
Mail.To = ""
tX = New VERAG_PROG_ALLGEMEIN.cTextkonserve("LAUFZETTEL_DIGITAL", "LAUFZETTEL_DE_DIGITAL_SBG", "DE", VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA)
Case Else
Mail.To = ""
tX = New VERAG_PROG_ALLGEMEIN.cTextkonserve("LAUFZETTEL_DIGITAL", "LAUFZETTEL_DE_DIGITAL_SUB", "DE", VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA)
End Select
Dim MAIL_SUBJ = tX.txt_betreff.Replace("%LKWKennzeichen%", AVISO.LKW_Nr)
Dim MAIL_BODY = tX.txt_text.Replace("%LKWKennzeichen%", AVISO.LKW_Nr)
addVPList(MAIL_BODY, VP_Enum)
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & MAIL_BODY & SDL.cFakturierung.getSignature("DE", tX.txt_firmaSig, True, True) & "</div>"
Mail.Subject = MAIL_SUBJ
If VP_Enum.Count > 1 Then
Mail.Subject &= ", " & VP_Enum.Count & "x Vorpapier"
ElseIf VP_Enum.Count = 1 Then
Mail.Subject &= ", " & VP_Enum(0)
End If
For Each p In paths
Mail.Attachments.Add(p, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , "Gestellungsliste.pdf")
Next
If cbxDigitalLZ.Checked Then
For Each r As DataGridViewRow In dgvDigitalMailanfügen.Rows
Try
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("DocId").Value)
Mail.Attachments.Add(path, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
r.DefaultCellStyle.BackColor = Color.LimeGreen
dgvDigitalMailanfügen.Refresh()
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, )
End Try
Next
End If
'If loadAttachRg Then
' If cbxLZT1.Visible AndAlso cbxLZT1.Checked Then
' 'Falls CMR, Vorpapier in den Unterlagen vorhanden, werden diese beigefügt
' For Each l In ANH_LIST
' Select Case l.anh_Art.ToString.ToUpper
' Case "VORPAPIER" ', "CMR"
' Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(l.anh_docId), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
' End Select
' Next
' End If
' If cbxLZRg.Visible AndAlso cbxLZRg.Checked Then
' For Each s In SENDUNG_LIST
' Select Case s.tblSnd_Abfertigungsart_ID
' 'Falls RECHNUNGen in den Unterlagen vorhanden, werden diese beigefügt
' Case "5", "45", "28", "26", "38" 'T1, Ü-T1, DE-FISK
' Dim ANH_LIST_SND As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
' VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST_SND, s.tblSnd_SendungID) 'LÄDT alle Aviso-Anhänge
' For Each l In ANH_LIST_SND
' Select Case l.anh_Art.ToString.ToUpper
' Case "RECHNUNG", "HANDELSRECHNUNG"
' Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(l.anh_docId), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
' End Select
' Next
' End Select
' Next
' End If
'End If
'Markierte Anhänge
'For Each l In ANH_LIST
' 'Markierte:
' If l.anh_GestellungslisteAnfuegen Then
' Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(l.anh_docId), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
' End If
'Next
Mail.Display()
Else 'Keine Digitalabfertigung, DRUCK!
Try
For Each p In paths
VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({p}, cboPrinter.SelectedItem.ToString)
Next
'If paths.Count = 1 Then '1 Gestellungsliste
' Process.Start(paths(0))
'ElseIf paths.Count > 0 Then 'Mehrere Gestellungslisten zusammenführen
' Dim outputFile As String = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Gestellungsliste_Merge.pdf", ".pdf", True,, "Merge") ' "result.pdf"
' VERAG_PROG_ALLGEMEIN.cFormularManager.mergePDFs(paths, outputFile)
' Process.Start(outputFile)
'End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, )
End Try
End If
Catch ex As Exception
MsgBox("Fehler beim erstellen der E-Mail:" & vbNewLine & ex.Message & ex.StackTrace)
End Try
Else
Dim path = SDL.FormularManagerNEU.LaufzettelZollDE(AvisoID, False,, digitalDruck)
If path <> "" Then
'Process.Start(path)
VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({path}, cboPrinter.SelectedItem.ToString)
End If
End If
If cbxDokumenteDrucken.Checked Then
printLZAnlagen()
End If
Me.Cursor = Cursors.Default
End Sub
Function genLZ(ByRef paths As List(Of String), digitalDruck As Boolean, VP_Enum As List(Of String)) As Boolean
Dim pruef = False
For Each s In SENDUNG_LIST
Select Case s.tblSnd_Abfertigungsart_ID.ToString
Case "38", "26", "44" 'AT - Keine Prüfung
Case Else
If If(s.tblSnd_Vorpapier, "") = "" And If(s.tblSnd_Vorpapier2, "") = "" And If(s.tblSnd_Vorpapier3, "") = "" Then
pruef = True
End If
End Select
Next
If pruef Then ' VP fehlen
If Not digitalDruck Then 'Wenn LZ Druck
If vbYes <> MsgBox("Nicht alle Sendungen haben ein Vorpapier eingetragen!" & vbNewLine & "Soll der Laufzettel trotzdem erstellt werden?", vbYesNoCancel) Then
Return False
End If
Else ' Digitalabfertigungn
MsgBox("Nicht alle Sendungen haben ein Vorpapier eingetragen!" & vbNewLine & "Laufzettelerstellung wird abgebrochen.")
Return False
End If
End If
paths = New List(Of String)
If pruef Then paths.Add(SDL.FormularManagerNEU.LaufzettelZollDE_VP(AvisoID, False,, "XXXX", digitalDruck))
For Each VP In VP_Enum
paths.Add(SDL.FormularManagerNEU.LaufzettelZollDE_VP(AvisoID, False,, VP, digitalDruck))
Next
Return True
End Function
Sub addVPList(ByRef MAIL_BODY As String, VP_Enum As List(Of String))
Dim Platzhalter = "<br><br><table style=""font-family:Calibri;"" border=""1"" bordercolor=""#000"" cellspacing=""0"">"
Platzhalter &= "<tr><th width=200>Vorpapier:</th><th width=200></th><th></th></tr>"
For Each VP In VP_Enum
Platzhalter &= "<tr><td>" & VP & "</td><td></t></tr>"
Next
Platzhalter &= "</table>"
MAIL_BODY = MAIL_BODY.Replace("%Platzhalter%", Platzhalter)
End Sub
Private Sub btnDIGITAL_Click(sender As Object, e As EventArgs) Handles btnDIGITAL.Click
doLZ(True)
End Sub
Private Sub CheckBox3_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox3.CheckedChanged
If sender.checked Then
CheckBox4.Checked = False
End If
End Sub
Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox4.CheckedChanged
If sender.checked Then
CheckBox3.Checked = False
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
printzZAnlagen()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Me.Cursor = Cursors.WaitCursor
Try
AVISO.LOAD_Vorpapiere()
Dim VP_Enum = VERAG_PROG_ALLGEMEIN.cSendungen.VP_Enum(SENDUNG_LIST) 'Filtert nach eindeutigen Vorpapieren
Dim paths As New List(Of String)
If Not genLZ(paths, False, VP_Enum) Then
Exit Sub
End If
Clipboard.Clear()
Dim d As New DataObject(DataFormats.FileDrop, paths.ToArray)
Clipboard.SetDataObject(d, True)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, )
End Try
Me.Cursor = Cursors.Default
End Sub
End Class