562 lines
25 KiB
VB.net
562 lines
25 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
|
|
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
|
|
pnlZumZoll.Visible = False
|
|
Else
|
|
btnLaufzettelDrucken.Enabled = True
|
|
End If
|
|
|
|
'pnlZumZoll
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "FRONTOFFICE" And VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "WAI" 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" 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.PARAMS.GET_PARAMETER_VALUE_BOOL("PRINT_zumZOLL") Then
|
|
If CheckBox2.Checked Then
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = "WAI" Then
|
|
Try
|
|
Dim path = SDL.FormularManagerNEU.zumZOLL_AVISO_WAI(AVISO)
|
|
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.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 If
|
|
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
|
|
printzZAnlagen()
|
|
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"
|
|
Mail.To = "abfertigung.za-suben@zoll.bund.de"
|
|
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)
|
|
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" '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"))
|
|
For Each VP In VP_Enum
|
|
paths.Add(SDL.FormularManagerNEU.LaufzettelZollDE_VP(AvisoID, False,, VP))
|
|
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 |