OrigInvoice cRKSV, Kundebarb, etc.

This commit is contained in:
2025-11-18 17:06:31 +01:00
parent 01d623ec2e
commit a572b1f048
3 changed files with 306 additions and 309 deletions

View File

@@ -2520,6 +2520,15 @@ Public Class cRKSV
Dim jahr As Integer = Now.Year
Dim periode As Integer = Now.Month
Dim rel_periode As Integer = Now.Month - 1
If rel_periode <= 0 Then
rel_periode += 12
End If
If rel_periode > periode Then
jahr -= 1
End If
Dim betrag As Decimal = SumBelegPositionen(beleg)
@@ -2530,7 +2539,7 @@ Public Class cRKSV
Dim dtKonten As DataTable = BuildVerbuchungskonten(KBEntryGB_list, beleg, kassenkonto, forderungskonto, bestandskonto)
' 5) build booking text (and trim to 48 chars with remainder stored separately)
Dim buchungstextFull As String = (If(betrag < 0, "STORNO ", "")) & If(typ = "AUSZAHLUNG", "KA", "KE") & "_" & SafeString(beleg.AbfertigungsNr) & "_" & SafeString(beleg.LKW_Kennzeichen) & "_" & SafeString(beleg.Frachtführer) & "_" & SafeString(beleg.Fahrer) & "_" & SafeString(beleg.Passnummer)
Dim buchungstextFull As String = (If(betrag < 0, "STORNO ", "")) & SafeString(beleg.FilialenNr) & "/" & SafeString(beleg.AbfertigungsNr) & "_" & SafeString(beleg.LKW_Kennzeichen) & "_" & SafeString(beleg.Frachtführer) & "_" & SafeString(beleg.Fahrer) & "_" & SafeString(beleg.Passnummer)
Dim buchungstext As String
Dim buchungstextBemerkung As String
SplitBuchungstext(buchungstextFull, 48, buchungstext, buchungstextBemerkung)
@@ -2571,21 +2580,21 @@ Public Class cRKSV
zsZeilenNr += 1
Dim buchungsbetrag1 As Decimal = betrag
UpdateDtKontenAmount(dtKonten, kassenkonto, "Soll", buchungsbetrag1)
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
buchungstext, CType(buchungsbetrag1, Double), "EUR", zsZeilenNr, "KO", kassenkonto, beleg.KundenNr, "S", BelegNrUID)
' 2) Debitor (Haben)
zsZeilenNr += 1
Dim buchungsbetrag2 As Decimal = betrag
UpdateDtKontenAmount(dtKonten, beleg.KundenNr, "Haben", buchungsbetrag2)
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
buchungstext, CType(buchungsbetrag2, Double), "EUR", zsZeilenNr, "DE", beleg.KundenNr, kassenkonto, "H", BelegNrUID)
' 3) Forderung (Haben)
zsZeilenNr += 1
Dim buchungsbetrag3 As Decimal = betrag
UpdateDtKontenAmount(dtKonten, forderungskonto, "Haben", buchungsbetrag3)
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
buchungstext, CType(buchungsbetrag3, Double), "EUR", zsZeilenNr, "DB", forderungskonto, kassenkonto, "H", BelegNrUID)
End If
ElseIf typ = "AUSZAHLUNG" Then
@@ -2595,35 +2604,35 @@ Public Class cRKSV
zsZeilenNr += 1
Dim buchungsbetrag1 As Decimal = betrag
UpdateDtKontenAmount(dtKonten, bestandskonto, "Soll", buchungsbetrag1)
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
buchungstext, CType(buchungsbetrag1, Double), "EUR", zsZeilenNr, "KO", bestandskonto, 0, "S", BelegNrUID)
' 2) Kassa (Haben) = +betrag (cash out)
zsZeilenNr += 1
Dim buchungsbetrag2 As Decimal = betrag
UpdateDtKontenAmount(dtKonten, kassenkonto, "Haben", buchungsbetrag2)
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
buchungstext, CType(buchungsbetrag2, Double), "EUR", zsZeilenNr, "KO", kassenkonto, 0, "H", BelegNrUID)
' 3) Debitor (Soll)
zsZeilenNr += 1
Dim buchungsbetrag3 As Decimal = betrag
UpdateDtKontenAmount(dtKonten, beleg.KundenNr, "Soll", buchungsbetrag3)
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
buchungstext, CType(buchungsbetrag3, Double), "EUR", zsZeilenNr, "DE", beleg.KundenNr, 0, "S", BelegNrUID)
' 4) Forderung (Soll)
zsZeilenNr += 1
Dim buchungsbetrag4 As Decimal = betrag
UpdateDtKontenAmount(dtKonten, forderungskonto, "Soll", buchungsbetrag4)
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
buchungstext, CType(buchungsbetrag4, Double), "EUR", zsZeilenNr, "DB", forderungskonto, 0, "S", BelegNrUID)
' 5) Bestandskonto (Haben)
zsZeilenNr += 1
Dim buchungsbetrag5 As Decimal = betrag
UpdateDtKontenAmount(dtKonten, bestandskonto, "Haben", buchungsbetrag5)
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
buchungstext, CType(buchungsbetrag5, Double), "EUR", zsZeilenNr, "KO", bestandskonto, 0, "H", BelegNrUID)
End If
End If
@@ -2650,9 +2659,7 @@ Public Class cRKSV
Next
' 10) Offene Posten (nur einmal!)
Dim OP_KZ As String = "g"
Select Case typ
Case "AUSZAHLUNG" : OP_KZ = "r"
Case "EINZAHLUNG" : OP_KZ = "g"
@@ -2660,10 +2667,15 @@ Public Class cRKSV
createOP_new(mandant, CDbl(betrag), SafeString(beleg.BelegNr), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), buchungstext, CDbl(betrag), "EUR", beleg.KundenNr, forderungskonto, i_beleg_refid, OP_KZ, c_sprache, c_zahlziel, CStr(dec_skonto), beleg.BelegDat.ToShortDateString, beleg.BelegDat.ToShortDateString, c_ustidnr, BelegNrUID)
createOPVorgang_new(mandant, typ, CDbl(betrag), jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, buchungstext, beleg.KundenNr, CDbl(opvorgangsbetrag), i_beleg_refid, Now.ToString(), 0, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME)
createOPVorgang_new(mandant, typ, CDbl(betrag), jahr, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, buchungstext, beleg.KundenNr, CDbl(opvorgangsbetrag), i_beleg_refid, Now.ToString(), kassenkonto, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, 1, OP_KZ)
If typ = "AUSZAHLUNG" Then 'die zweite op_vorgang_deb Zeile insertieren
createOPVorgang_new(mandant, typ, CDbl(betrag), jahr, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, buchungstext, beleg.KundenNr, CDbl(opvorgangsbetrag), i_beleg_refid, Now.ToString(), kassenkonto, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, 5)
End If
' 11) single check if gebucht
Dim gebucht = checkifgebucht_new(mandant, SafeString(beleg.BelegNr), buchungstext)
Dim gebucht = checkifgebucht_new(mandant, SafeString(BelegNrUID), buchungstext)
If gebucht Then
' logging instead of MsgBox in production
' MsgBox("GEBUCHT!")
@@ -2734,7 +2746,11 @@ Public Class cRKSV
Private Shared Function BuildProtokollId(stapelRefId As Integer, lfd As Integer, jahr As Integer, periode As Integer) As String
Dim now As DateTime = DateTime.Now
Return $"{stapelRefId:0000}-{lfd:0000}-{now:yyyy-MM-dd HH:mm:ss}"
Dim returnstring As String = ""
If stapelRefId <> 0 Then returnstring &= "${stapelRefId:0000}-"
If lfd > 1 Then returnstring &= "${lfd:0000}-"
returnstring &= now.ToString("dd-MM-yyyy HH:mm:ss")
Return returnstring
End Function
Private Shared Sub UpdateDtKontenAmount(dt As DataTable, konto As Integer, field As String, amount As Decimal)
@@ -2766,25 +2782,45 @@ Public Class cRKSV
sql.doSQL(sqlStr, "FIBU")
End Sub
Private Shared Sub InsertBelegszeile_new(sql As VERAG_PROG_ALLGEMEIN.SQL, mandant As Integer, Jahr As Integer, periode As Integer, beleg_ref_id As String, datumKurz As String, BelegNr As String, BelegArt As String, Buchungstext As String, Buchungsbetrag As Double, Waehrung As String, ZeilenNr As Integer, ckennsoll2 As String, Sollkonto2 As Integer, Habenkonto2 As Integer, SollhabenKZ As String, c_urbelegid As String)
Private Shared Sub InsertBelegszeile_new(sql As VERAG_PROG_ALLGEMEIN.SQL, mandant As Integer, Jahr As Integer, periode As Integer, rel_periode As Integer, beleg_ref_id As String, datumKurz As String, BelegNr As String, BelegArt As String, Buchungstext As String, Buchungsbetrag As Double, Waehrung As String, ZeilenNr As Integer, ckennsoll2 As String, Sollkonto2 As Integer, Habenkonto2 As Integer, SollhabenKZ As String, c_urbelegid As String)
Dim safeBT = SafeStringSql(Buchungstext)
Dim sqlStr = "INSERT INTO [FIBU2].dbo.fibu_belegzeile (i_firm_refid, si_jahr, si_periode, si_rel_periode, i_beleg_refid, i_zeilen_refid, c_kennung, i_konto, c_sollhabenkz, i_steuer_refid, i_gegenkonto, dec_betrag, c_waehrung, dec_fremdbetrag, eur_betrag, d_beleg, d_gebucht, c_urbelegid, si_belegart, c_buchtext, i_buchungskreis) " &
"VALUES(" & SafeIntToSql(mandant) & "," & Jahr & "," & periode & "," & periode & "," & beleg_ref_id & "," & ZeilenNr & ",'" & SafeStringSql(ckennsoll2) & "'," & Sollkonto2 & ",'" & SafeStringSql(SollhabenKZ) & "',0," & Habenkonto2 & "," & Buchungsbetrag.ToString().Replace(",", ".") & ",'" & SafeStringSql(Waehrung) & "'," & Buchungsbetrag.ToString().Replace(",", ".") & "," & Buchungsbetrag.ToString().Replace(",", ".") & ",'" & SafeStringSql(datumKurz) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(c_urbelegid) & "','" & SafeStringSql(BelegArt) & "','" & safeBT & "',1);"
"VALUES(" & SafeIntToSql(mandant) & "," & Jahr & "," & periode & "," & rel_periode & "," & beleg_ref_id & "," & ZeilenNr & ",'" & SafeStringSql(ckennsoll2) & "'," & Sollkonto2 & ",'" & SafeStringSql(SollhabenKZ) & "',0," & Habenkonto2 & "," & Buchungsbetrag.ToString().Replace(",", ".") & ",'" & SafeStringSql(Waehrung) & "'," & Buchungsbetrag.ToString().Replace(",", ".") & "," & Buchungsbetrag.ToString().Replace(",", ".") & ",'" & SafeStringSql(datumKurz) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(c_urbelegid) & "','" & SafeStringSql(BelegArt) & "','" & safeBT & "',1);"
sql.doSQL(sqlStr, "FIBU")
End Sub
Private Shared Sub createOP_new(mandant As Integer, Betrag As Double, BelegNrText As String, datumKurz As String, BelegNr As String, Buchungstext As String, Buchungsbetrag As Double, Waehrung As String, Personenkonto As Integer, Forderungskonto As Integer, i_op_refid As String, c_op_Typ As Char, Sprache As String, Zahlungsziel As String, Skonto As String, Skontodatum As String, Nettodatum As String, c_ustidnr As String, c_urbelegid As String)
'Rechnung Betrag Positiv, Gutschrift Betrag negativ!typ
Dim vorzeichen As Integer = 1
Select Case c_op_Typ
Case "r" : vorzeichen = 1
Case "g" : vorzeichen = -1
End Select
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL()
Dim betragStr = (Betrag * -1).ToString().Replace(",", ".")
Dim betragStr = (Betrag * vorzeichen).ToString().Replace(",", ".")
Dim sqlInsert = "INSERT INTO [FIBU2].dbo.op_debitor (i_firm_refid, i_op_refid, c_urbelegid, i_personenkonto, i_forderungskonto, c_rechnungid, d_rechnung, d_valuta, c_typ, c_sprache, c_waehrung, dec_eigenbrutto, dec_fremdbrutto, eur_bruttobetrag, dec_skf_eigen, dec_skf_fremd, eur_skontierfaehig, dec_eigenzahlung, dec_fremdzahlung, eur_zahlung, c_zahlziel, dec_skonto, d_skonto, dec_skonto2, d_netto, si_mahnstufe, i_mahnlauf_refid, si_exportiert, i_stapel_refid, i_stapel_lfdnr, dec_stpl_ew_betrag, dec_stpl_ew_skonto, dec_stpl_fw_betrag, dec_stpl_fw_skonto, eur_stpl_betrag, eur_stpl_skonto, i_clearing, i_eigene_bank, si_bankeinzug, c_bemerkung, lc_anmerkungen, i_zessionstext, i_buchungskreis, c_ustidnr) " &
"VALUES(" & SafeIntToSql(mandant) & "," & i_op_refid & ",'" & SafeStringSql(c_urbelegid) & "'," & Personenkonto & "," & Forderungskonto & "," & SafeStringSql(BelegNrText) & ",'" & SafeStringSql(datumKurz) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(CStr(c_op_Typ)) & "','" & SafeStringSql(Sprache) & "','" & SafeStringSql(Waehrung) & "'," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & ",0,0,0,'" & SafeStringSql(Zahlungsziel) & "','" & SafeStringSql(Skonto) & "','" & SafeStringSql(Skontodatum) & "',0,'" & SafeStringSql(Nettodatum) & "',0,0,0,0,0,0,0,0,0,0,0,0,0,0,'" & SafeStringSql(Buchungstext) & "','" & SafeStringSql(Buchungstext) & "',0,1,'" & SafeStringSql(c_ustidnr) & "');"
"VALUES(" & SafeIntToSql(mandant) & "," & i_op_refid & ",'" & SafeStringSql(c_urbelegid) & "'," & Personenkonto & "," & Forderungskonto & ",'" & SafeStringSql(c_urbelegid) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(CStr(c_op_Typ)) & "','" & SafeStringSql(Sprache) & "','" & SafeStringSql(Waehrung) & "'," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & ",0,0,0,'" & SafeStringSql(Zahlungsziel) & "','" & SafeStringSql(Skonto) & "','" & SafeStringSql(Skontodatum) & "',0,'" & SafeStringSql(Nettodatum) & "',0,0,0,0,0,0,0,0,0,0,0,0,0,0,'" & SafeStringSql(Buchungstext) & "','" & SafeStringSql(Buchungstext) & "',0,1,'" & SafeStringSql(c_ustidnr) & "');"
sql.doSQL(sqlInsert, "FIBU")
End Sub
Private Shared Sub createOPVorgang_new(mandant As Integer, TYP As String, Betrag As Double, Jahr As Integer, periode As Integer, beleg_ref_id As String, datumKurz As String, Buchungstext As String, Personenkonto As Integer, opvorgangsbetrag As Double, i_op_refid As String, dt_creation As String, Sachkonto As Integer, Benutzer As String)
Private Shared Sub createOPVorgang_new(mandant As Integer, TYP As String, Betrag As Double, Jahr As Integer, rel_periode As Integer, beleg_ref_id As String, datumKurz As String, Buchungstext As String, Personenkonto As Integer, opvorgangsbetrag As Double, i_op_refid As String, dt_creation As String, Sachkonto As Integer, Benutzer As String, si_zeilen_refid As Integer, Optional c_op_Typ As Char = "")
'Rechnung Betrag Positiv, Gutschrift Betrag negativ!
Dim vorzeichen As Integer = 1
Select Case c_op_Typ
Case "r" : vorzeichen = 1
Case "g" : vorzeichen = -1
End Select
opvorgangsbetrag = opvorgangsbetrag * vorzeichen
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL()
Dim sqlInsert = "INSERT INTO [FIBU2].dbo.op_vorgang_deb (i_firm_refid, i_personenkonto, i_op_refid, i_beleg_refid, c_vorgang, d_beleg, si_rel_periode, si_jahr, i_steuer_refid, dec_steuerproz, i_nne_az_konto, dec_nettobetrag, dec_steuerbetrag, eur_nettobetrag, eur_steuerbetrag, dec_fremdbetrag, si_skontierfaehig, si_zeilen_refid, c_bemerkung, dt_datum, c_benutzer, i_eg_konto, i_auftrag_refid, dec_naf_steuerbetr, eur_naf_steuerbetr) " &
"VALUES(" & SafeIntToSql(mandant) & "," & Personenkonto & "," & i_op_refid & "," & beleg_ref_id & ",'P','" & SafeStringSql(datumKurz) & "'," & periode & "," & Jahr & ",0,0," & Sachkonto & "," & opvorgangsbetrag.ToString().Replace(",", ".") & ",0," & opvorgangsbetrag.ToString().Replace(",", ".") & ",0," & opvorgangsbetrag.ToString().Replace(",", ".") & ",1,1,'" & SafeStringSql(Buchungstext) & "','" & SafeStringSql(dt_creation) & "','" & SafeStringSql(Benutzer) & "',0,0,0,0);"
"VALUES(" & SafeIntToSql(mandant) & "," & Personenkonto & "," & i_op_refid & "," & beleg_ref_id & ",'P','" & SafeStringSql(datumKurz) & "'," & rel_periode & "," & Jahr & ",0,0," & Sachkonto & "," & opvorgangsbetrag.ToString().Replace(",", ".") & ",0," & opvorgangsbetrag.ToString().Replace(",", ".") & ",0," & opvorgangsbetrag.ToString().Replace(",", ".") & ",1," & si_zeilen_refid & ",'" & SafeStringSql(Buchungstext) & "','" & SafeStringSql(dt_creation) & "','" & SafeStringSql(Benutzer) & "',0,0,0,0);"
sql.doSQL(sqlInsert, "FIBU")
End Sub

