mitarbeiter, sendungsdet. Sammeldruck, etc.

This commit is contained in:
2026-04-16 16:01:39 +02:00
parent 344cdd84a8
commit 798045c5a0
4 changed files with 301 additions and 180 deletions

View File

@@ -16,6 +16,9 @@ Public Class cAutomailversand
'STATUS 3-_> Sammel-Rg gedruckt 'STATUS 3-_> Sammel-Rg gedruckt
'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel??
'NUR STATUS 2 -> d.b. Rechnungsdatum + RechnungsNr vergeben!
Dim rechnungenMailversand = "SELECT RechnungsNr,RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST, max(Rechnungsausgang.[RechnungsLandKz]) as RechnungsLandKz, MitgliedslandEU, sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer FROM Rechnungsausgang Dim rechnungenMailversand = "SELECT RechnungsNr,RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST, max(Rechnungsausgang.[RechnungsLandKz]) as RechnungsLandKz, MitgliedslandEU, sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer FROM Rechnungsausgang
LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz
@@ -222,7 +225,7 @@ Public Class cAutomailversand
Dim listPDFs As New List(Of String) Dim listPDFs As New List(Of String)
Dim showError As Boolean = False Dim showError As Boolean = False
setEmailText(r, FirmaID, RECHNUNG.RechnungsNr, Mailsubject, HTMLMail, RECHNUNG.Sammelrechnung, dt, RECHNUNG.BelegartenNr) setEmailText(r, FirmaID, RECHNUNG.RechnungsNr, Mailsubject, HTMLMail, RECHNUNG.Sammelrechnung, dt, RECHNUNG.BelegartenNr, SPEDBUCH)
loadAndSetAnhaenge(dt, ATTACHMENTS, listPDFs, RECHNUNG) loadAndSetAnhaenge(dt, ATTACHMENTS, listPDFs, RECHNUNG)
@@ -258,16 +261,16 @@ Public Class cAutomailversand
End Sub End Sub
Private Sub setEmailText(row As DataRow, Firma_ID As Integer, RechnungsNr As Integer, ByRef Subject As String, ByRef TextHTML As String, ByRef SammelrechungArt As Integer, dt As DataTable, ByRef BelegartenNr As Integer) Private Sub setEmailText(row As DataRow, Firma_ID As Integer, RechnungsNr As Integer, ByRef Subject As String, ByRef TextHTML As String, ByRef SammelrechungArt As Integer, dt As DataTable, ByRef BelegartenNr As Integer, Optional SPEDBUCH As cSpeditionsbuch = Nothing, Optional RECHNUNG As cRechnungsausgang = Nothing)
Dim txtRgNr As String = IIf(RechnungsNr < 0, -1, RechnungsNr) Dim txtRgNr As String = IIf(RechnungsNr < 0, -1, RechnungsNr)
Dim Mailtext As String Dim Mailtext As String
If SammelrechungArt <> 6 Then 'EINZELRECHNUNGEN - MDM oder ANDERE If SammelrechungArt = 0 Then 'EINZELRECHNUNGEN
Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(1, "", Firma_ID) Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(1, "", Firma_ID) 'ID -> 1 ist Einzelrechnungen
Dim spracheRechnung As String = "EN" 'Defaultsprache Dim spracheRechnung As String = "EN" 'Defaultsprache
Dim belegtyp As String = If(BelegartenNr = 71, "credit note", "invoice") Dim belegtyp As String = If(BelegartenNr = 71, "credit note", "invoice")
@@ -291,12 +294,14 @@ Public Class cAutomailversand
TextHTML = TextHTML.Replace("%Belegtyp%", belegtyp) TextHTML = TextHTML.Replace("%Belegtyp%", belegtyp)
If Firma_ID = 19 Then If Firma_ID = 19 Then
Dim KUNDE_ERW As New cKundenErweitert(row("RechnungsKundenNr")) Dim KUNDE_ERW As New cKundenErweitert(row("RechnungsKundenNr"))
If row.Item("FilialenNr") = 4817 AndAlso row.Item("ErfassungsNr") IsNot Nothing Then If row.Item("FilialenNr") = 4817 AndAlso row.Item("ErfassungsNr") IsNot Nothing Then
Dim SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(row.Item("FilialenNr"), row.Item("AbfertigungsNr"), row.Item("UnterNr")) 'Dim SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(row.Item("FilialenNr"), row.Item("AbfertigungsNr"), row.Item("UnterNr"))
If SPEDBUCH.hasEntry AndAlso (SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115 Or SPEDBUCH.Abfertigungsart = 10) Then If SPEDBUCH.hasEntry AndAlso (SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115 Or SPEDBUCH.Abfertigungsart = 10) Then
Dim USTV_ANTRAG As New cUSTVAntrag(row.Item("ErfassungsNr")) Dim USTV_ANTRAG As New cUSTVAntrag(row.Item("ErfassungsNr"))
@@ -350,16 +355,39 @@ Public Class cAutomailversand
End If End If
Else
If SPEDBUCH IsNot Nothing Then
If (RECHNUNG.RechnungsKundenNr = 714869 Or RECHNUNG.RechnungsKundenNr = 715417) And (SPEDBUCH.Abfertigungsart = 39 Or SPEDBUCH.Abfertigungsart = 1) Then
TextHTML = TextHTML.Replace("%Platzhalter_div%", addRgData_ZF_Passau(row.Item("RechnungsLandKz"), RECHNUNG, SPEDBUCH))
End If
End If End If
'Parsan
If SPEDBUCH IsNot Nothing Then
If (RECHNUNG.RechnungsKundenNr = 712814) Then
TextHTML = TextHTML.Replace("%Platzhalter_div%", addRgData_Parsan(row.Item("RechnungsLandKz"), RECHNUNG, SPEDBUCH))
End If End If
End If
TextHTML = TextHTML.Replace("%Platzhalter_div%", "")
End If End If
End If
ElseIf SammelrechungArt = 6 Then 'MDM-SAMMELRECHNUNGEN End If
ElseIf SammelrechungArt <> 0 Then 'SAMMELRECHNUNGEN
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -453,10 +481,9 @@ Public Class cAutomailversand
Private Sub loadAndSetAnhaenge(SR_DT As DataTable, ATTACHMENTS As List(Of cFakt_MailATTach), listPDFs As List(Of String), Optional RECHNUNG As cRechnungsausgang = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing) Private Sub loadAndSetAnhaenge(SR_DT As DataTable, ATTACHMENTS As List(Of cFakt_MailATTach), listPDFs As List(Of String), Optional RECHNUNG As cRechnungsausgang = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing)
Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Attachment", ".pdf",, False, "Zusammenfassung") Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Attachment.pdf", ".pdf",, False, "Zusammenfassung")
'Rechnungsanhänge anfügen
'Rechnungsanhänge anfügen -> RECHNUNG SELBST
For Each l In listPDFs For Each l In listPDFs
ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
Next Next
@@ -464,67 +491,103 @@ Public Class cAutomailversand
If RECHNUNG IsNot Nothing Then If RECHNUNG IsNot Nothing Then
'----------------------------------------------------------------- EINZELRECHNUNGEN------------------------------------------------ '----------------------------------------------------------------- EINZELRECHNUNGEN------------------------------------------------
Dim zsmf_ER As New List(Of String)
RECHNUNG.LOAD_ANHAENGE() RECHNUNG.LOAD_ANHAENGE()
For Each ANH In RECHNUNG.ANHAENGE For Each ANH In RECHNUNG.ANHAENGE
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId)
If PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID) Then
If path <> "" Then
If Not zsmf_ER.Any(Function(p) System.IO.Path.GetFileName(p.ToString).Equals(path, StringComparison.OrdinalIgnoreCase)) Then 'doppelte unterbinden!
zsmf_ER.Add(path)
End If
End If
Else
Dim fileName = System.IO.Path.GetFileName(path)
If Not ATTACHMENTS.Any(Function(p) System.IO.Path.GetFileName(p.Pfad).Equals(fileName, StringComparison.OrdinalIgnoreCase)) Then 'doppelte unterbinden!
ATTACHMENTS.Add(New cFakt_MailATTach(path, ANH.Bezeichnung))
End If
End If
Next Next
If SPEDBUCH IsNot Nothing Then If SPEDBUCH IsNot Nothing Then
If SPEDBUCH.DokumentId_Mitteilung IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung), "Versandschein.pdf")) Dim ZOLL = IIf(SPEDBUCH.DokumentId_Mitteilung IsNot Nothing, "AT", "DE")
'AT Select Case ZOLL
If SPEDBUCH.DokumentId_Mitteilung IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung), "Abgabenbescheid.pdf")) Case "DE"
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Steuerbescheid.pdf"))
If SPEDBUCH.DokumentId_VBD IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_VBD), "Abgabenbescheid.pdf"))
Case "AT"
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Verzollungsnachweis.pdf"))
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Mitteilung), "Versandschein.pdf"))
If SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Verzollungsnachweis.pdf")) If SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Verzollungsnachweis.pdf"))
'DE End Select
If SPEDBUCH.DokumentId_Steuerbeleg IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_Steuerbeleg), "Steuerbescheid.pdf"))
If SPEDBUCH.DokumentId_VBD IsNot Nothing Then ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH.DokumentId_VBD), "Abgabenbescheid.pdf"))
End If End If
If zsmf_ER.Any() Then
If FormularManagerNEU.MergePdfFiles(zsmf_ER, zielPfadZusammenfassung) Then
Dim fileInfo As New FileInfo(zielPfadZusammenfassung)
ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, fileInfo.Name))
End If
End If
Else Else
'----------------------------------------------------------------- SAMMELRECHNUNGEN------------------------------------------------ '----------------------------------------------------------------- SAMMELRECHNUNGEN------------------------------------------------
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
'ATTACHMENTS.Clear() 'ATTACHMENTS.Clear()
Dim myList As New List(Of String) Dim zsmf_SR As New List(Of String)
For Each r As DataRow In SR_DT.Rows For Each r As DataRow In SR_DT.Rows
Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID")) Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID"))
If RG_ANH IsNot Nothing Then If RG_ANH IsNot Nothing Then
Dim FilialenNr = IIf(Not IsDBNull(r.Item("FilialenNr")) AndAlso IsNumeric(r.Item("FilialenNr")), CInt(r.Item("FilialenNr")), 0) Dim FilialenNr = IIf(Not IsDBNull(r.Item("FilialenNr")) AndAlso IsNumeric(r.Item("FilialenNr")), CInt(r.Item("FilialenNr")), 0)
Dim FIRMA_ID = IIf(Not IsDBNull(r.Item("Firma_ID")) AndAlso IsNumeric(r.Item("Firma_ID")), CInt(r.Item("Firma_ID")), 0)
If FilialenNr = 4817 Then 'diese immer zusammenfassen!
For Each ANH In RG_ANH For Each ANH In RG_ANH
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId) Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId)
If Not (path.ToString.ToLower.Contains("sammelrechnung") OrElse path.ToString.Contains("Maut") OrElse path.ToString.Contains("POS") OrElse path.ToString.ToLower.Contains("invoice") OrElse path.ToString.ToLower.Contains("rechnung")) Then
If path <> "" Then myList.Add(path) 'hier die LOGIK, was alles zusammengefasst werden soll!
If PDFS_zusammenfassen(path, FilialenNr, FIRMA_ID) Then
If path <> "" Then
If Not zsmf_SR.Any(Function(p) System.IO.Path.GetFileName(p.ToString).Equals(path, StringComparison.OrdinalIgnoreCase)) Then 'doppelte unterbinden!
zsmf_SR.Add(path)
End If
End If
Else Else
Dim fileName = System.IO.Path.GetFileName(path)
If Not ATTACHMENTS.Any(Function(p) System.IO.Path.GetFileName(p.Pfad).Equals(fileName, StringComparison.OrdinalIgnoreCase)) Then 'doppelte unterbinden!
ATTACHMENTS.Add(New cFakt_MailATTach(path, ANH.Bezeichnung)) ATTACHMENTS.Add(New cFakt_MailATTach(path, ANH.Bezeichnung))
End If End If
End If
Next Next
If myList.Any() Then
If FormularManagerNEU.MergePdfFiles(myList, zielPfadZusammenfassung) Then If zsmf_SR.Any() Then
If FormularManagerNEU.MergePdfFiles(zsmf_SR, zielPfadZusammenfassung) Then
Dim fileInfo As New FileInfo(zielPfadZusammenfassung) Dim fileInfo As New FileInfo(zielPfadZusammenfassung)
ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, fileInfo.Name)) ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, fileInfo.Name))
End If End If
End If End If
Else
For Each ANH In RG_ANH
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
Next
End If End If
End If
Next Next
End If End If
@@ -535,6 +598,31 @@ Public Class cAutomailversand
End Sub End Sub
Private Function PDFS_zusammenfassen(path As String, Filiale As Integer, Firma As Integer)
Dim zusammenfassen As Boolean = False
Select Case Firma
Case 19
If Filiale = 4817 Then
If Not (path.ToString.ToLower.Contains("sammelrechnung") OrElse path.ToString.Contains("Maut") OrElse path.ToString.Contains("POS") OrElse path.ToString.ToLower.Contains("invoice") OrElse path.ToString.ToLower.Contains("rechnung")) Then
Return True
End If
Else
If Not (path.ToString.ToLower.Contains("flyercbam") OrElse Not (path.ToString.ToLower.Contains("sammelrechnung"))) Then
Return True
End If
End If
Case Else
End Select
Return zusammenfassen
End Function
Private Function setLog(SR_DT As DataTable, row As DataRow, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing, Optional RECHNUNG As cRechnungsausgang = Nothing, Optional FISKAL As cFiskal_Daten = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing) As Boolean Private Function setLog(SR_DT As DataTable, row As DataRow, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing, Optional RECHNUNG As cRechnungsausgang = Nothing, Optional FISKAL As cFiskal_Daten = Nothing, Optional SPEDBUCH As cSpeditionsbuch = Nothing) As Boolean
@@ -858,6 +946,11 @@ Public Class cAutomailversand
MailTo = MailFA MailTo = MailFA
End If End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
MailTo = ""
MailCC = ""
End If
Dim AD As New cAdressen(kundenNr) Dim AD As New cAdressen(kundenNr)
Dim KD As New cKunde(kundenNr) Dim KD As New cKunde(kundenNr)
Dim Sprache As String = "EN" Dim Sprache As String = "EN"

