Compare commits

...

4 Commits

8 changed files with 400 additions and 192 deletions

View File

@@ -10,6 +10,15 @@ Public Class cAutomailversand
'BEI SAMMELRECHNUNG WIRD ZUERST INTERN DER STATUS AUF 2 GESETZT
'STATUS 0-_> Rechnung angelegt
'STATUS 1-_> Einzel-Rg gedruckt
'STATUS 2-_> Anlagen zur Rg gedruckt
'STATUS 3-_> Sammel-Rg gedruckt
'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
LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz
@@ -156,6 +165,12 @@ Public Class cAutomailversand
'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft
'STATUS 0-_> Rechnung angelegt
'STATUS 1-_> Einzel-Rg gedruckt
'STATUS 2-_> Anlagen zur Rg gedruckt
'STATUS 3-_> Sammel-Rg gedruckt
'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel??
Dim rechnungenMailversand = "SELECT RK_ID,RechnungsKundenNr,Rechnungsausgang.VermittlerKundenNr,Rechnungsausgang.RechnungsLandKz,Rechnungsausgang.FilialenNr,Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.UnterNr, Rechnungsausgang.ErfassungsNr , Rechnungsausgang.SteuerpflichtigerGesamtbetrag AS Steuer FROM Rechnungsausgang
LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz
@@ -197,7 +212,8 @@ Public Class cAutomailversand
Dim pathRG As String
If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, True) Then
Dim Rechnungsdruck As Integer = 4 'gibt nur PDF-Pfad zurück!
If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, Rechnungsdruck, pathRG,, True) Then
Continue For
End If
@@ -209,7 +225,7 @@ Public Class cAutomailversand
Dim listPDFs As New List(Of String)
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)
@@ -245,16 +261,16 @@ Public Class cAutomailversand
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 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 belegtyp As String = If(BelegartenNr = 71, "credit note", "invoice")
@@ -278,12 +294,14 @@ Public Class cAutomailversand
TextHTML = TextHTML.Replace("%Belegtyp%", belegtyp)
If Firma_ID = 19 Then
Dim KUNDE_ERW As New cKundenErweitert(row("RechnungsKundenNr"))
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
Dim USTV_ANTRAG As New cUSTVAntrag(row.Item("ErfassungsNr"))
@@ -337,16 +355,39 @@ Public Class cAutomailversand
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
'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
TextHTML = TextHTML.Replace("%Platzhalter_div%", "")
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
@@ -440,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)
Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Attachment", ".pdf",, False, "Zusammenfassung")
'Rechnungsanhänge anfügen
Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Attachment.pdf", ".pdf",, False, "Zusammenfassung")
'Rechnungsanhänge anfügen -> RECHNUNG SELBST
For Each l In listPDFs
ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
Next
@@ -451,67 +491,103 @@ Public Class cAutomailversand
If RECHNUNG IsNot Nothing Then
'----------------------------------------------------------------- EINZELRECHNUNGEN------------------------------------------------
Dim zsmf_ER As New List(Of String)
RECHNUNG.LOAD_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
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
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"))
Select Case ZOLL
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"))
'DE
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 Select
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
'----------------------------------------------------------------- SAMMELRECHNUNGEN------------------------------------------------
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
'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
Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID"))
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 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
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
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
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)
ATTACHMENTS.Add(New cFakt_MailATTach(zielPfadZusammenfassung, fileInfo.Name))
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
Next
End If
@@ -522,6 +598,31 @@ Public Class cAutomailversand
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
@@ -845,6 +946,11 @@ Public Class cAutomailversand
MailTo = MailFA
End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
MailTo = ""
MailCC = ""
End If
Dim AD As New cAdressen(kundenNr)
Dim KD As New cKunde(kundenNr)
Dim Sprache As String = "EN"

View File

@@ -342,7 +342,7 @@ Public Class frmAbrechnungsMaske
If KdSearchBox1.KdNr_value > 0 Then sqlstr &= " AND Rechnungsausgang.RechnungsKundenNr=" & KdSearchBox1.KdNr_value & " "
UsrCntlFaktAbrechnung1.cbxAUTOMailversand.Enabled = enableAUTOMAIL
'UsrCntlFaktAbrechnung1.cbxAUTOMailversand.Enabled = enableAUTOMAIL
btn_doMailAutoversand.Visible = enableAUTOMAIL_BTN AndAlso enableAUTOMAIL
' sqlstr &= " AND (SteuerpflichtigerGesamtbetrag<>0 OR SteuerfreierGesamtbetrag<>0)"
@@ -374,6 +374,12 @@ Public Class frmAbrechnungsMaske
End If
End If
If cboRechnungsdruck._value <> "" Then
End If
initDGV()

