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:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.3.7.1")>
<Assembly: AssemblyFileVersion("1.3.7.1")>
<Assembly: AssemblyVersion("1.3.7.2")>
<Assembly: AssemblyFileVersion("1.3.7.2")>

View File

@@ -511,6 +511,8 @@ Public Class frmUSTVoffeneAntraege
Dim sqlwhereLand = ""
Dim sqlwhereSteuerNr = ""
Dim kundenLandISO2 As String = ""
Dim SQLPLOSEUMSTELLUNG = ""
If kdnr > 0 Then
@@ -528,6 +530,15 @@ Public Class frmUSTVoffeneAntraege
If cbxKundeLand._value <> "" Then
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
If cbxUStV.Checked Then
@@ -538,17 +549,18 @@ Public Class frmUSTVoffeneAntraege
sqlwhereLand &= " and isnull(UStVAn_ID,0) = 0 "
End If
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant = ''").CopyToDataTable
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") & "'"
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 & ")"
End If
Dim year = CDate(dat_Sum_Von.Value).Year

View File

@@ -337,15 +337,17 @@ Public Class usrcntlFremdrechnungen
'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…)
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
Dim landKZiso2 = ""
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 &= " AND " & land & " not in ('" & landKZiso2 & "')"
@@ -353,7 +355,6 @@ Public Class usrcntlFremdrechnungen
End If
'2. wenn die Rechnung die Summe NULL aufweist
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 "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
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
If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant = ''").CopyToDataTable
@@ -387,10 +377,7 @@ Public Class usrcntlFremdrechnungen
SQLWhere &= " AND " & land & " not in (" & landBez & ")"
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 = ""
@@ -432,7 +419,8 @@ Public Class usrcntlFremdrechnungen
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 &= " AND " & land & " not in ('" & landKZiso2 & "')"
@@ -440,13 +428,11 @@ Public Class usrcntlFremdrechnungen
End If
'2. wenn die Rechnung die Summe NULL aufweist
Select Case aktLieferant
Case "IDS" : If Not alle Then SQLWhere &= " AND [AmminclVAT] <> 0" 'IDS
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_IDS As DataTable = dtkeineMWST.Select("Lieferant = 'IDS'").CopyToDataTable
Dim counter = 0
@@ -462,7 +448,6 @@ Public Class usrcntlFremdrechnungen
'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 = ""

View File

@@ -553,6 +553,12 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
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)
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