This commit is contained in:
2020-12-16 10:02:49 +01:00
parent 3bc1c8a309
commit 1c8b5afac9
19 changed files with 2061 additions and 1893 deletions

View File

@@ -281,7 +281,7 @@ Public Class cFakturierung
Else
Dim VK = VERAG_PROG_ALLGEMEIN.cVorauskasse.LOADByFilialeAbfNr(RECHNUNG.FilialenNr, RECHNUNG.AbfertigungsNr)
If VK IsNot Nothing AndAlso CDbl(VK.vk_Betrag) > 0 Then
If VK.vk_GeldEingetroffen Then ' Wenn 0 dann Fehler
If VK.vk_GeldEingetroffen Then ' Wenn 0 dann Fehler
If CDbl(VK.vk_Betrag) = CDbl(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag) Then
strText = strText & "Der Rechnungsbetrag wurde bereits per Vorauszahlung beglichen." & vbCrLf
Else
@@ -628,7 +628,8 @@ Public Class cFakturierung
Dim gsBetrTmp As Double = 0
For Each r In RECHNUNG.POSITIONEN
dtDataSource.Rows.Add(r.LeistungsNr, r.LeistungsBez, r.Anzahl, r.SteuerpflichtigerBetrag, r.SteuerfreierBetrag, (If(r.Belegdaten, "") & " " & If(r.Aufschubfälligkeit, "")).ToString.Trim)
' dtDataSource.Rows.Add(r.LeistungsNr, r.LeistungsBez, r.Anzahl, r.SteuerpflichtigerBetrag, r.SteuerfreierBetrag, (If(r.Belegdaten, "") & " " & If(r.Aufschubfälligkeit, "")).ToString.Trim)
dtDataSource.Rows.Add(r.LeistungsNr, r.LeistungsBez, r.Anzahl, r.SteuerpflichtigerBetrag, r.SteuerfreierBetrag, If(r.Belegdaten, "").ToString.Trim)
gsBetrTmp += CDbl(r.SteuerpflichtigerBetrag + r.SteuerfreierBetrag)
Next
@@ -710,9 +711,11 @@ Public Class cFakturierung
If rpt.txtSendungsdaten.Text.Length > 200 Then rpt.txtSendungsdaten.Text = rpt.txtSendungsdaten.Text.Substring(0, 200)
rpt.txtBeförderungsmittel.Text = If(RECHNUNG.LKW_Kennzeichen, "")
rpt.txtGrenze.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull([Grenzstelle],'') FROM [Filialen] where FilialenNr='" & RECHNUNG.FilialenNr & "'", "FMZOLL")
rpt.txtGrenze.Text = If(RECHNUNG.Grenze, "")
If rpt.txtGrenze.Text = String.Empty Then rpt.txtGrenze.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull([Grenzstelle],'') FROM [Filialen] where FilialenNr='" & RECHNUNG.FilialenNr & "'", "FMZOLL")
If rpt.txtGrenze.Text = String.Empty Then rpt.txtGrenzeUeberschrift.Visible = False
If If(RECHNUNG.RechnungsName_2, "") = "" Then
rpt.lblRechnung_Name1.Text = ""
rpt.lblRechnung_Name2.Text = If(RECHNUNG.RechnungsName_1, "")
@@ -1228,7 +1231,7 @@ Public Class cFakturierung
Public Shared Function GET_SR_SQLDT(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Optional whereKdNr As String = "", Optional SB As String = "", Optional AvisoIds As List(Of Integer) = Nothing) As DataTable
If whereKdNr <> "" Then whereKdNr = " AND RechnungsKundenNr IN(" & whereKdNr & ") "
Dim sqlStr = " SELECT Rechnungsausgang.RK_ID, Rechnungsausgang.Firma_ID, Rechnungsausgang.FilialenNr, Rechnungsausgang.RechnungsKundenNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode, Rechnungsausgang.AvisoID, Rechnungsausgang.RechnungsNr, Rechnungsausgang.RechnungsDatum, Rechnungsausgang.DruckDatumZeit, Rechnungsausgang.Status, Rechnungsausgang.Sammelrechnung, Rechnungsausgang.Abfertigungsdatum, Rechnungsausgang.Buchungsjahr,Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.SpeditionsbuchUnterNr
Dim sqlStr = " SELECT Rechnungsausgang.RK_ID, Rechnungsausgang.Firma_ID, Rechnungsausgang.FilialenNr, Rechnungsausgang.RechnungsKundenNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode, Rechnungsausgang.AvisoID, Rechnungsausgang.RechnungsNr, Rechnungsausgang.RechnungsDatum, Rechnungsausgang.DruckDatumZeit, Rechnungsausgang.Status, Rechnungsausgang.Sammelrechnung, Rechnungsausgang.Abfertigungsdatum, Rechnungsausgang.Buchungsjahr,Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.SpeditionsbuchUnterNr,[SteuerpflichtigerGesamtbetrag],[SteuerfreierGesamtbetrag]
From Rechnungsausgang
WHERE Rechnungsausgang.Status IN(0, 2) And Rechnungsausgang.Firma_ID = " & Firma_ID & " And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) <= '" & DatumBis.ToShortDateString & "' " & whereKdNr & "
" & If(SammelrechungArt = 7 And SB <> "", " AND Sachbearbeiter='" & SB & "' ", "") & "" & getWhereAvisoId(AvisoIds)
@@ -1243,6 +1246,16 @@ Public Class cFakturierung
Return dt
End Function
Public Shared Function CHECK_SR_SQLDT(dt As DataTable) As Boolean
For Each r In dt.Rows
If (CDbl(r("SteuerpflichtigerGesamtbetrag")) + CDbl(r("SteuerfreierGesamtbetrag"))) = 0 Then
Return False
End If
Next
Return True
End Function
Public Shared Function getWhereAvisoId(ids As List(Of Integer)) As String
If ids Is Nothing Then Return ""
If ids.Count = 0 Then Return ""
@@ -1279,6 +1292,7 @@ Public Class cFakturierung
Dim dt = GET_SR_SQLDT(Firma_ID, SammelrechungArt, DatumBis, whereKdNr, SB, AvisoIds) 'SQL.loadDgvBySql(sqlStr, "FMZOLL")
If dt Is Nothing Then MsgBox("ERR01: Keine Daten") : Return True
If dt.Rows.Count = 0 Then MsgBox("ERR02: Keine Daten") : Return True
If Not CHECK_SR_SQLDT(dt) Then MsgBox("ERR03: Es wurden Rechnungen mit einem 0-Betrag gefunden. Bitte prüfen Sie die Eingaben und starten Sie die Sammelabrechnung erneut.") : Return True
Dim Buchungsjahr = cRKSV.getGJ(Rechnungsdatum) 'IIf(Rechnungsdatum.Month = 1, Rechnungsdatum.Year - 1, Rechnungsdatum.Year)