View File

@@ -138,6 +138,8 @@ Public Class frmFaktSammelRgDrucken
whereAutoMail = " AND ISNULL(Rechnungsausgang.Automailversand,0) = " & If(cbxAUTOMail.Checked, "1", "0")
Dim sqlStr As String = ""
Select Case Sammelrechung
@@ -168,7 +170,7 @@ Public Class frmFaktSammelRgDrucken
Rechnungsausgang.Status = 2
AND Rechnungsausgang.Firma_ID = '" & cboFirma._value & "'
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 & "'", "") & "
" & whereAbfArt & whereMWST & whereAutoMail & "
GROUP BY
@@ -179,6 +181,14 @@ Public Class frmFaktSammelRgDrucken
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 = "
SELECT
min(Rechnungsausgang.RechnungsNr) as RENR,
@@ -198,12 +208,10 @@ Public Class frmFaktSammelRgDrucken
WHERE AdressenNr = Rechnungsausgang.RechnungsKundenNr) AS Rechnungsdruck
FROM Rechnungsausgang
WHERE
Rechnungsausgang.Status IN (0,2)
AND Rechnungsausgang.Firma_ID = '" & cboFirma._value & "'
Rechnungsausgang.Firma_ID = '" & cboFirma._value & "'
AND Rechnungsausgang.Sammelrechnung = '" & Sammelrechung & "'
AND CONVERT(DATE, Rechnungsausgang.Abfertigungsdatum, 104) <= '" & txtZeitraumBis._value & "'
" & If(Sammelrechung = 7 AndAlso cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & "
" & whereAbfArt & whereAutoMail & "
" & whereAbfArt & whereAutoMail & SQLAUTOMAIL_RECHNUNGSDATuM & "
AND Rechnungsausgang.FakturierungsGruppe='" & cboFaktGrp._value & "'
GROUP BY
RechnungsKundenNr " & If(Sammelrechung = 7, ", AvisoId", "") & "
@@ -674,17 +682,21 @@ Public Class frmFaktSammelRgDrucken
If cAutomailversand.automRechnungsversand_aktivieren() Then
Dim noRENRExisting As Boolean = False
Dim onlyEMAIL As Boolean = True
If MyDatagridview1.Columns.Contains("RENR") Then
If MyDatagridview1.Columns.Contains("RENR") AndAlso MyDatagridview1.Columns.Contains("Rechnungsdruck") Then
noRENRExisting = MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("RENR").Value Is Nothing OrElse IsDBNull(r.Cells("RENR").Value))
onlyEMAIL = MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) IsDBNull(r.Cells("Rechnungsdruck").Value) OrElse r.Cells("Rechnungsdruck").Value Is Nothing OrElse r.Cells("Rechnungsdruck").Value.ToString() <> "E-MAIL")
If noRENRExisting Then
If cboFirma._value = "" Then MsgBox("Bitte Firma angeben!") : Exit Sub
If txtZeitraumBis.Text = "" Then MsgBox("Bitte Zeitraum-Bis angeben!") : Exit Sub
If txtRechnungsdatum.Text = "" Then MsgBox("Bitte Rechnungsdatum angeben!") : Exit Sub
If onlyEMAIL Then MsgBox("Sammelrechnungen die per POST/FAX verschickt werden, können nicht gesetzt werden!") : Exit Sub
If vbYes = MsgBox("Es wird eine Belegsnummer vergeben, die Belege gelten somit als gedruckt und können nicht mehr bearbeitet werden.", vbYesNoCancel) Then
If vbYes = MsgBox("Es wird eine Beleg-NR vergeben, die Belege gelten somit als gedruckt und können nicht mehr bearbeitet werden.", vbYesNoCancel) Then
For Each r In MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Where(Function(x) x.Cells("RENR").Value Is Nothing OrElse IsDBNull(x.Cells("RENR").Value))
@@ -718,7 +730,7 @@ Public Class frmFaktSammelRgDrucken
End If
End If
setMailversand_ALL(True, Firma, Sammelrechung, 2)
setMailversand_ALL(True, Firma, Sammelrechung)
Me.Enabled = True
Me.Cursor = Cursors.Default
@@ -737,7 +749,7 @@ Public Class frmFaktSammelRgDrucken
If cAutomailversand.automRechnungsversand_deaktivieren() Then
'setMailversand(false, Firma, Sammelrechung, 2)
setMailversand_ALL(False, Firma, Sammelrechung, 2)
setMailversand_ALL(False, Firma, Sammelrechung)
End If
End If
@@ -779,13 +791,14 @@ Public Class frmFaktSammelRgDrucken
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 mailversandString As String = If(Mailversand, "1", "0")
Dim whereMWST As String = ""
Dim whereAutoMail As String = ""
Dim whereSammelrechnung As String = ""
' MWST Filter
If cbxMWST.CheckState <> CheckState.Indeterminate Then
@@ -795,15 +808,22 @@ Public Class frmFaktSammelRgDrucken
' Automail Filter (nur ändern wenn unterschiedlich)
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
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
sql = "UPDATE Rechnungsausgang SET Automailversand = " & mailversandString & " FROM Rechnungsausgang LEFT JOIN tblKundenErweitert ON tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
WHERE
Rechnungsausgang.Status IN (" & Status & ")
Rechnungsausgang.Status IN (2)
AND Rechnungsausgang.Firma_ID = '" & FirmaID & "'
AND Rechnungsausgang.Sammelrechnung = '" & Sammelrechnung & "'
AND CONVERT(DATE, Rechnungsausgang.Rechnungsdatum, 104) = '" & CDate(txtRechnungsdatum.Text).ToShortDateString & "'
@@ -813,12 +833,13 @@ Public Class frmFaktSammelRgDrucken
" & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & "
" & whereMWST
End If
If (New SQL).doSQL(sql, "FMZOLL") Then
count += 1
End If
End If
Next
If count <> MyDatagridview1.SelectedRows.Count Then
@@ -857,9 +878,17 @@ Public Class frmFaktSammelRgDrucken
Private Sub Button6_Click_1(sender As Object, e As EventArgs) Handles Button6.Click
If MyDatagridview1.SelectedRows.Count > 0 Then
If IsNumeric(MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value) Then
Dim dtRE As DataTable
Dim SQLString = ""
Select Case Sammelrechung
Case 6
SQLString = "select RK_ID, RechnungsNr, FilialenNr from Rechnungsausgang where RechnungsKundenNr = " & MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value & " AND cast(RechnungsDatum as Date) = '" & txtRechnungsdatum._value & "' AND Sammelrechnung = " & Sammelrechung & " AND ISNULL(Rechnungsausgang.Automailversand,0) = 1 " & IIf(Firma > 0, " AND Firma_ID =" & Firma, "")
Case Else
SQLString = "select RK_ID, RechnungsNr, FilialenNr from Rechnungsausgang where RechnungsKundenNr = " & MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value & " AND cast(Abfertigungsdatum as Date) <= '" & txtRechnungsdatum._value & "' AND Sammelrechnung = " & Sammelrechung & " AND ISNULL(Rechnungsausgang.Automailversand,0) = 1 " & IIf(Firma > 0, " AND Firma_ID =" & Firma, "")
End Select
dtRE = (New SQL).loadDgvBySql(SQLString, "FMZOLL")
Dim dtRE As DataTable = (New SQL).loadDgvBySql("select RK_ID, RechnungsNr, FilialenNr from Rechnungsausgang where RechnungsKundenNr = " & MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value & " AND cast(RechnungsDatum as Date) = '" & txtRechnungsdatum._value & "' AND Sammelrechnung = " & Sammelrechung & IIf(Firma > 0, " AND Firma_ID =" & Firma, ""), "FMZOLL")
If dtRE.Rows.Count > 0 Then
Dim RK_ID As String = ""

