Fremdrechnungen, offeneAntraege, etc.

This commit is contained in:
2025-03-13 09:12:15 +01:00
parent 6276aee28f
commit 0b9f816fad
4 changed files with 36 additions and 33 deletions

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.3.7.1")> <Assembly: AssemblyVersion("1.3.7.2")>
<Assembly: AssemblyFileVersion("1.3.7.1")> <Assembly: AssemblyFileVersion("1.3.7.2")>

View File

@@ -511,6 +511,8 @@ Public Class frmUSTVoffeneAntraege
Dim sqlwhereLand = "" Dim sqlwhereLand = ""
Dim sqlwhereSteuerNr = "" Dim sqlwhereSteuerNr = ""
Dim kundenLandISO2 As String = ""
Dim SQLPLOSEUMSTELLUNG = "" Dim SQLPLOSEUMSTELLUNG = ""
If kdnr > 0 Then If kdnr > 0 Then
@@ -528,6 +530,15 @@ Public Class frmUSTVoffeneAntraege
If cbxKundeLand._value <> "" Then If cbxKundeLand._value <> "" Then
sqlwhereLand &= " and Kundenland = '" & cbxKundeLand._value & "'" sqlwhereLand &= " and Kundenland = '" & cbxKundeLand._value & "'"
'LandKZ vom Kunden muss auf ISO2 konvertiert werden, weil da ein Misch-Masch in der Datenbank herrscht!
If cbxKundeLand._value.Length = 2 Then
kundenLandISO2 = cbxKundeLand._value
ElseIf cbxKundeLand._value.Length = 3 Then
kundenLandISO2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(cbxKundeLand._value)
ElseIf cbxKundeLand._value.Length = 1 Then
kundenLandISO2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(cbxKundeLand._value)
End If
End If End If
If cbxUStV.Checked Then If cbxUStV.Checked Then
@@ -538,17 +549,18 @@ Public Class frmUSTVoffeneAntraege
sqlwhereLand &= " and isnull(UStVAn_ID,0) = 0 " sqlwhereLand &= " and isnull(UStVAn_ID,0) = 0 "
End If End If
If dtkeineMWST.Rows.Count > 0 AndAlso kundenLandISO2 <> "" Then
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Land = '" & kundenLandISO2 & "'").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
sqlwhereLand &= " AND Einreichland not in (" & landBez & ")"
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant = ''").CopyToDataTable End If
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
sqlwhereLand &= " AND Einreichland not in (" & landBez & ")"
Dim year = CDate(dat_Sum_Von.Value).Year Dim year = CDate(dat_Sum_Von.Value).Year

View File

