automailversand, ustva, etc.

This commit is contained in:
2025-04-23 14:38:37 +02:00
parent 238440f9ae
commit d59971583e
4 changed files with 53 additions and 19 deletions

View File

@@ -8,9 +8,6 @@ Public Class cAutomailversand
Try
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
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
@@ -103,7 +100,6 @@ Public Class cAutomailversand
End If
'TODO: nach TEST deaktivieren!
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
MailTo = ""
MailtoCC = ""

View File

@@ -1288,7 +1288,13 @@ Public Class frmMDM_USTVAntrag
Dim USTV_ANTRAG = New VERAG_PROG_ALLGEMEIN.cUSTVAntrag()
Dim ADR As New cAdressen(KundenNr)
Dim ERW As New cKundenErweitert(KundenNr)
Dim FIRMA As New cFirmen(1)
Dim FIRMA As New cFirmen(1) 'Nr 1 weil weil Kontodaten von Verag.....
If KundenNr < 0 Then
MsgBox("Kunde auswählen!")
Exit Sub
End If
If ERW.kde_keineMWSt Then
If Not vbYes = MsgBox("Der ausgewählte Kunde " & ADR.Name_1 & " ist als KEIN MWST-Kunde deklariert!" & vbNewLine & "Trotzdem Antrag speichern?", vbYesNoCancel) Then Exit Sub
@@ -1314,8 +1320,8 @@ Public Class frmMDM_USTVAntrag
'check if already existing
Dim anzUSTVA = CInt((New SQL).getValueTxtBySql("Select count(*) from tblUStVAntrag where UStvAN_KuNr = " & KundenNr & " and isnull(UStVAn_AntragArt,'MWST') = '" & cboAntragArt._value & "' and UStVAn_LandNr = " & USTV_ANTRAG.UStVAn_LandNr & "
AND (cast(UStVAn_ReDatvon as date) <= '" & CDate(txtVon._value).ToShortDateString & "' and cast(UStVAn_ReDatBis as date) >= '" & CDate(txtBis._value).ToShortDateString & "' or cast(UStVAn_ReDatvon as date) >= '" & CDate(txtBis._value).ToShortDateString & "' or cast(UStVAn_ReDatbis as date) >= '" & CDate(txtVon._value).ToShortDateString & "')", "FMZOLL"))
Dim anzUSTVA = CInt((New SQL).getValueTxtBySql("Select count(*) from tblUStVAntrag where UStvAN_KuNr = " & KundenNr & " and (isnull(UStVAn_AntragArt,'MWST') = '" & cboAntragArt._value & "' or UStVAn_AntragArt = '') and UStVAn_LandNr = " & USTV_ANTRAG.UStVAn_LandNr & "
AND not((cast(UStVAn_ReDatvon as date) > '" & CDate(txtVon._value).ToShortDateString & "' or cast(UStVAn_ReDatBis as date) < '" & CDate(txtBis._value).ToShortDateString & "'))", "FMZOLL"))
If anzUSTVA > 0 Then
If Not vbYes = MsgBox("Es existiert bereits mind. ein " & cboAntragArt._value & " -Eintrag in diesem Zeitbereich von " & ADR.Name_1 & " für " & cbxLand.SelectedItem.ToString & vbNewLine & "Trotzdem Antrag speichern?", vbYesNoCancel) Then Exit Sub

View File

@@ -519,6 +519,8 @@ Public Class frmUSTVoffeneAntraege
Dim SQLPLOSEUMSTELLUNG = ""
Dim year = CDate(dat_Sum_Von.Value).Year
If kdnr > 0 Then
sqlwherePLOSE &= " and AdressenNr = " & kdnr 'sqlwherePLOSE &= " and plose_POLSEKundennummer = " & kdnr
sqlwhereIDS &= " and AdressenNr = " & kdnr 'sqlwhereIDS &= " and tblIDSTransactionsNew.KdNrVERAG = " & kdnr
@@ -555,14 +557,12 @@ Public Class frmUSTVoffeneAntraege
If dtkeineMWST.Rows.Count > 0 AndAlso kundenLandISO2 <> "" Then
Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = kundenLandISO2).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault()
'TODO: eig soll nur PLOSE Datensätze bei nicht EU-Kunden angeizeigt werden (also bei NICHT EU -> IDS weg (nur IDS-AT)!!!!!!!!!!
Dim selectString As String = "Land = '" & kundenLandISO2 & "'" & " AND Lieferant <> 'IDS'"
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select(selectString).CopyToDataTable
Dim counter = 0
Dim landBez As String = ""
@@ -573,8 +573,26 @@ Public Class frmUSTVoffeneAntraege
Next
sqlwhereLand &= " AND Einreichland not in (" & landBez & ")"
End If
'eig soll nur PLOSE Datensätze bei nicht EU-Kunden angezeigt werden (also bei NICHT EU -> IDS weg (nur IDS-AT)!!!!!!!!!!
Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = kundenLandISO2).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault()
If Not isEU Then
Dim selectStringIDS As String = "Land = '" & kundenLandISO2 & "'" & " AND Lieferant = 'IDS'"
Dim dtkeineMWST_ohneContraintIDS As DataTable = dtkeineMWST.Select(selectStringIDS).CopyToDataTable
Dim counterIDS = 0
Dim landBezIDS As String = ""
For Each row As DataRow In dtkeineMWST_ohneContraintIDS.Rows
landBezIDS &= "'" & row.Item("Erstattungsland") & "'"
counterIDS = counterIDS + 1
If (dtkeineMWST_ohneContraintIDS.Rows.Count <> 0 And counterIDS <> dtkeineMWST_ohneContraintIDS.Rows.Count) Then landBezIDS &= ","
Next
sqlwhereIDS &= " AND tbl_IDS_Länder.Lieferland_ISO2 not in (" & landBezIDS & ")"
End If
End If
@@ -610,9 +628,6 @@ Public Class frmUSTVoffeneAntraege
Dim year = CDate(dat_Sum_Von.Value).Year
If year >= 2025 Then
SQLPLOSEUMSTELLUNG = "

View File

@@ -1,4 +1,5 @@
Imports VERAG_PROG_ALLGEMEIN
Imports GrapeCity.DataVisualization.Chart
Imports VERAG_PROG_ALLGEMEIN
Public Class frmLogin
Public ConnStrInfo As String
@@ -76,20 +77,36 @@ Public Class frmLogin
ElseIf PARAM = "SAMMELRECHNUNG_AUTOSENT" Then
Dim REDat
If Today().Day < 15 Then
'vor 15, letzer Monat Monatsletzter!
If Today().Month <> 1 Then
'Monatsletzter aus Vorjahr
REDat = New Date(Today.Year, Today.Month - 1, DateTime.DaysInMonth(Today().Year, Today.Month - 1))
Else
REDat = New Date(Today.Year - 1, 12, DateTime.DaysInMonth(Today().Year - 1, 12))
End If
ElseIf Today().Day >= 15 Then
REDat = New Date(Today.Year, Today.Month, 15)
End If
Dim SRT_ART As Integer = 6
Dim REDat As New Date(2025, 3, 15)
Dim FirmaID As Integer = 19
If (parameter.Count - 1) >= 4 Then 'Höher als 1 weil der index 0 der Pfad zum programm ist
If IsNumeric(parameter(2)) Then SRT_ART = parameter(2)
If IsDate(parameter(3)) Then REDat = CDate(parameter(3))
If IsNumeric(parameter(3)) Then FirmaID = parameter(3)
If IsNumeric(parameter(4)) Then VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = IIf(parameter(4) = 0, True, False)
End If
Dim func As New cAutomailversand
Dim func As New cAutomailversand
func.sendMailSammelrechnung(REDat, SRT_ART, FirmaID)