View File

@@ -1,4 +1,5 @@
Imports System.Web.UI.WebControls.Expressions
Imports com.sun.jndi.toolkit
Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlFaktAbrechnung
@@ -345,7 +346,7 @@ Public Class usrCntlFaktAbrechnung
Button2.Enabled = (RECHNUNG.Status = 0)
btnOK.Enabled = (RECHNUNG.Status = 0)
If RECHNUNG.Status <> 0 Then cbxAUTOMailversand.Enabled = False
cbxAUTOMailversand.Enabled = setAutoMailversandVisiblity()
'RECHNUNG.OffertenNr = OfferteNrTmp
' RECHNUNG.OffertenNr = OfferteNrTmp
@@ -5506,4 +5507,53 @@ mwst:
End Sub
Private Function setAutoMailversandVisiblity() As Boolean
Dim enableAUTOMAIL As Boolean = False
If RECHNUNG Is Nothing Then Return enableAUTOMAIL
If RECHNUNG.Rechnung_an = 0 Then Return enableAUTOMAIL
Dim RD_DRUCK = -1
Dim AD As cAdressen
Select Case RECHNUNG.Rechnung_an
Case 1
If RECHNUNG.AbsenderKundenNr Is Nothing Then Return enableAUTOMAIL
AD = New cAdressen(RECHNUNG.AbsenderKundenNr)
RD_DRUCK = If(AD.Rechnungsdruck, -1)
Case 2
If RECHNUNG.EmpfängerKundenNr Is Nothing Then Return enableAUTOMAIL
AD = New cAdressen(RECHNUNG.EmpfängerKundenNr)
RD_DRUCK = If(AD.Rechnungsdruck, -1)
Case 3
If RECHNUNG.VermittlerKundenNr Is Nothing Then Return enableAUTOMAIL
AD = New cAdressen(RECHNUNG.VermittlerKundenNr)
RD_DRUCK = If(AD.Rechnungsdruck, -1)
Case 4
If RECHNUNG.AvisiererKundenNr Is Nothing Then Return enableAUTOMAIL
AD = New cAdressen(RECHNUNG.AvisiererKundenNr)
RD_DRUCK = If(AD.Rechnungsdruck, -1)
Case Else
Return enableAUTOMAIL
End Select
'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft
'STATUS 0-_> Rechnung angelegt
'STATUS 1-_> Einzel-Rg gedruckt
'STATUS 2-_> Anlagen zur Rg gedruckt
'STATUS 3-_> Sammel-Rg gedruckt
'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel??
If RECHNUNG.Sammelrechnung = 0 AndAlso RECHNUNG.DruckDatumZeit Is Nothing AndAlso RD_DRUCK = 2 AndAlso (RECHNUNG.Status = 0 Or RECHNUNG.Status = 2) Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS??
enableAUTOMAIL = True
Else
enableAUTOMAIL = False
End If
Return enableAUTOMAIL
End Function
End Class