View File

@@ -138,6 +138,8 @@ Public Class frmFaktSammelRgDrucken
whereAutoMail = " AND ISNULL(Rechnungsausgang.Automailversand,0) = " & If(cbxAUTOMail.Checked, "1", "0") whereAutoMail = " AND ISNULL(Rechnungsausgang.Automailversand,0) = " & If(cbxAUTOMail.Checked, "1", "0")
Dim sqlStr As String = "" Dim sqlStr As String = ""
Select Case Sammelrechung Select Case Sammelrechung
@@ -168,7 +170,7 @@ Public Class frmFaktSammelRgDrucken
Rechnungsausgang.Status = 2 Rechnungsausgang.Status = 2
AND Rechnungsausgang.Firma_ID = '" & cboFirma._value & "' AND Rechnungsausgang.Firma_ID = '" & cboFirma._value & "'
AND Rechnungsausgang.Sammelrechnung = " & Sammelrechung & " AND Rechnungsausgang.Sammelrechnung = " & Sammelrechung & "
AND CONVERT(DATE, Rechnungsausgang.Abfertigungsdatum, 104) = '" & txtRechnungsdatum._value & "' AND CONVERT(DATE, Rechnungsausgang.Rechnungsdatum, 104) = '" & txtRechnungsdatum._value & "'
" & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & " " & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & "
" & whereAbfArt & whereMWST & whereAutoMail & " " & whereAbfArt & whereMWST & whereAutoMail & "
GROUP BY GROUP BY
@@ -179,6 +181,14 @@ Public Class frmFaktSammelRgDrucken
Case Else Case Else
Dim SQLAUTOMAIL_RECHNUNGSDATuM = ""
If cbxAUTOMail.Checked Then
SQLAUTOMAIL_RECHNUNGSDATuM = "AND Rechnungsausgang.Status IN (2) AND CONVERT(DATE, Rechnungsausgang.Rechnungsdatum, 104) = '" & txtRechnungsdatum._value & "'"
Else
SQLAUTOMAIL_RECHNUNGSDATuM = " AND Rechnungsausgang.Status IN (0,2) AND CONVERT(DATE, Rechnungsausgang.Abfertigungsdatum, 104) <= '" & txtZeitraumBis._value & "'"
End If
sqlStr = " sqlStr = "
SELECT SELECT
min(Rechnungsausgang.RechnungsNr) as RENR, min(Rechnungsausgang.RechnungsNr) as RENR,
@@ -198,12 +208,10 @@ Public Class frmFaktSammelRgDrucken
WHERE AdressenNr = Rechnungsausgang.RechnungsKundenNr) AS Rechnungsdruck WHERE AdressenNr = Rechnungsausgang.RechnungsKundenNr) AS Rechnungsdruck
FROM Rechnungsausgang FROM Rechnungsausgang
WHERE WHERE
Rechnungsausgang.Status IN (0,2) Rechnungsausgang.Firma_ID = '" & cboFirma._value & "'
AND Rechnungsausgang.Firma_ID = '" & cboFirma._value & "'
AND Rechnungsausgang.Sammelrechnung = '" & Sammelrechung & "' AND Rechnungsausgang.Sammelrechnung = '" & Sammelrechung & "'
AND CONVERT(DATE, Rechnungsausgang.Abfertigungsdatum, 104) <= '" & txtZeitraumBis._value & "'
" & If(Sammelrechung = 7 AndAlso cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & " " & If(Sammelrechung = 7 AndAlso cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & "
" & whereAbfArt & whereAutoMail & " " & whereAbfArt & whereAutoMail & SQLAUTOMAIL_RECHNUNGSDATuM & "
AND Rechnungsausgang.FakturierungsGruppe='" & cboFaktGrp._value & "' AND Rechnungsausgang.FakturierungsGruppe='" & cboFaktGrp._value & "'
GROUP BY GROUP BY
RechnungsKundenNr " & If(Sammelrechung = 7, ", AvisoId", "") & " RechnungsKundenNr " & If(Sammelrechung = 7, ", AvisoId", "") & "
@@ -722,7 +730,7 @@ Public Class frmFaktSammelRgDrucken
End If End If
End If End If
setMailversand_ALL(True, Firma, Sammelrechung, 2) setMailversand_ALL(True, Firma, Sammelrechung)
Me.Enabled = True Me.Enabled = True
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
@@ -741,7 +749,7 @@ Public Class frmFaktSammelRgDrucken
If cAutomailversand.automRechnungsversand_deaktivieren() Then If cAutomailversand.automRechnungsversand_deaktivieren() Then
'setMailversand(false, Firma, Sammelrechung, 2) 'setMailversand(false, Firma, Sammelrechung, 2)
setMailversand_ALL(False, Firma, Sammelrechung, 2) setMailversand_ALL(False, Firma, Sammelrechung)
End If End If
End If End If
@@ -783,13 +791,14 @@ Public Class frmFaktSammelRgDrucken
End Function End Function
Private Function setMailversand_ALL(Mailversand As Boolean, FirmaID As Integer, Sammelrechnung As Integer, Status As Integer) As Boolean Private Function setMailversand_ALL(Mailversand As Boolean, FirmaID As Integer, Sammelrechnung As Integer) As Boolean
Dim count As Integer = 0 Dim count As Integer = 0
Dim mailversandString As String = If(Mailversand, "1", "0") Dim mailversandString As String = If(Mailversand, "1", "0")
Dim whereMWST As String = "" Dim whereMWST As String = ""
Dim whereAutoMail As String = "" Dim whereAutoMail As String = ""
Dim whereSammelrechnung As String = ""
' MWST Filter ' MWST Filter
If cbxMWST.CheckState <> CheckState.Indeterminate Then If cbxMWST.CheckState <> CheckState.Indeterminate Then
@@ -799,15 +808,22 @@ Public Class frmFaktSammelRgDrucken
' Automail Filter (nur ändern wenn unterschiedlich) ' Automail Filter (nur ändern wenn unterschiedlich)
whereAutoMail = " AND ISNULL(Rechnungsausgang.Automailversand,0) <> " & mailversandString whereAutoMail = " AND ISNULL(Rechnungsausgang.Automailversand,0) <> " & mailversandString
Select Case Sammelrechnung
Case 6 : whereSammelrechnung = ""
Case Else : whereSammelrechnung = ""
End Select
For Each r As DataGridViewRow In MyDatagridview1.SelectedRows For Each r As DataGridViewRow In MyDatagridview1.SelectedRows
Dim sql As String = "" Dim sql As String = ""
If IsDate(txtRechnungsdatum.Text) AndAlso Not IsDBNull(r.Cells("RechnungsLandKz").Value) AndAlso Not IsDBNull(r.Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(r.Cells("RechnungsKundenNr").Value) Then If IsDate(txtRechnungsdatum.Text) AndAlso Not IsDBNull(r.Cells("RechnungsLandKz").Value) AndAlso Not IsDBNull(r.Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(r.Cells("RechnungsKundenNr").Value) Then
sql = "UPDATE Rechnungsausgang SET Automailversand = " & mailversandString & " FROM Rechnungsausgang LEFT JOIN tblKundenErweitert ON tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr sql = "UPDATE Rechnungsausgang SET Automailversand = " & mailversandString & " FROM Rechnungsausgang LEFT JOIN tblKundenErweitert ON tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
WHERE WHERE
Rechnungsausgang.Status IN (" & Status & ") Rechnungsausgang.Status IN (2)
AND Rechnungsausgang.Firma_ID = '" & FirmaID & "' AND Rechnungsausgang.Firma_ID = '" & FirmaID & "'
AND Rechnungsausgang.Sammelrechnung = '" & Sammelrechnung & "' AND Rechnungsausgang.Sammelrechnung = '" & Sammelrechnung & "'
AND CONVERT(DATE, Rechnungsausgang.Rechnungsdatum, 104) = '" & CDate(txtRechnungsdatum.Text).ToShortDateString & "' AND CONVERT(DATE, Rechnungsausgang.Rechnungsdatum, 104) = '" & CDate(txtRechnungsdatum.Text).ToShortDateString & "'
@@ -817,12 +833,13 @@ Public Class frmFaktSammelRgDrucken
" & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & " " & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & "
" & whereMWST " & whereMWST
End If
If (New SQL).doSQL(sql, "FMZOLL") Then If (New SQL).doSQL(sql, "FMZOLL") Then
count += 1 count += 1
End If End If
End If
Next Next
If count <> MyDatagridview1.SelectedRows.Count Then If count <> MyDatagridview1.SelectedRows.Count Then

View File

@@ -57,6 +57,8 @@ Partial Class frmdynMailvorlagen
Me.btnAdd = New System.Windows.Forms.Button() Me.btnAdd = New System.Windows.Forms.Button()
Me.btnDelete = New System.Windows.Forms.Button() Me.btnDelete = New System.Windows.Forms.Button()
Me.pnlTop = New System.Windows.Forms.Panel() Me.pnlTop = New System.Windows.Forms.Panel()
Me.Label14 = New System.Windows.Forms.Label()
Me.cboTypSelected = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.cbxSpracheSelected = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.cbxSpracheSelected = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.Label8 = New System.Windows.Forms.Label() Me.Label8 = New System.Windows.Forms.Label()
Me.txtSuche = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtSuche = New VERAG_PROG_ALLGEMEIN.MyTextBox()
@@ -132,7 +134,7 @@ Partial Class frmdynMailvorlagen
Me.cbxTyp.FormattingEnabled = True Me.cbxTyp.FormattingEnabled = True
Me.cbxTyp.Location = New System.Drawing.Point(887, 20) Me.cbxTyp.Location = New System.Drawing.Point(887, 20)
Me.cbxTyp.Name = "cbxTyp" Me.cbxTyp.Name = "cbxTyp"
Me.cbxTyp.Size = New System.Drawing.Size(92, 21) Me.cbxTyp.Size = New System.Drawing.Size(120, 21)
Me.cbxTyp.TabIndex = 46 Me.cbxTyp.TabIndex = 46
' '
'Label13 'Label13
@@ -283,7 +285,7 @@ Partial Class frmdynMailvorlagen
Me.cboFirmensignatur._value = "" Me.cboFirmensignatur._value = ""
Me.cboFirmensignatur.DropDownWidth = 120 Me.cboFirmensignatur.DropDownWidth = 120
Me.cboFirmensignatur.FormattingEnabled = True Me.cboFirmensignatur.FormattingEnabled = True
Me.cboFirmensignatur.Location = New System.Drawing.Point(985, 21) Me.cboFirmensignatur.Location = New System.Drawing.Point(1031, 21)
Me.cboFirmensignatur.Name = "cboFirmensignatur" Me.cboFirmensignatur.Name = "cboFirmensignatur"
Me.cboFirmensignatur.Size = New System.Drawing.Size(100, 21) Me.cboFirmensignatur.Size = New System.Drawing.Size(100, 21)
Me.cboFirmensignatur.TabIndex = 31 Me.cboFirmensignatur.TabIndex = 31
@@ -291,7 +293,7 @@ Partial Class frmdynMailvorlagen
'Label7 'Label7
' '
Me.Label7.AutoSize = True Me.Label7.AutoSize = True
Me.Label7.Location = New System.Drawing.Point(982, 5) Me.Label7.Location = New System.Drawing.Point(1028, 5)
Me.Label7.Name = "Label7" Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(103, 13) Me.Label7.Size = New System.Drawing.Size(103, 13)
Me.Label7.TabIndex = 30 Me.Label7.TabIndex = 30
@@ -436,6 +438,8 @@ Partial Class frmdynMailvorlagen
'pnlTop 'pnlTop
' '
Me.pnlTop.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) Me.pnlTop.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.pnlTop.Controls.Add(Me.Label14)
Me.pnlTop.Controls.Add(Me.cboTypSelected)
Me.pnlTop.Controls.Add(Me.cbxSpracheSelected) Me.pnlTop.Controls.Add(Me.cbxSpracheSelected)
Me.pnlTop.Controls.Add(Me.Label8) Me.pnlTop.Controls.Add(Me.Label8)
Me.pnlTop.Controls.Add(Me.txtSuche) Me.pnlTop.Controls.Add(Me.txtSuche)
@@ -450,6 +454,29 @@ Partial Class frmdynMailvorlagen
Me.pnlTop.Size = New System.Drawing.Size(1295, 48) Me.pnlTop.Size = New System.Drawing.Size(1295, 48)
Me.pnlTop.TabIndex = 100 Me.pnlTop.TabIndex = 100
' '
'Label14
'
Me.Label14.AutoSize = True
Me.Label14.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label14.ForeColor = System.Drawing.Color.White
Me.Label14.Location = New System.Drawing.Point(909, 3)
Me.Label14.Name = "Label14"
Me.Label14.Size = New System.Drawing.Size(28, 13)
Me.Label14.TabIndex = 49
Me.Label14.Text = "Typ"
'
'cboTypSelected
'
Me.cboTypSelected._allowedValuesFreiText = Nothing
Me.cboTypSelected._allowFreiText = False
Me.cboTypSelected._value = ""
Me.cboTypSelected.DropDownWidth = 120
Me.cboTypSelected.FormattingEnabled = True
Me.cboTypSelected.Location = New System.Drawing.Point(912, 19)
Me.cboTypSelected.Name = "cboTypSelected"
Me.cboTypSelected.Size = New System.Drawing.Size(114, 21)
Me.cboTypSelected.TabIndex = 48
'
'cbxSpracheSelected 'cbxSpracheSelected
' '
Me.cbxSpracheSelected._allowedValuesFreiText = Nothing Me.cbxSpracheSelected._allowedValuesFreiText = Nothing
@@ -489,12 +516,12 @@ Partial Class frmdynMailvorlagen
Me.txtSuche._WaehrungZeichen = False Me.txtSuche._WaehrungZeichen = False
Me.txtSuche.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtSuche.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtSuche.ForeColor = System.Drawing.Color.Black Me.txtSuche.ForeColor = System.Drawing.Color.Black
Me.txtSuche.Location = New System.Drawing.Point(702, 19) Me.txtSuche.Location = New System.Drawing.Point(431, 19)
Me.txtSuche.MaxLineLength = -1 Me.txtSuche.MaxLineLength = -1
Me.txtSuche.MaxLines_Warning = "" Me.txtSuche.MaxLines_Warning = ""
Me.txtSuche.MaxLines_Warning_Label = Nothing Me.txtSuche.MaxLines_Warning_Label = Nothing
Me.txtSuche.Name = "txtSuche" Me.txtSuche.Name = "txtSuche"
Me.txtSuche.Size = New System.Drawing.Size(314, 20) Me.txtSuche.Size = New System.Drawing.Size(425, 20)
Me.txtSuche.TabIndex = 34 Me.txtSuche.TabIndex = 34
' '
'Label18 'Label18
@@ -502,7 +529,7 @@ Partial Class frmdynMailvorlagen
Me.Label18.AutoSize = True Me.Label18.AutoSize = True
Me.Label18.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label18.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label18.ForeColor = System.Drawing.Color.White Me.Label18.ForeColor = System.Drawing.Color.White
Me.Label18.Location = New System.Drawing.Point(699, 4) Me.Label18.Location = New System.Drawing.Point(428, 3)
Me.Label18.Name = "Label18" Me.Label18.Name = "Label18"
Me.Label18.Size = New System.Drawing.Size(43, 13) Me.Label18.Size = New System.Drawing.Size(43, 13)
Me.Label18.TabIndex = 33 Me.Label18.TabIndex = 33
@@ -647,4 +674,6 @@ Partial Class frmdynMailvorlagen
Friend WithEvents TextBox2 As TextBox Friend WithEvents TextBox2 As TextBox
Friend WithEvents ContextMenuStrip1 As ContextMenuStrip Friend WithEvents ContextMenuStrip1 As ContextMenuStrip
Friend WithEvents KopierenToolStripMenuItem As ToolStripMenuItem Friend WithEvents KopierenToolStripMenuItem As ToolStripMenuItem
Friend WithEvents Label14 As Label
Friend WithEvents cboTypSelected As VERAG_PROG_ALLGEMEIN.MyComboBox
End Class End Class

View File

@@ -1,4 +1,5 @@
Imports Microsoft.Office.Interop Imports DAKOSY_Worker.DEERRE
Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
Public Class frmdynMailvorlagen Public Class frmdynMailvorlagen
@@ -48,7 +49,8 @@ Public Class frmdynMailvorlagen
cbxSendungsvermerk.fillWithSQL("SELECT VermerkCodeId,Bezeichnung FROM [VermerkeCodes]", True, "AVISO", True) cbxSendungsvermerk.fillWithSQL("SELECT VermerkCodeId,Bezeichnung FROM [VermerkeCodes]", True, "AVISO", True)
setTypes() cbxTyp.fillWithSQL("SELECT tkt_id,tkt_name FROM [tblTextkonserventyp] ", False, "FMZOLL", True)
cboTypSelected.fillWithSQL("SELECT tkt_id,tkt_name FROM [tblTextkonserventyp] ", False, "FMZOLL", True)
cbxFirma.Enabled = editall cbxFirma.Enabled = editall
btnDelete.Enabled = editall btnDelete.Enabled = editall
@@ -127,10 +129,10 @@ Public Class frmdynMailvorlagen
End Try End Try
End sub End Sub
Private Sub initDGVMailvorlagen(Optional firma As String = "", Optional searchparam As String = "", Optional sprache As String = "") Private Sub initDGVMailvorlagen(Optional firma As String = "", Optional searchparam As String = "", Optional sprache As String = "", Optional typ As Integer = -1)
lblWarning.Text = "" lblWarning.Text = ""
@@ -148,6 +150,10 @@ Public Class frmdynMailvorlagen
SQLWHere &= " AND (txt_Sprache = '" & sprache & "')" SQLWHere &= " AND (txt_Sprache = '" & sprache & "')"
End If End If
If typ > 0 Then
SQLWHere &= " AND (txt_typ = " & typ & ")"
End If
dgvMailvorlagen.SET_SQL(SQLString & SQLWHere, "FMZOLL", ,) dgvMailvorlagen.SET_SQL(SQLString & SQLWHere, "FMZOLL", ,)
dgvMailvorlagen.LOAD() dgvMailvorlagen.LOAD()
@@ -356,11 +362,15 @@ Public Class frmdynMailvorlagen
End Sub End Sub
Private Sub cbxFirma_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxFirma.SelectedValueChanged, cbxSpracheSelected.SelectedValueChanged Private Sub cbxFirma_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxFirma.SelectedValueChanged, cbxSpracheSelected.SelectedValueChanged, cboTypSelected.SelectedValueChanged
Try Try
setTypes()
dgvMailvorlagen.GetOrder() dgvMailvorlagen.GetOrder()
If cboTypSelected._value <> "" AndAlso IsNumeric(cboTypSelected._value) Then
initDGVMailvorlagen(cbxFirma._value, txtSuche.Text, cbxSpracheSelected._value, CInt(cboTypSelected._value))
Else
initDGVMailvorlagen(cbxFirma._value, txtSuche.Text, cbxSpracheSelected._value) initDGVMailvorlagen(cbxFirma._value, txtSuche.Text, cbxSpracheSelected._value)
End If
dgvMailvorlagen.SetOrder() dgvMailvorlagen.SetOrder()
Catch ex As Exception Catch ex As Exception
@@ -505,34 +515,6 @@ Public Class frmdynMailvorlagen
End Sub End Sub
Private Sub setTypes()
Select Case cbxFirma._value
Case "VERAG360"
cbxTyp.Items.Clear()
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MDM-Belege", "1"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mahnung", "2"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("OP-Liste", "3"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MDM-SR", "4"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Erstattungsschreiben", "5"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Zu Wenig", "6"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MDM-VZ", "7"))
cbxTyp.changeItem("")
Case Else
cbxTyp.Items.Clear()
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Sendung", "1"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mahnung", "2"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("OP-Liste", "3"))
cbxTyp.changeItem("")
End Select
End Sub
Private Sub dgvMailvorlagen_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgvMailvorlagen.CellMouseClick Private Sub dgvMailvorlagen_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgvMailvorlagen.CellMouseClick
If e.RowIndex < 0 Then Exit Sub 'Es wurde außerhalb einer gültigen Datenzeile geklickt If e.RowIndex < 0 Then Exit Sub 'Es wurde außerhalb einer gültigen Datenzeile geklickt