View File

@@ -2254,7 +2254,6 @@ Public Class usrcntlKundeBearbeitenFull
.Columns(2).Width = 50
.Columns(3).HeaderText = "Station"
.Columns(4).HeaderText = "Rab-/Pr."
.Columns(4).Width = 50
.Columns(5).Width = 50
.Columns(6).Width = 50
.Columns(3).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
@@ -2289,8 +2288,7 @@ Public Class usrcntlKundeBearbeitenFull
.Columns(2).HeaderText = "S-Nr"
.Columns(2).Width = 50
.Columns(3).HeaderText = "Station"
.Columns(5).HeaderText = "Rab-/Pr."
.Columns(5).Width = 50
.Columns(4).HeaderText = "Rab-/Pr."
.Columns(6).Width = 50
.Columns(3).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill

View File

@@ -245,60 +245,60 @@ Public Class usrcntlFremdrechnungen
'IDS
Case "IDS" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") &
" invoice_id,[tbl_IDS_Kunden].KdNrVERAG as AdressenNr, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer, tblIDSInvoicesNew.CustomerCode as Kundennummer,[daId],[TransactionVolume] as Transaktionsmenge,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblIDSInvoicesNew inner join [VERAG].[dbo].[tbl_IDS_Kunden] on tblIDSInvoicesNew.CustomerCode = tbl_IDS_Kunden.CustomerCode WHERE tblIDSInvoicesNew.[CustomerCode] in (SELECT distinct([CustomerCode]) FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE 1 = 1 AND isnull([tbl_IDS_Kunden].KdNrAlt, 0) = 0 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [KdNrVERAG]=" & kdNr, "") & ") and [YearMonthDay] " & setSQLWhere(SDLNrTmp, "") & whereKundennrKreisLieferanten & " order by [YearMonthDay] desc, [Invoicenumber]"
" invoice_id,[tbl_IDS_Kunden].KdNrVERAG as AdressenNr, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer, tblIDSInvoicesNew.CustomerCode as Kundennummer,[daId],[TransactionVolume] as Transaktionsmenge,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(1 as bit) as OrigRE FROM tblIDSInvoicesNew inner join [VERAG].[dbo].[tbl_IDS_Kunden] on tblIDSInvoicesNew.CustomerCode = tbl_IDS_Kunden.CustomerCode WHERE tblIDSInvoicesNew.[CustomerCode] in (SELECT distinct([CustomerCode]) FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE 1 = 1 AND isnull([tbl_IDS_Kunden].KdNrAlt, 0) = 0 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [KdNrVERAG]=" & kdNr, "") & ") and [YearMonthDay] " & setSQLWhere(SDLNrTmp, "") & whereKundennrKreisLieferanten & " order by [YearMonthDay] desc, [Invoicenumber]"
'UTA
Case "UTA" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") &
" Adressen.AdressenNr, Adressen.[Name 1], [Rechnungsdatum],[Rechnungsnummer_pro_Lieferland] as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[daId],[Lieferland_ISO2] as Land, 'RE' as Art, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(archiv as bit) as archiv FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [AdressenNr]=" & kdNr, "") & " AND [Rechnungsdatum] " & setSQLWhere(SDLNrTmp, "Lieferland_ISO2") & whereKundennrKreisLieferanten & " group by Adressen.AdressenNr, Adressen.[Name 1],[Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId],[Lieferland_ISO2], archiv"
" Adressen.AdressenNr, Adressen.[Name 1], [Rechnungsdatum],[Rechnungsnummer_pro_Lieferland] as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[daId],[Lieferland_ISO2] as Land, 'RE' as Art, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(archiv as bit) as archiv,cast(case when InvToCustomer is not null then 1 else 0 end as bit) as OrigRE FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [AdressenNr]=" & kdNr, "") & " AND [Rechnungsdatum] " & setSQLWhere(SDLNrTmp, "Lieferland_ISO2") & whereKundennrKreisLieferanten & " group by Adressen.AdressenNr, Adressen.[Name 1],[Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId],[Lieferland_ISO2], archiv, InvToCustomer "
SQL_STR &= " UNION ALL SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") & " Adressen.AdressenNr, Adressen.[Name 1],[Datum], [RechnungsNr],[KundenNr],0,0,0,[daId],'',[DocumentTyp], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(0 as bit) as archiv FROM [VERAG].[dbo].[tblUTADocuments] inner join adressen on KundenNr = UTAKundenNr where 1 = 1 " & IIf(kdNr > 0, " AND [AdressenNr]=" & kdNr, "") & " and [Datum] " & setSQLWhere("_", "") & whereKundennrKreisLieferanten & " order by Rechnungsdatum desc"
SQL_STR &= " UNION ALL SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") & " Adressen.AdressenNr, Adressen.[Name 1],[Datum], [RechnungsNr],[KundenNr],0,0,0,[daId],'',[DocumentTyp], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(0 as bit) as archiv, cast(0 as bit) as OrigRE FROM [VERAG].[dbo].[tblUTADocuments] inner join adressen on KundenNr = UTAKundenNr where 1 = 1 " & IIf(kdNr > 0, " AND [AdressenNr]=" & kdNr, "") & " and [Datum] " & setSQLWhere("_", "") & whereKundennrKreisLieferanten & " order by Rechnungsdatum desc"
'PLOSE
Case "PLOSE" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") &
" Adressen.AdressenNr, Adressen.[Name 1],[plInv_SupplierRechnungsDatum] as Rechnungsdatum, [plInv_SupplierRechnungsNr] as Rechnungsnummer,[plInv_PLOSEKundennummer] as Kundennummer,[plInv_Nettobetrag] as Nettobetrag,[plInv_MWSTBetrag] as MWST,[plInv_Bruttobetrag] as Bruttobetrag,[plInv_daId] as daId, [plInv_SupplierCountry] as Land, cast(case when [plInv_daId] is not null then 1 else 0 end as bit) as PDFvorhanden, plInv_Archiv as archiv FROM tblPLOSE_Inv_Data inner join Adressen on Adressen.PLOSEKundenNr = plInv_PLOSEKundennummer where 1 = 1 " & sqlfehlendePDF_PLOSE & IIf(kdNr > 0, " AND Adressen.AdressenNr=" & kdNr, "") & " and [plInv_SupplierRechnungsDatum] " & setSQLWhere(SDLNrTmp, "plInv_SupplierCountry") & whereKundennrKreisLieferanten & " Order by plInv_SupplierRechnungsDatum desc, [plInv_SupplierRechnungsNr]"
" Adressen.AdressenNr, Adressen.[Name 1],[plInv_SupplierRechnungsDatum] as Rechnungsdatum, [plInv_SupplierRechnungsNr] as Rechnungsnummer,[plInv_PLOSEKundennummer] as Kundennummer,[plInv_Nettobetrag] as Nettobetrag,[plInv_MWSTBetrag] as MWST,[plInv_Bruttobetrag] as Bruttobetrag,[plInv_daId] as daId, [plInv_SupplierCountry] as Land, cast(case when [plInv_daId] is not null then 1 else 0 end as bit) as PDFvorhanden, plInv_Archiv as archiv, cast(case when plInv_InvToCustomer is not null then 1 else 0 end as bit) as OrigRE FROM tblPLOSE_Inv_Data inner join Adressen on Adressen.PLOSEKundenNr = plInv_PLOSEKundennummer where 1 = 1 " & sqlfehlendePDF_PLOSE & IIf(kdNr > 0, " AND Adressen.AdressenNr=" & kdNr, "") & " and [plInv_SupplierRechnungsDatum] " & setSQLWhere(SDLNrTmp, "plInv_SupplierCountry") & whereKundennrKreisLieferanten & " Order by plInv_SupplierRechnungsDatum desc, [plInv_SupplierRechnungsNr]"
'MSE
Case "MSE" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") &
" partner_customer_number as AdressenNr, customer_name as [Name 1], [invoice_date] as Rechnungsdatum, [invoice_id] as Rechnungsnummer/*,[invoice_nr]*/,[customer_number] as Kundennummer, daId, [total_amount_euro] as Bruttobetrag ,[total_vat_amount_euro] as MWST,[country] as Land, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, archiv FROM tblMSEInvoices inner join tblMSECustomers on customer_id = [customer_number] where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [partner_customer_number]=" & kdNr, "") & " and [invoice_date] " & setSQLWhere(SDLNrTmp, "country") & whereKundennrKreisLieferanten & " order by invoice_date desc, invoice_id"
" partner_customer_number as AdressenNr, customer_name as [Name 1], [invoice_date] as Rechnungsdatum, [invoice_id] as Rechnungsnummer/*,[invoice_nr]*/,[customer_number] as Kundennummer, daId, [total_amount_euro] as Bruttobetrag ,[total_vat_amount_euro] as MWST,[country] as Land, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, archiv, cast(case when InvToCustomer is not null then 1 else 0 end as bit) as OrigRE FROM tblMSEInvoices inner join tblMSECustomers on customer_id = [customer_number] where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [partner_customer_number]=" & kdNr, "") & " and [invoice_date] " & setSQLWhere(SDLNrTmp, "country") & whereKundennrKreisLieferanten & " order by invoice_date desc, invoice_id"
'VERAG
Case "VERAG" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") &
" Adressen.AdressenNr, Adressen.[Name 1], tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer , tblTrdinInvoice.RechnungsbetragLokal as Bruttobetrag, 1 as daId, cast(1 as bit) as PDFvorhanden FROM tblTrdinInvoice inner join Adressen on KundenNrZentrale = AdressenNr WHERE 1 = 1 " & sqlfehlendePDF_VERAG & IIf(kdNr > 0, " AND tblTrdinInvoice.RechnungsKundenNr=" & kdNr, "") & " AND tblTrdinInvoice.FilialenNr = 4814 and tblTrdinInvoice.Rechnungsdatum " & setSQLWhere(SDLNrTmp, "'AT'") & " ORDER BY tblTrdinInvoice.Rechnungsdatum desc, tblTrdinInvoice.Rechnungsnummer"
'RMC
Case "RMC" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") &
"Adressen.AdressenNr, Adressen.[Name 1],[rmc_reDatum] as Rechnungsdatum,[rmc_reNr] as Rechnungsnummer,rmc_kdNr as Kundennummer,[rmc_betragNetto] as Nettobetrag,[rmc_betragBrutto] as Bruttobetrag,[rmc_waehrung] as Währung ,[rmc_euroBrutto] as Bruttobetrag,[rmc_daId] as daId,[rmc_betragMWST] as MWST,rmc_landKZ as Land, cast(case when [rmc_daId] is not null then 1 else 0 end as bit) as PDFvorhanden, rmc_archiv as archiv FROM [VERAG].[dbo].[tblRMCImport] inner join Adressen on Adressen.WölflKundenNr = rmc_kdNr where 1 = 1 " & sqlfehlendePDF_RMC & IIf(kdNr > 0, " AND AdressenNr=" & kdNr, "") & " and [rmc_reDatum] " & setSQLWhere(SDLNrTmp, "rmc_landKZ") & whereKundennrKreisLieferanten & " order by rmc_reDatum desc, rmc_reNr"
"Adressen.AdressenNr, Adressen.[Name 1],[rmc_reDatum] as Rechnungsdatum,[rmc_reNr] as Rechnungsnummer,rmc_kdNr as Kundennummer,[rmc_betragNetto] as Nettobetrag,[rmc_betragBrutto] as Bruttobetrag,[rmc_waehrung] as Währung ,[rmc_euroBrutto] as Bruttobetrag,[rmc_daId] as daId,[rmc_betragMWST] as MWST,rmc_landKZ as Land, cast(case when [rmc_daId] is not null then 1 else 0 end as bit) as PDFvorhanden, rmc_archiv as archiv, cast(case when InvToCustomer is not null then 1 else 0 end as bit) as OrigRE FROM [VERAG].[dbo].[tblRMCImport] inner join Adressen on Adressen.WölflKundenNr = rmc_kdNr where 1 = 1 " & sqlfehlendePDF_RMC & IIf(kdNr > 0, " AND AdressenNr=" & kdNr, "") & " and [rmc_reDatum] " & setSQLWhere(SDLNrTmp, "rmc_landKZ") & whereKundennrKreisLieferanten & " order by rmc_reDatum desc, rmc_reNr"
Case "ALLE" : Dim anzahl As Integer = anzahlTop / 6 : SQL_STR = " select * from (SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") &
"
--IDS
'IDS' as Lieferant,invoice_id,[tbl_IDS_Kunden].KdNrVERAG as AdressenNr, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer,tblIDSInvoicesNew.CustomerCode as Kundennummer,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt,'' as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblIDSInvoicesNew inner join [VERAG].[dbo].[tbl_IDS_Kunden] on tblIDSInvoicesNew.CustomerCode = tbl_IDS_Kunden.CustomerCode WHERE tblIDSInvoicesNew.[CustomerCode] in (SELECT [CustomerCode] FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE 1 = 1 and isnull([tbl_IDS_Kunden].KdNrAlt, 1) = 0 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [KdNrVERAG]=" & kdNr, "") & " ) and [YearMonthDay] " & setSQLWhere("IDS", "") & whereKundennrKreisLieferanten & " -- order by [YearMonthDay], [Invoicenumber]
'IDS' as Lieferant,invoice_id,[tbl_IDS_Kunden].KdNrVERAG as AdressenNr, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer,tblIDSInvoicesNew.CustomerCode as Kundennummer,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt,'' as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(1 as bit) as OrigRE FROM tblIDSInvoicesNew inner join [VERAG].[dbo].[tbl_IDS_Kunden] on tblIDSInvoicesNew.CustomerCode = tbl_IDS_Kunden.CustomerCode WHERE tblIDSInvoicesNew.[CustomerCode] in (SELECT [CustomerCode] FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE 1 = 1 and isnull([tbl_IDS_Kunden].KdNrAlt, 1) = 0 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [KdNrVERAG]=" & kdNr, "") & " ) and [YearMonthDay] " & setSQLWhere("IDS", "") & whereKundennrKreisLieferanten & " -- order by [YearMonthDay], [Invoicenumber]
UNION ALL
--MSE
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'MSE' as Lieferant,-1 as invoice_id,partner_customer_number as AdressenNr, [invoice_date] as Rechnungsdatum, cast([invoice_id] as nvarchar) as Rechnungsnummer,[customer_number] as Kundennummer, [total_amount_euro] as Bruttobetrag ,(total_amount_euro - [total_vat_amount_euro]) as Nettobetrag ,[total_vat_amount_euro] as MWST,[country] as Land,'RE' as Art,daId, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblMSEInvoices inner join tblMSECustomers on customer_id = [customer_number] where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [partner_customer_number]=" & kdNr, "") & " and [invoice_date] " & setSQLWhere("MSE", "country") & whereKundennrKreisLieferanten & " --order by invoice_date, invoice_id
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'MSE' as Lieferant,-1 as invoice_id,partner_customer_number as AdressenNr, [invoice_date] as Rechnungsdatum, cast([invoice_id] as nvarchar) as Rechnungsnummer,[customer_number] as Kundennummer, [total_amount_euro] as Bruttobetrag ,(total_amount_euro - [total_vat_amount_euro]) as Nettobetrag ,[total_vat_amount_euro] as MWST,[country] as Land,'RE' as Art,daId, cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(case when InvToCustomer is not null then 1 else 0 end as bit) as OrigRE FROM tblMSEInvoices inner join tblMSECustomers on customer_id = [customer_number] where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [partner_customer_number]=" & kdNr, "") & " and [invoice_date] " & setSQLWhere("MSE", "country") & whereKundennrKreisLieferanten & " --order by invoice_date, invoice_id
UNION ALL
--UTA
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'UTA' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, [Rechnungsdatum],STR([Rechnungsnummer_pro_Lieferland]) as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[Lieferland_ISO2] as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [AdressenNr]=" & kdNr, "") & " and [Rechnungsdatum] " & setSQLWhere("UTA", "Lieferland_ISO2") & whereKundennrKreisLieferanten & " group by [Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,AdressenNr,[daId],[Lieferland_ISO2] UNION ALL SELECT 'UTA',-1,AdressenNr, [Datum], cast([RechnungsNr] as nvarchar) ,[KundenNr],0,0,0,'',[DocumentTyp],[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM [VERAG].[dbo].[tblUTADocuments] inner join adressen on KundenNr = UTAKundenNr where AdressenNr = " & kdNr & " AND Datum " & setSQLWhere("UTA_", "") & whereKundennrKreisLieferanten & " --order by Rechnungsnummer desc
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'UTA' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, [Rechnungsdatum],STR([Rechnungsnummer_pro_Lieferland]) as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[Lieferland_ISO2] as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(case when InvToCustomer is not null then 1 else 0 end as bit) as OrigRE FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where 1 = 1 " & sqlfehlendePDF & IIf(kdNr > 0, " AND [AdressenNr]=" & kdNr, "") & " and [Rechnungsdatum] " & setSQLWhere("UTA", "Lieferland_ISO2") & whereKundennrKreisLieferanten & " group by [Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,AdressenNr,[daId],[Lieferland_ISO2], InvToCustomer UNION ALL SELECT 'UTA',-1,AdressenNr, [Datum], cast([RechnungsNr] as nvarchar) ,[KundenNr],0,0,0,'',[DocumentTyp],[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(0 as bit) as OrigRE FROM [VERAG].[dbo].[tblUTADocuments] inner join adressen on KundenNr = UTAKundenNr where AdressenNr = " & kdNr & " AND Datum " & setSQLWhere("UTA_", "") & whereKundennrKreisLieferanten & " --order by Rechnungsnummer desc
UNION ALL
--VERAG
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'VERAG' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, tblTrdinInvoice.Rechnungsdatum, cast(tblTrdinInvoice.Rechnungsnummer as nvarchar) as Rechnungsnummer ,tblTrdinInvoice.KundenNrZentrale as Kundennummer, tblTrdinInvoice.SteuerpflichtigerBetragLokal + tblTrdinInvoice.SteuerfreierBetragLokal as Bruttobetrag ,tblTrdinInvoice.SteuerpflichtigerBetragLokal + tblTrdinInvoice.SteuerfreierBetragLokal - tblTrdinInvoice.SteuerbetragLokal as Nettobetrag ,tblTrdinInvoice.SteuerbetragLokal as MWST, 'AT' as Land, 'RE' as Art, 1 as daId, cast(1 as bit) PDFvorhanden FROM tblTrdinInvoice inner join Adressen on KundenNrZentrale = AdressenNr WHERE 1 = 1 " & sqlfehlendePDF_VERAG & IIf(kdNr > 0, " AND tblTrdinInvoice.RechnungsKundenNr=" & kdNr, "") & " and tblTrdinInvoice.Rechnungsdatum " & setSQLWhere("VERAG", "'AT'") & whereKundennrKreisLieferanten & " AND tblTrdinInvoice.FilialenNr = 4814 --ORDER BY tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'VERAG' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, tblTrdinInvoice.Rechnungsdatum, cast(tblTrdinInvoice.Rechnungsnummer as nvarchar) as Rechnungsnummer ,tblTrdinInvoice.KundenNrZentrale as Kundennummer, tblTrdinInvoice.SteuerpflichtigerBetragLokal + tblTrdinInvoice.SteuerfreierBetragLokal as Bruttobetrag ,tblTrdinInvoice.SteuerpflichtigerBetragLokal + tblTrdinInvoice.SteuerfreierBetragLokal - tblTrdinInvoice.SteuerbetragLokal as Nettobetrag ,tblTrdinInvoice.SteuerbetragLokal as MWST, 'AT' as Land, 'RE' as Art, 1 as daId, cast(1 as bit) PDFvorhanden, cast(0 as bit) as OrigRE FROM tblTrdinInvoice inner join Adressen on KundenNrZentrale = AdressenNr WHERE 1 = 1 " & sqlfehlendePDF_VERAG & IIf(kdNr > 0, " AND tblTrdinInvoice.RechnungsKundenNr=" & kdNr, "") & " and tblTrdinInvoice.Rechnungsdatum " & setSQLWhere("VERAG", "'AT'") & whereKundennrKreisLieferanten & " AND tblTrdinInvoice.FilialenNr = 4814 --ORDER BY tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer
UNION ALL
--PLOSE
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'PLOSE' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, [plInv_SupplierRechnungsDatum] as Rechnungsdatum, cast([plInv_SupplierRechnungsNr] as nvarchar) as Rechnungsnummer,[plInv_PLOSEKundennummer] as Kundennummer,[plInv_Bruttobetrag] as Bruttobetrag,[plInv_Nettobetrag] as Nettobetrag,[plInv_MWSTBetrag] as MWST, [plInv_SupplierCountry] as Land, 'RE' as Art,[plInv_daId] as daId, cast(case when [plInv_daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM tblPLOSE_Inv_Data inner join Adressen on Adressen.PLOSEKundenNr = plInv_PLOSEKundennummer where 1 = 1 " & sqlfehlendePDF_PLOSE & IIf(kdNr > 0, " AND Adressen.AdressenNr=" & kdNr, "") & " and [plInv_SupplierRechnungsDatum] " & setSQLWhere("PLOSE", "plInv_SupplierCountry") & whereKundennrKreisLieferanten & "-- Order by plInv_SupplierRechnungsDatum desc, [plInv_SupplierRechnungsNr]
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'PLOSE' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, [plInv_SupplierRechnungsDatum] as Rechnungsdatum, cast([plInv_SupplierRechnungsNr] as nvarchar) as Rechnungsnummer,[plInv_PLOSEKundennummer] as Kundennummer,[plInv_Bruttobetrag] as Bruttobetrag,[plInv_Nettobetrag] as Nettobetrag,[plInv_MWSTBetrag] as MWST, [plInv_SupplierCountry] as Land, 'RE' as Art,[plInv_daId] as daId, cast(case when [plInv_daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(case when plInv_InvToCustomer is not null then 1 else 0 end as bit) as OrigRE FROM tblPLOSE_Inv_Data inner join Adressen on Adressen.PLOSEKundenNr = plInv_PLOSEKundennummer where 1 = 1 " & sqlfehlendePDF_PLOSE & IIf(kdNr > 0, " AND Adressen.AdressenNr=" & kdNr, "") & " and [plInv_SupplierRechnungsDatum] " & setSQLWhere("PLOSE", "plInv_SupplierCountry") & whereKundennrKreisLieferanten & "-- Order by plInv_SupplierRechnungsDatum desc, [plInv_SupplierRechnungsNr]
UNION ALL
--RMC
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'RMC' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, [rmc_reDatum] as Rechnungsdatum,cast([rmc_reNr] as nvarchar) as Rechnungsnummer,rmc_kdNr as Kundennummer ,[rmc_betragBrutto] as Bruttobetrag,[rmc_betragNetto] as Nettobetrag,[rmc_betragMWST] as MWST, rmc_landKZ as Land, 'RE' as Art, [rmc_daId] as daId, cast(case when [rmc_daId] is not null then 1 else 0 end as bit) as PDFvorhanden FROM [VERAG].[dbo].[tblRMCImport] inner join Adressen on Adressen.WölflKundenNr = rmc_kdNr where 1 = 1 " & sqlfehlendePDF_RMC & IIf(kdNr > 0, " AND AdressenNr=" & kdNr, "") & " and [rmc_reDatum] " & setSQLWhere("RMC", "rmc_landKZ") & whereKundennrKreisLieferanten & "-- order by rmc_reDatum, rmc_reNr
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'RMC' as Lieferant,-1 as invoice_id,Adressen.AdressenNr, [rmc_reDatum] as Rechnungsdatum,cast([rmc_reNr] as nvarchar) as Rechnungsnummer,rmc_kdNr as Kundennummer ,[rmc_betragBrutto] as Bruttobetrag,[rmc_betragNetto] as Nettobetrag,[rmc_betragMWST] as MWST, rmc_landKZ as Land, 'RE' as Art, [rmc_daId] as daId, cast(case when [rmc_daId] is not null then 1 else 0 end as bit) as PDFvorhanden, cast(case when InvToCustomer is not null then 1 else 0 end as bit) as OrigRE FROM [VERAG].[dbo].[tblRMCImport] inner join Adressen on Adressen.WölflKundenNr = rmc_kdNr where 1 = 1 " & sqlfehlendePDF_RMC & IIf(kdNr > 0, " AND AdressenNr=" & kdNr, "") & " and [rmc_reDatum] " & setSQLWhere("RMC", "rmc_landKZ") & whereKundennrKreisLieferanten & "-- order by rmc_reDatum, rmc_reNr
) as temp where 1=1 and temp.Rechnungsdatum" & setSQLWhere(SDLNrTmp, "temp.Land") & whereKundennrKreisAlle & " order by Rechnungsdatum desc"
@@ -371,85 +371,113 @@ Public Class usrcntlFremdrechnungen
'das hier geht (aktuell) nur PRO KUNDE -> ALSO nicht in der Gesamtübersicht!!!!!!!!
Dim SQLWhere = " between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "'"
'If aktLieferant <> "IDS" Then 'IDS Default auf True gesetzt!
If cbx.Checked AndAlso aktLieferant <> "IDS" AndAlso KUNDE IsNot Nothing Then
Dim erw As New cKundenErweitert(KUNDE.KundenNr)
If erw.kde_keineMWSt Then Return SQLWhere
Dim invToCustomer As String = ""
SQLWhere &= "AND ("
'ORIGINAL-RECHNUNG senden wenn:
'1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
Select Case cbx.CheckState
' Case CheckState.Unchecked : invToCustomer = "0" Hier alle anzeigen!!!
Case CheckState.Checked : invToCustomer = "1"
End Select
Dim landKZiso2 = ""
If invToCustomer <> "" Then
If land <> "" Then 'LandKZ vom Kunden muss auf ISO2 konvertiert werden, weil da ein Misch-Masch in der Datenbank herrscht!
If KUNDE.LandKz <> "" Then
If KUNDE.LandKz.Length = 2 Then
landKZiso2 = KUNDE.LandKz
ElseIf KUNDE.LandKz.Length = 3 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
ElseIf KUNDE.LandKz.Length = 1 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
End If
SQLWhere &= " " & land & " in ('" & landKZiso2 & "')"
End If
End If
'2. wenn die Rechnung die MWST-SUMME 0 aufweist!!!
Select Case aktLieferant
Case "UTA" : SQLWhere &= " OR Gesamtbetrag_Umsatzsteuer_in_Darstellwährung = 0 " 'UTA bei UTA auch EPN ausblenden!
Case "PLOSE" : SQLWhere &= " OR plInv_MWSTBetrag = 0" 'PLOSE
Case "VERAG" : SQLWhere &= " OR tblTrdinInvoice.SteuerbetragLokal = 0" 'VERAG
Case "MSE" : SQLWhere &= " OR total_vat_amount_euro = 0" 'MSE
Case "RMC" : SQLWhere &= " OR rmc_betragMWST = 0" 'RMC
Case "ALLE" : SQLWhere &= " OR temp.MWSt = 0" 'ALLE
Case "UTA_" : SQLWhere &= " 1 <> 1"
Case Else : SQLWhere &= " 1 <> 1"
Select Case aktLieferant
'Case "IDS" : SQLWhere &= " AND isnull(InvToCustomer,0) =" & invToCustomer
Case "PLOSE" : SQLWhere &= " AND isnull(plInv_InvToCustomer,0) =" & invToCustomer
Case "MSE" : SQLWhere &= " AND isnull(InvToCustomer,0) =" & invToCustomer
Case "RMC" : SQLWhere &= " AND isnull(InvToCustomer,0) =" & invToCustomer
Case "UTA" : SQLWhere &= " AND isnull(InvToCustomer,0) =" & invToCustomer
Case "VERAG" : SQLWhere &= " AND 1 <> " & invToCustomer
Case "_" : SQLWhere &= " AND 1 <> " & invToCustomer
Case "UTA_" : SQLWhere &= " AND 1 <> " & invToCustomer
End Select
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "'").CopyToDataTable
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtkeineMWST_ohneContraint.Rows
landBez &= "'" & row.Item("Erstattungsland") & "'"
counter = counter + 1
If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= ","
Next
SQLWhere &= " OR " & land & " in (" & landBez & ")"
If aktLieferant = "ALLE" Then SQLWhere &= " OR " & land & " in ('')" 'damit IDS ohne Land nicht ausgeschlossen wird.
End If
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
If dtKundeMWST IsNot Nothing Then
If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtKundeMWST.Rows
landBez &= "'" & row.Item("LandKz") & "'"
counter = counter + 1
If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= ","
Next
SQLWhere &= " OR " & land & " in (" & landBez & ")"
End If
End If
SQLWhere &= ")"
'If cbx.Checked AndAlso aktLieferant <> "IDS" AndAlso KUNDE IsNot Nothing Then
' wird nicht mehr benötigt weil Info direkt in DB gespeichert wird!
'Dim erw As New cKundenErweitert(KUNDE.KundenNr)
'If erw.kde_keineMWSt Then Return SQLWhere
'SQLWhere &= "AND ("
''ORIGINAL-RECHNUNG senden wenn:
''1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
'Dim landKZiso2 = ""
'If land <> "" Then 'LandKZ vom Kunden muss auf ISO2 konvertiert werden, weil da ein Misch-Masch in der Datenbank herrscht!
' If KUNDE.LandKz <> "" Then
' If KUNDE.LandKz.Length = 2 Then
' landKZiso2 = KUNDE.LandKz
' ElseIf KUNDE.LandKz.Length = 3 Then
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
' ElseIf KUNDE.LandKz.Length = 1 Then
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
' End If
' SQLWhere &= " " & land & " in ('" & landKZiso2 & "')"
' End If
'End If
''2. wenn die Rechnung die MWST-SUMME 0 aufweist!!!
'Select Case aktLieferant
' Case "UTA" : SQLWhere &= " OR Gesamtbetrag_Umsatzsteuer_in_Darstellwährung = 0 " 'UTA bei UTA auch EPN ausblenden!
' Case "PLOSE" : SQLWhere &= " OR plInv_MWSTBetrag = 0" 'PLOSE
' Case "VERAG" : SQLWhere &= " OR tblTrdinInvoice.SteuerbetragLokal = 0" 'VERAG
' Case "MSE" : SQLWhere &= " OR total_vat_amount_euro = 0" 'MSE
' Case "RMC" : SQLWhere &= " OR rmc_betragMWST = 0" 'RMC
' Case "ALLE" : SQLWhere &= " OR temp.MWSt = 0" 'ALLE
' Case "UTA_" : SQLWhere &= " 1 <> 1"
' Case Else : SQLWhere &= " 1 <> 1"
'End Select
''3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
'If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
' Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "'").CopyToDataTable
' Dim counter = 0
' Dim landBez As String = ""
' For Each row As DataRow In dtkeineMWST_ohneContraint.Rows
' landBez &= "'" & row.Item("Erstattungsland") & "'"
' counter = counter + 1
' If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= ","
' Next
' SQLWhere &= " OR " & land & " in (" & landBez & ")"
' If aktLieferant = "ALLE" Then SQLWhere &= " OR " & land & " in ('')" 'damit IDS ohne Land nicht ausgeschlossen wird.
'End If
''4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
'If dtKundeMWST IsNot Nothing Then
' If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
' Dim counter = 0
' Dim landBez As String = ""
' For Each row As DataRow In dtKundeMWST.Rows
' landBez &= "'" & row.Item("LandKz") & "'"
' counter = counter + 1
' If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= ","
' Next
' SQLWhere &= " OR " & land & " in (" & landBez & ")"
' End If
'End If
'SQLWhere &= ")"
'nicht NOTWENDIG!
'Select Case KUNDE.LandKz
' Case "SRB", "BIH", "MK", "MNE", "TR"
' If land <> "" Then SQLWhere &= " AND " & land & " not in('AT','CH', 'CZ', 'DE', 'EE', 'ES', 'IE', 'LT', 'LV', 'NRW', 'NO', 'OT', 'RS', 'UA', " & IIf(KUNDE.LandKz = "SRB", "'BG', 'HU', 'RO', 'SI', 'SK'", "") & IIf(KUNDE.LandKz = "BIH", "'SK'", "") & IIf(KUNDE.LandKz = "TR", "'HU', 'SI', 'SK'", "") & IIf(KUNDE.LandKz = "MNE", "'PL', 'SI'", "") & IIf(KUNDE.LandKz = "MK", "'BG', 'PL','SI'", "") & ")"
'End Select
' 'nicht NOTWENDIG!
' 'Select Case KUNDE.LandKz
' ' Case "SRB", "BIH", "MK", "MNE", "TR"
' ' If land <> "" Then SQLWhere &= " AND " & land & " not in('AT','CH', 'CZ', 'DE', 'EE', 'ES', 'IE', 'LT', 'LV', 'NRW', 'NO', 'OT', 'RS', 'UA', " & IIf(KUNDE.LandKz = "SRB", "'BG', 'HU', 'RO', 'SI', 'SK'", "") & IIf(KUNDE.LandKz = "BIH", "'SK'", "") & IIf(KUNDE.LandKz = "TR", "'HU', 'SI', 'SK'", "") & IIf(KUNDE.LandKz = "MNE", "'PL', 'SI'", "") & IIf(KUNDE.LandKz = "MK", "'BG', 'PL','SI'", "") & ")"
' 'End Select
End If
'End If
Return SQLWhere
Return SQLWhere
End Function
@@ -458,101 +486,120 @@ Public Class usrcntlFremdrechnungen
'das hier ist nur PRO KUNDE möglich!!!
'Ob orig-Rechnung wird nun in der Datenbank gesetzt!!!!
' wird nicht mehr benötigt weil Info direkt in DB gespeichert wird!
Dim SQLWhere = ""
If (cbx.Checked AndAlso KUNDE IsNot Nothing AndAlso KUNDE.KundenNr > 0 OrElse cbx.Checked AndAlso KundenNr_Input > 0) Then
Dim checkKundenNR As Integer = -1
If KUNDE.KundenNr > 0 Then
checkKundenNR = KUNDE.KundenNr
ElseIf KundenNr_Input > 0 Then
checkKundenNR = KundenNr_Input
KUNDE = kundenSQL.getKundeByKdNr(KundenNr_Input)
End If
Dim invToCustomer As String = ""
Dim erw As New cKundenErweitert(checkKundenNR)
If erw.kde_keineMWSt Then Return SQLWhere
SQLWhere &= "AND ("
'ORIGINAL-RECHNUNG senden wenn:
'1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
Dim landKZiso2 = ""
Select Case cbx.CheckState
'Case CheckState.Unchecked : invToCustomer = "0"
Case CheckState.Checked : invToCustomer = "1"
End Select
If KUNDE.LandKz <> "" Then
If invToCustomer <> "" Then
SQLWhere &= " AND isnull(InvToCustomer,0) =" & invToCustomer
If KUNDE.LandKz.Length = 2 Then
landKZiso2 = KUNDE.LandKz
ElseIf KUNDE.LandKz.Length = 3 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
ElseIf KUNDE.LandKz.Length = 1 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
End If
If land <> "" Then SQLWhere &= " " & land & " in ('" & landKZiso2 & "')"
End If
'2. wenn die Rechnung die Summe NULL aufweist
Select Case aktLieferant
Case "IDS" : If Not alle Then SQLWhere &= " OR [AmminclVAT] = 0" 'IDS
End Select
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt (auch nicht auf Diesel -> IDS)
If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
Dim dtkeineMWST_IDS As DataTable = dtkeineMWST.Select("Lieferant = '' AND Land = '" & landKZiso2 & "'").CopyToDataTable
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtkeineMWST_IDS.Rows
landBez &= "'" & row.Item("Erstattungsland") & "'"
counter = counter + 1
If (dtkeineMWST_IDS.Rows.Count <> 0 And counter <> dtkeineMWST_IDS.Rows.Count) Then landBez &= ","
Next
SQLWhere &= " OR " & land & " in (" & landBez & ")"
End If
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
If dtKundeMWST Is Nothing Then
If dtKundeMWSTTemp IsNot Nothing Then
If land <> "" AndAlso dtKundeMWSTTemp.Rows.Count > 0 Then
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtKundeMWSTTemp.Rows
landBez &= "'" & row.Item("LandKz") & "'"
counter = counter + 1
If (dtKundeMWSTTemp.Rows.Count <> 0 And counter <> dtKundeMWSTTemp.Rows.Count) Then landBez &= ","
Next
SQLWhere &= " OR " & land & " in (" & landBez & ")"
End If
SQLWhere &= ")"
End If
Else
If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtKundeMWST.Rows
landBez &= "'" & row.Item("LandKz") & "'"
counter = counter + 1
If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= ","
Next
SQLWhere &= " OR " & land & " in (" & landBez & ")"
End If
SQLWhere &= ")"
End If
End If
If dtKundeMWST Is Nothing AndAlso dtKundeMWSTTemp Is Nothing Then
SQLWhere &= ")"
End If
'If (cbx.Checked AndAlso KUNDE IsNot Nothing AndAlso KUNDE.KundenNr > 0 OrElse cbx.Checked AndAlso KundenNr_Input > 0) Then
' Dim checkKundenNR As Integer = -1
' If KUNDE.KundenNr > 0 Then
' checkKundenNR = KUNDE.KundenNr
' ElseIf KundenNr_Input > 0 Then
' checkKundenNR = KundenNr_Input
' KUNDE = kundenSQL.getKundeByKdNr(KundenNr_Input)
' End If
' Dim erw As New cKundenErweitert(checkKundenNR)
' If erw.kde_keineMWSt Then Return SQLWhere
' SQLWhere &= "AND ("
' 'ORIGINAL-RECHNUNG senden wenn:
' '1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
' Dim landKZiso2 = ""
' If KUNDE.LandKz <> "" Then
' If KUNDE.LandKz.Length = 2 Then
' landKZiso2 = KUNDE.LandKz
' ElseIf KUNDE.LandKz.Length = 3 Then
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
' ElseIf KUNDE.LandKz.Length = 1 Then
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
' End If
' If land <> "" Then SQLWhere &= " " & land & " in ('" & landKZiso2 & "')"
' End If
' '2. wenn die Rechnung die Summe NULL aufweist
' Select Case aktLieferant
' Case "IDS" : If Not alle Then SQLWhere &= " OR [AmminclVAT] = 0" 'IDS
' End Select
' '3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt (auch nicht auf Diesel -> IDS)
' If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
' Dim dtkeineMWST_IDS As DataTable = dtkeineMWST.Select("Lieferant = '' AND Land = '" & landKZiso2 & "'").CopyToDataTable
' Dim counter = 0
' Dim landBez As String = ""
' For Each row As DataRow In dtkeineMWST_IDS.Rows
' landBez &= "'" & row.Item("Erstattungsland") & "'"
' counter = counter + 1
' If (dtkeineMWST_IDS.Rows.Count <> 0 And counter <> dtkeineMWST_IDS.Rows.Count) Then landBez &= ","
' Next
' SQLWhere &= " OR " & land & " in (" & landBez & ")"
' End If
' '4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
' If dtKundeMWST Is Nothing Then
' If dtKundeMWSTTemp IsNot Nothing Then
' If land <> "" AndAlso dtKundeMWSTTemp.Rows.Count > 0 Then
' Dim counter = 0
' Dim landBez As String = ""
' For Each row As DataRow In dtKundeMWSTTemp.Rows
' landBez &= "'" & row.Item("LandKz") & "'"
' counter = counter + 1
' If (dtKundeMWSTTemp.Rows.Count <> 0 And counter <> dtKundeMWSTTemp.Rows.Count) Then landBez &= ","
' Next
' SQLWhere &= " OR " & land & " in (" & landBez & ")"
' End If
' SQLWhere &= ")"
' End If
' Else
' If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
' Dim counter = 0
' Dim landBez As String = ""
' For Each row As DataRow In dtKundeMWST.Rows
' landBez &= "'" & row.Item("LandKz") & "'"
' counter = counter + 1
' If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= ","
' Next
' SQLWhere &= " OR " & land & " in (" & landBez & ")"
' End If
' SQLWhere &= ")"
' End If
'End If
'If dtKundeMWST Is Nothing AndAlso dtKundeMWSTTemp Is Nothing Then
' SQLWhere &= ")"
'End If
Return SQLWhere
@@ -860,107 +907,25 @@ Public Class usrcntlFremdrechnungen
Private Function createEMailTable(ByRef TextHTMLtable As String, kvp As KeyValuePair(Of Object, List(Of DataGridViewRow)), onlyRelevantInvioces As Boolean) As List(Of String)
' wird nicht mehr benötigt weil Info direkt in DB gespeichert wird!
'------------------------------------------------------------
'toDo-Logik für die Ausnahmen - START - wie in Function "setSQLWhere(aktLieferant As String, land As String) As String"
'------------------------------------------------------------
'Dim landKZiso2 = ""
'Dim KUNDE_TEMP As cKunden
'KUNDE_TEMP = kundenSQL.getKundeByKdNr(kvp.Key)
'1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
Dim landKZiso2 = ""
Dim KUNDE_TEMP As cKunden
KUNDE_TEMP = kundenSQL.getKundeByKdNr(kvp.Key)
If KUNDE_TEMP.LandKz <> "" Then
If KUNDE_TEMP.LandKz.Length = 2 Then
landKZiso2 = KUNDE_TEMP.LandKz
ElseIf KUNDE_TEMP.LandKz.Length = 3 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE_TEMP.LandKz)
ElseIf KUNDE_TEMP.LandKz.Length = 1 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE_TEMP.LandKz)
End If
End If
Dim dtKundeMWSTTemp As DataTable = (New SQL).loadDgvBySql("select LandKz from tblKundenMWST where KdNr = " & KUNDE_TEMP.KundenNr, "FMZOLL")
'2. wenn die Rechnung die Summe NULL aufweist
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt (auch nicht auf Diesel -> IDS)
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
'If cbx.Checked AndAlso aktLieferant <> "IDS" AndAlso KUNDE IsNot Nothing Then
' Dim erw As New cKundenErweitert(KUNDE.KundenNr)
' If erw.kde_keineMWSt Then Return SQLWhere
' SQLWhere &= "AND ("
' 'ORIGINAL-RECHNUNG senden wenn:
' '1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
' Dim landKZiso2 = ""
' If LAND <> "" Then 'LandKZ vom Kunden muss auf ISO2 konvertiert werden, weil da ein Misch-Masch in der Datenbank herrscht!
' If KUNDE.LandKz <> "" Then
' If KUNDE.LandKz.Length = 2 Then
' landKZiso2 = KUNDE.LandKz
' ElseIf KUNDE.LandKz.Length = 3 Then
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
' ElseIf KUNDE.LandKz.Length = 1 Then
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
' End If
' SQLWhere &= " " & LAND & " in ('" & landKZiso2 & "')"
' End If
'If KUNDE_TEMP.LandKz <> "" Then
' If KUNDE_TEMP.LandKz.Length = 2 Then
' landKZiso2 = KUNDE_TEMP.LandKz
' ElseIf KUNDE_TEMP.LandKz.Length = 3 Then
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE_TEMP.LandKz)
' ElseIf KUNDE_TEMP.LandKz.Length = 1 Then
' landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE_TEMP.LandKz)
' End If
' '2. wenn die Rechnung die MWST-SUMME 0 aufweist!!!
' Select Case aktLieferant
' Case "UTA" : SQLWhere &= " OR Gesamtbetrag_Umsatzsteuer_in_Darstellwährung = 0 " 'UTA bei UTA auch EPN ausblenden!
' Case "PLOSE" : SQLWhere &= " OR plInv_MWSTBetrag = 0" 'PLOSE
' Case "VERAG" : SQLWhere &= " OR tblTrdinInvoice.SteuerbetragLokal = 0" 'VERAG
' Case "MSE" : SQLWhere &= " OR total_vat_amount_euro = 0" 'MSE
' Case "RMC" : SQLWhere &= " OR rmc_betragMWST = 0" 'RMC
' Case "ALLE" : SQLWhere &= " OR temp.MWSt = 0" 'ALLE
' Case "UTA_" : SQLWhere &= " 1 <> 1"
' Case Else : SQLWhere &= " 1 <> 1"
' End Select
' '3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
' If LAND <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
' Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "'").CopyToDataTable
' Dim counter = 0
' Dim landBez As String = ""
' For Each row As DataRow In dtkeineMWST_ohneContraint.Rows
' landBez &= "'" & row.Item("Erstattungsland") & "'"
' counter = counter + 1
' If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= ","
' Next
' SQLWhere &= " OR " & LAND & " in (" & landBez & ")"
' If aktLieferant = "ALLE" Then SQLWhere &= " OR " & LAND & " in ('')" 'damit IDS ohne Land nicht ausgeschlossen wird.
' End If
' '4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
' If LAND <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
' Dim counter = 0
' Dim landBez As String = ""
' For Each row As DataRow In dtKundeMWST.Rows
' landBez &= "'" & row.Item("LandKz") & "'"
' counter = counter + 1
' If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= ","
' Next
' SQLWhere &= " OR " & LAND & " in (" & landBez & ")"
' End If
' SQLWhere &= ")"
'------------------------------------------------------------
'toDo-Logik für die Ausnahmen - END
'------------------------------------------------------------
'End If
'Dim dtKundeMWSTTemp As DataTable = (New SQL).loadDgvBySql("select LandKz from tblKundenMWST where KdNr = " & KUNDE_TEMP.KundenNr, "FMZOLL")
TextHTMLtable &= "<table border=1>"
@@ -990,33 +955,33 @@ Public Class usrcntlFremdrechnungen
'ORIGINAL-RECHNUNG senden wenn:
If onlyRelevantInvioces Then
'1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
If Not sendÍnvoice AndAlso row.Cells("Land").Value <> "" AndAlso landKZiso2 = row.Cells("Land").Value Then sendÍnvoice = True
''1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
'If Not sendÍnvoice AndAlso row.Cells("Land").Value <> "" AndAlso landKZiso2 = row.Cells("Land").Value Then sendÍnvoice = True
'2. wenn die Rechnung die MWST-SUMME 0 aufweist!!!
If Not sendÍnvoice AndAlso row.Cells("MWSt").Value = 0 Then sendÍnvoice = True
''2. wenn die Rechnung die MWST-SUMME 0 aufweist!!!
'If Not sendÍnvoice AndAlso row.Cells("MWSt").Value = 0 Then sendÍnvoice = True
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt -> dtkeineMWST
If Not sendÍnvoice AndAlso landKZiso2 <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
Dim rows() As DataRow = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "' and Erstattungsland = '" & row.Cells("Land").Value & "'")
Dim dtkeineMWST_ohneContraint As New DataTable
If rows.Length > 0 Then dtkeineMWST_ohneContraint = rows.CopyToDataTable()
If dtkeineMWST_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True
End If
' '3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt -> dtkeineMWST
' If Not sendÍnvoice AndAlso landKZiso2 <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
' Dim rows() As DataRow = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "' and Erstattungsland = '" & row.Cells("Land").Value & "'")
' Dim dtkeineMWST_ohneContraint As New DataTable
' If rows.Length > 0 Then dtkeineMWST_ohneContraint = rows.CopyToDataTable()
' If dtkeineMWST_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True
' End If
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
' '4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
If Not sendÍnvoice AndAlso landKZiso2 <> "" AndAlso dtKundeMWSTTemp.Rows.Count > 0 Then
Dim rows() As DataRow = dtKundeMWSTTemp.Select("LandKz = '" & row.Cells("Land").Value & "'")
Dim dtKundeMWSTTemp_ohneContraint As New DataTable
If rows.Length > 0 Then dtKundeMWSTTemp_ohneContraint = rows.CopyToDataTable()
If dtKundeMWSTTemp_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True
End If
' If Not sendÍnvoice AndAlso landKZiso2 <> "" AndAlso dtKundeMWSTTemp.Rows.Count > 0 Then
' Dim rows() As DataRow = dtKundeMWSTTemp.Select("LandKz = '" & row.Cells("Land").Value & "'")
' Dim dtKundeMWSTTemp_ohneContraint As New DataTable
' If rows.Length > 0 Then dtKundeMWSTTemp_ohneContraint = rows.CopyToDataTable()
' If dtKundeMWSTTemp_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True
' End If
End If
End If
If Lieferant = "VERAG" Then
If Lieferant = "VERAG" Then
'VERAG IGNORIEREN
'Dim ReDat = row.Cells("Rechnungsdatum").Value
@@ -1035,7 +1000,7 @@ Public Class usrcntlFremdrechnungen
'IDS hat wieder sonderlogik
Dim dt As New DataTable
dt = initDGVRechnungsdetails(row.Cells("invoice_id").Value, True, kvp.Key, dtKundeMWSTTemp)
dt = initDGVRechnungsdetails(row.Cells("invoice_id").Value, True, kvp.Key)
For Each r As DataRow In dt.Rows
@@ -1059,8 +1024,8 @@ Public Class usrcntlFremdrechnungen
Next
Else
If sendÍnvoice Then
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & Lieferant & "</b></td>"
TextHTMLtable &= "<td><b>" & row.Cells("Land").Value & "</b></td>"
TextHTMLtable &= "<td><b>" & row.Cells("Rechnungsdatum").Value & "</b></td>"
@@ -1076,7 +1041,7 @@ Public Class usrcntlFremdrechnungen
TextHTMLtable &= "</tr>"
End If
End If
@@ -1485,10 +1450,8 @@ Public Class usrcntlFremdrechnungen
End If
Dim sql = " select [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer, CustomerCode as Kundennummer,[daId],[TransactionVolume] as Transaktionsmenge,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt,
cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden,[Country] as Land
cast(case when [daId] is not null then 1 else 0 end as bit) as PDFvorhanden,cast(case when InvToCustomer is not null then 1 else 0 end as bit) as OrigRE ,[Country] as Land
FROM [VERAG].[dbo].[tblIDSInvoicesNewSplittedByCountry] WHERE [TotalInvoiceId] = " & rechnugnsID & setSQLDetailWhere(aktLieferant, "Country", , KundenNr_Input, dtKundeMWSTTemp)
If setDatatable Then