View File

@@ -57,6 +57,8 @@ Partial Class frmdynMailvorlagen
Me.btnAdd = New System.Windows.Forms.Button()
Me.btnDelete = New System.Windows.Forms.Button()
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.Label8 = New System.Windows.Forms.Label()
Me.txtSuche = New VERAG_PROG_ALLGEMEIN.MyTextBox()
@@ -132,7 +134,7 @@ Partial Class frmdynMailvorlagen
Me.cbxTyp.FormattingEnabled = True
Me.cbxTyp.Location = New System.Drawing.Point(887, 20)
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
'
'Label13
@@ -283,7 +285,7 @@ Partial Class frmdynMailvorlagen
Me.cboFirmensignatur._value = ""
Me.cboFirmensignatur.DropDownWidth = 120
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.Size = New System.Drawing.Size(100, 21)
Me.cboFirmensignatur.TabIndex = 31
@@ -291,7 +293,7 @@ Partial Class frmdynMailvorlagen
'Label7
'
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.Size = New System.Drawing.Size(103, 13)
Me.Label7.TabIndex = 30
@@ -436,6 +438,8 @@ Partial Class frmdynMailvorlagen
'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.Controls.Add(Me.Label14)
Me.pnlTop.Controls.Add(Me.cboTypSelected)
Me.pnlTop.Controls.Add(Me.cbxSpracheSelected)
Me.pnlTop.Controls.Add(Me.Label8)
Me.pnlTop.Controls.Add(Me.txtSuche)
@@ -450,6 +454,29 @@ Partial Class frmdynMailvorlagen
Me.pnlTop.Size = New System.Drawing.Size(1295, 48)
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
'
Me.cbxSpracheSelected._allowedValuesFreiText = Nothing
@@ -489,12 +516,12 @@ Partial Class frmdynMailvorlagen
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.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.MaxLines_Warning = ""
Me.txtSuche.MaxLines_Warning_Label = Nothing
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
'
'Label18
@@ -502,7 +529,7 @@ Partial Class frmdynMailvorlagen
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.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.Size = New System.Drawing.Size(43, 13)
Me.Label18.TabIndex = 33
@@ -647,4 +674,6 @@ Partial Class frmdynMailvorlagen
Friend WithEvents TextBox2 As TextBox
Friend WithEvents ContextMenuStrip1 As ContextMenuStrip
Friend WithEvents KopierenToolStripMenuItem As ToolStripMenuItem
Friend WithEvents Label14 As Label
Friend WithEvents cboTypSelected As VERAG_PROG_ALLGEMEIN.MyComboBox
End Class

View File

@@ -1,4 +1,5 @@
Imports Microsoft.Office.Interop
Imports DAKOSY_Worker.DEERRE
Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN
Public Class frmdynMailvorlagen
@@ -48,7 +49,8 @@ Public Class frmdynMailvorlagen
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
btnDelete.Enabled = editall
@@ -127,10 +129,10 @@ Public Class frmdynMailvorlagen
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 = ""
@@ -148,6 +150,10 @@ Public Class frmdynMailvorlagen
SQLWHere &= " AND (txt_Sprache = '" & sprache & "')"
End If
If typ > 0 Then
SQLWHere &= " AND (txt_typ = " & typ & ")"
End If
dgvMailvorlagen.SET_SQL(SQLString & SQLWHere, "FMZOLL", ,)
dgvMailvorlagen.LOAD()
@@ -356,11 +362,15 @@ Public Class frmdynMailvorlagen
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
setTypes()
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)
End If
dgvMailvorlagen.SetOrder()
Catch ex As Exception
@@ -505,34 +515,6 @@ Public Class frmdynMailvorlagen
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
If e.RowIndex < 0 Then Exit Sub 'Es wurde außerhalb einer gültigen Datenzeile geklickt

View File

@@ -536,6 +536,8 @@ Public Class frmNacherfassungLeihgeld
RG.BelegartenKz = "AG"
RG.BelegartenBez = "Gutschrift"
RG.Vorzeichen = "-"
summeBRUTTO *= -1
summeNETTO *= -1
End If
RG.VermittlerKundenNr = AD.AdressenNr

View File

@@ -1,6 +1,4 @@
Imports System.Text.RegularExpressions
Imports sun.util.resources.cldr.ve
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
Public Class cSyska_Interface
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -784,7 +782,7 @@ Public Class cSyska_Interface
genBuchungsZeileSum &= FiBuSollkontonummer & vbTab
genBuchungsZeileSum &= FiBuHabenkontonummer & vbTab
genBuchungsZeileSum &= IIf(row("Buchungstext") <> "" AndAlso row("Buchungstext").ToString.Contains("Zinsen"), row("Buchungstext") & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
genBuchungsZeileSum &= IIf(row("Buchungstext") <> "", row("Buchungstext") & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
genBuchungsZeileSum &= Format(CDbl(FiBuBruttobetrag), fmt) & vbTab
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuersatz
@@ -821,7 +819,7 @@ Public Class cSyska_Interface
genBuchungsZeileSum &= FiBuSollkontonummer & vbTab
genBuchungsZeileSum &= FiBuHabenkontonummer & vbTab
'genBuchungsZeileSum &= row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab
genBuchungsZeileSum &= IIf(row("Buchungstext") <> "" AndAlso row("Buchungstext").ToString.Contains("Zinsen"), row("Buchungstext") & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
genBuchungsZeileSum &= IIf(row("Buchungstext") <> "", row("Buchungstext") & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
genBuchungsZeileSum &= Format(CDbl(Bruttobetrag), fmt) & vbTab
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuersatz
@@ -936,7 +934,13 @@ Public Class cSyska_Interface
genBuchungsZeile &= FiBuSollkontonummer & vbTab
genBuchungsZeile &= FiBuHabenkontonummer & vbTab
'genBuchungsZeile &= row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab
Select Case row("BelegartenNr")
Case 30, 31
genBuchungsZeile &= IIf(Buchungstext <> "", Buchungstext & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
Case Else
genBuchungsZeile &= IIf(Buchungstext <> "" AndAlso Buchungstext.Contains("Zinsen"), Buchungstext & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
End Select
genBuchungsZeile &= Format(CDbl(FiBuBruttobetrag), fmt) & vbTab