@@ -337,15 +337,17 @@ Public Class usrcntlFremdrechnungen
'ORIGINAL-RECHNUNG senden wenn: '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…) '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 land <> "" 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 <> "" Then
Dim landKZiso2 = "" Dim landKZiso2 = ""
If KUNDE.LandKz.Length = 2 Then If KUNDE.LandKz.Length = 2 Then
landKZiso2 = KUNDE.LandKz landKZiso2 = KUNDE.LandKz
ElseIf KUNDE.LandKz.Length = 3 Then ElseIf KUNDE.LandKz.Length = 3 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz) landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
ElseIf KUNDE.LandKz.Length = 1 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
End If End If
SQLWhere &= " AND " & land & " not in ('" & landKZiso2 & "')" SQLWhere &= " AND " & land & " not in ('" & landKZiso2 & "')"
@@ -353,7 +355,6 @@ Public Class usrcntlFremdrechnungen
End If End If
'2. wenn die Rechnung die Summe NULL aufweist '2. wenn die Rechnung die Summe NULL aufweist
Select Case aktLieferant Select Case aktLieferant
Case "UTA" : If Not alle Then SQLWhere &= " AND Gesamtbetrag_Brutto_in_Darstellwährung <> 0 AND Art = 'RE'" 'UTA bei UTA auch EPN ausblenden! Case "UTA" : If Not alle Then SQLWhere &= " AND Gesamtbetrag_Brutto_in_Darstellwährung <> 0 AND Art = 'RE'" 'UTA bei UTA auch EPN ausblenden!
Case "PLOSE" : If Not alle Then SQLWhere &= " AND plInv_Bruttobetrag <> 0" 'PLOSE Case "PLOSE" : If Not alle Then SQLWhere &= " AND plInv_Bruttobetrag <> 0" 'PLOSE
@@ -363,17 +364,6 @@ Public Class usrcntlFremdrechnungen
Case "ALLE" : If alle Then SQLWhere &= " AND temp.Nettobetrag <> 0" 'ALLE Case "ALLE" : If alle Then SQLWhere &= " AND temp.Nettobetrag <> 0" 'ALLE
End Select End Select
'Dim counter = 0
'For Each n In List
' gsnr &= n.ToString()
' counter = counter + 1
' If (List.Count <> 0 And counter <> List.Count) Then
' gsnr &= ","
' End If
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt '3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant = ''").CopyToDataTable Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant = ''").CopyToDataTable
@@ -387,10 +377,7 @@ Public Class usrcntlFremdrechnungen
SQLWhere &= " AND " & land & " not in (" & landBez & ")" SQLWhere &= " AND " & land & " not in (" & landBez & ")"
End If 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 land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
Dim counter = 0 Dim counter = 0
Dim landBez As String = "" Dim landBez As String = ""
@@ -432,7 +419,8 @@ Public Class usrcntlFremdrechnungen
landKZiso2 = KUNDE.LandKz landKZiso2 = KUNDE.LandKz
ElseIf KUNDE.LandKz.Length = 3 Then ElseIf KUNDE.LandKz.Length = 3 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz) landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
ElseIf KUNDE.LandKz.Length = 1 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
End If End If
SQLWhere &= " AND " & land & " not in ('" & landKZiso2 & "')" SQLWhere &= " AND " & land & " not in ('" & landKZiso2 & "')"
@@ -440,13 +428,11 @@ Public Class usrcntlFremdrechnungen
End If End If
'2. wenn die Rechnung die Summe NULL aufweist '2. wenn die Rechnung die Summe NULL aufweist
Select Case aktLieferant Select Case aktLieferant
Case "IDS" : If Not alle Then SQLWhere &= " AND [AmminclVAT] <> 0" 'IDS Case "IDS" : If Not alle Then SQLWhere &= " AND [AmminclVAT] <> 0" 'IDS
End Select End Select
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt '3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
Dim dtkeineMWST_IDS As DataTable = dtkeineMWST.Select("Lieferant = 'IDS'").CopyToDataTable Dim dtkeineMWST_IDS As DataTable = dtkeineMWST.Select("Lieferant = 'IDS'").CopyToDataTable
Dim counter = 0 Dim counter = 0
@@ -462,7 +448,6 @@ Public Class usrcntlFremdrechnungen
'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 land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
Dim counter = 0 Dim counter = 0
Dim landBez As String = "" Dim landBez As String = ""

View File

@@ -553,6 +553,12 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
End Function End Function
Shared Function getISO2LandFromISO1Land(Iso1Land As String)
Dim sqlstr = "SELECT TOP 1 isnull([Länderverzeichnis für die Außenhandelsstatistik].LandKz,'') AS LandKzISO2 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE Währungstabelle.LandKz='" & Iso1Land & "' "
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.getValueTxtBySql(sqlstr, "FMZOLL")
End Function
Shared Function getISO1Land(LandKz As String) Shared Function getISO1Land(LandKz As String)
Dim sqlstr = "SELECT TOP 1 isnull(Währungstabelle.LandKz,'') AS LandKzISO1 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE [Länderverzeichnis für die Außenhandelsstatistik].LandKz='" & LandKz & "' " Dim sqlstr = "SELECT TOP 1 isnull(Währungstabelle.LandKz,'') AS LandKzISO1 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE [Länderverzeichnis für die Außenhandelsstatistik].LandKz='" & LandKz & "' "
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL