ustva, mdm, cFakt, Buchhaltung.

This commit is contained in:
2025-04-24 12:30:50 +02:00
parent d59971583e
commit 09e6b7e3f4
8 changed files with 658 additions and 562 deletions

View File

@@ -3187,7 +3187,7 @@ Public Class cFakturierung
If RechnungsdruckArt <> 7 Then If RechnungsdruckArt <> 7 Then
If Not SRDruckWiederholen And saveInTherefore Then If Not SRDruckWiederholen And saveInTherefore Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
If vbYes = MsgBox("TEST - in Therefore speichern?") Then If vbYes = MsgBox("TEST - in Therefore speichern?", vbYesNo) Then
VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(pathPDF, "SA " & RechnungsNr & " " & dt.Rows(0)("RechnungsName 1"), "", Firma_ID, False) VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(pathPDF, "SA " & RechnungsNr & " " & dt.Rows(0)("RechnungsName 1"), "", Firma_ID, False)
End If End If
Else Else

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.9.0")> <Assembly: AssemblyVersion("1.3.9.1")>
<Assembly: AssemblyFileVersion("1.3.9.0")> <Assembly: AssemblyFileVersion("1.3.9.1")>

File diff suppressed because it is too large Load Diff

View File

@@ -269,11 +269,14 @@ Public Class frmMDM_USTVAntrag
Dim spedBuch As New cSpeditionsbuch(USTV_ANTRAG.FilialenNr, USTV_ANTRAG.AbfertigungsNr, 0) Dim spedBuch As New cSpeditionsbuch(USTV_ANTRAG.FilialenNr, USTV_ANTRAG.AbfertigungsNr, 0)
If spedBuch.hasEntry Then If spedBuch.hasEntry Then
Button4.Text = "Sped.-Buch anzeigen" Button4.Text = "Sped.-Buch anzeigen"
Button5.Visible = True
Else Else
Button4.Text = "Sped.-Buch eintragen" Button4.Text = "Sped.-Buch eintragen"
Button5.Visible = False
End If End If
Else Else
Button4.Text = "Sped.-Buch eintragen" Button4.Text = "Sped.-Buch eintragen"
Button5.Visible = False
End If End If
End If End If
@@ -432,6 +435,29 @@ Public Class frmMDM_USTVAntrag
'init() 'init()
End Sub End Sub
Private Sub UstCntlUSTV_AntragErstattungen1_Changed(POSId) Handles UstCntlUSTV_AntragErstattungen1.CHANGED
Dim posIdinDGV As Boolean = False
For Each r As DataGridViewRow In dgvErstattungspositionen.Rows
If r.Cells("UStVEr_ID").Value = POSId Then
posIdinDGV = True
Exit For
End If
Next
If posIdinDGV Then
dgvUSTVPositionen.VALUE_CHANGED = True
initdgvErstattungen(POSId)
Else
initdgvErstattungen(dgvUSTVPositionen.Rows.Count + 1)
End If
'Dim dgvUSTVPositionen.
'init()
End Sub
Private Sub usrCntlUSTVA_Antrag_Load(sender As Object, e As EventArgs) Handles MyBase.Load Private Sub usrCntlUSTVA_Antrag_Load(sender As Object, e As EventArgs) Handles MyBase.Load
EnableDoubleBuffered(dgvUSTVPositionen) EnableDoubleBuffered(dgvUSTVPositionen)
@@ -1283,6 +1309,8 @@ Public Class frmMDM_USTVAntrag
dgvUSTVPositionen.SetOrder() dgvUSTVPositionen.SetOrder()
End If End If
VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen_USTVA(USTV_ANTRAG.UStVAn_ID)
Else Else
Dim USTV_ANTRAG = New VERAG_PROG_ALLGEMEIN.cUSTVAntrag() Dim USTV_ANTRAG = New VERAG_PROG_ALLGEMEIN.cUSTVAntrag()
@@ -1335,6 +1363,8 @@ Public Class frmMDM_USTVAntrag
Me.UStVAn_ID = USTV_ANTRAG.SAVEID() Me.UStVAn_ID = USTV_ANTRAG.SAVEID()
VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen_USTVA(USTV_ANTRAG.UStVAn_ID)
init() init()
End If End If
@@ -1949,7 +1979,7 @@ Public Class frmMDM_USTVAntrag
For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index) For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index)
Dim pdf As String = "" Dim pdf As String = ""
pdf = getPDF(row.Cells("UStVPo_SchnittstellenNr").Value, row.Cells("UStVPo_ReNr").Value, row.Cells("UStVPo_ReDat").Value, row.Cells("UStVPo_daId").Value, IIf(nummerierung, row.Cells("UStVPo_ID").Value, -1), IIf(row.Cells("UStVPo_Leistender").Value.ToString.ToLower.Contains("wag") OrElse row.Cells("UStVPo_Leistender").Value.ToString.ToLower.Contains("dkv"), True, False)) pdf = getPDF(row.Cells("UStVPo_SchnittstellenNr").Value, row.Cells("UStVPo_ReNr").Value, row.Cells("UStVPo_ReDat").Value, row.Cells("UStVPo_daId").Value, IIf(nummerierung, row.Cells("UStVPo_ID").Value, -1), True)
If pdf <> "" Then list.Add(pdf) If pdf <> "" Then list.Add(pdf)
@@ -2380,7 +2410,13 @@ Public Class frmMDM_USTVAntrag
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
getValue(USTV_ANTRAG) getValue(USTV_ANTRAG)
USTV_ANTRAG.SAVE()
Dim id = USTV_ANTRAG.SAVEID()
VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen_USTVA(id)
USTV_ANTRAG = New cUSTVAntrag(id)
If IsDBNull(USTV_ANTRAG.FilialenNr) OrElse USTV_ANTRAG.FilialenNr Is Nothing OrElse USTV_ANTRAG.FilialenNr = 0 Then MsgBox("Für das Speditionsbuch muss die Filiale eingegeben werden.") : Exit Sub If IsDBNull(USTV_ANTRAG.FilialenNr) OrElse USTV_ANTRAG.FilialenNr Is Nothing OrElse USTV_ANTRAG.FilialenNr = 0 Then MsgBox("Für das Speditionsbuch muss die Filiale eingegeben werden.") : Exit Sub
If IsDBNull(USTV_ANTRAG.AbfertigungsNr) OrElse USTV_ANTRAG.AbfertigungsNr Is Nothing OrElse USTV_ANTRAG.AbfertigungsNr <= 0 Then MsgBox("Für das Speditionsbuch muss die Abfertigungs-Nr eingegeben werden.") : Exit Sub If IsDBNull(USTV_ANTRAG.AbfertigungsNr) OrElse USTV_ANTRAG.AbfertigungsNr Is Nothing OrElse USTV_ANTRAG.AbfertigungsNr <= 0 Then MsgBox("Für das Speditionsbuch muss die Abfertigungs-Nr eingegeben werden.") : Exit Sub
@@ -2396,6 +2432,10 @@ Public Class frmMDM_USTVAntrag
Exit Sub Exit Sub
End If End If
If USTV_ANTRAG.UStVAn_ErstattungsbetragEUR = 0 Then
If Not vbYes = MsgBox("Der Erstattungsbetrag beträgt 0 EUR." & vbNewLine & "Fortfahren?", vbYesNo) Then Exit Sub
End If
With spedBuch With spedBuch
.Abfertigungsdatum = Today() .Abfertigungsdatum = Today()
.AvisUhrzeit = Now() .AvisUhrzeit = Now()
@@ -2406,6 +2446,7 @@ Public Class frmMDM_USTVAntrag
.Abfertigungsanzahl = 1 .Abfertigungsanzahl = 1
.Packstücke = "Mehrwertsteuerrückerstattung " & Antrag_LandKz & " / " & USTV_ANTRAG.UStVAn_ReDatVon & " - " & USTV_ANTRAG.UStVAn_ReDatBis .Packstücke = "Mehrwertsteuerrückerstattung " & Antrag_LandKz & " / " & USTV_ANTRAG.UStVAn_ReDatVon & " - " & USTV_ANTRAG.UStVAn_ReDatBis
.VermittlerKundenNr = USTV_ANTRAG.UStVAn_KuNr .VermittlerKundenNr = USTV_ANTRAG.UStVAn_KuNr
.Rechnungsbetrag = USTV_ANTRAG.UStVAn_ErstattungsbetragEUR * -1
If .SAVE() Then If .SAVE() Then
MsgBox("Sped-Eintrag wurde angelegt") MsgBox("Sped-Eintrag wurde angelegt")
init() init()
@@ -2416,71 +2457,65 @@ Public Class frmMDM_USTVAntrag
Private Sub picExcel_Click(sender As Object, e As EventArgs) Handles picExcel.Click Private Sub picExcel_Click(sender As Object, e As EventArgs) Handles picExcel.Click
Dim dtNew As DataTable = cProgramFunctions.dgridViewTods(dgvUSTVPositionen, True, IIf(dgvUSTVPositionen.SelectedRows.Count > 0, True, False)) 'Dim dtNew As DataTable = cProgramFunctions.dgridViewTods(dgvUSTVPositionen, True, IIf(dgvUSTVPositionen.SelectedRows.Count > 0, True, False))
Dim posId As String = ""
Dim counter = 0
For Each dgvRow As DataGridViewRow In dgvUSTVPositionen.SelectedRows
posId &= "'" & dgvRow.Cells("UStVPo_ID").Value & "'"
counter = counter + 1
If (dgvUSTVPositionen.Rows.Count <> 0 And counter <> dgvUSTVPositionen.Rows.Count) Then posId &= ","
Next
Dim StringSQL = "SELECT [UStVPo_ID] as Number ,[UStVPo_ReDat] as 'Date of Invoice',[UStVPo_ReNr] as 'Number of invoice' ,[UStVPo_Leistungsbezeichnung] as 'Name of service',[UStVPo_Leistender] as 'Name of supplier',leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as Street,
leist.[UstV_Leistender_PLZ] as 'ZIP-Code',leist.[UstV_Leistender_Stadt] as City,leist.[UstV_Leistender_Land] as Country,leist.[UstV_Leistender_UstNr] as VAT,[UStVPo_USteuerbetrag] as 'Amount of tax refund'
FROM [tblUStVPositionen]
LEFT JOIN [tblUStVLeistender] as leist
ON ([tblUStVPositionen].[UStVPo_LeistenderId] > 0
AND leist.[UStV_LeistenderId] = [tblUStVPositionen].[UStVPo_LeistenderId])
OR ([tblUStVPositionen].[UStVPo_LeistenderId] <= 0
AND leist.[UStV_Leistender] = [tblUStVPositionen].[UStVPo_Leistender])
where UStVAn_ID=" & UStVAn_ID & " and UStVPo_ID in(" & posId & ") ORDER BY UStVPo_ID"
Dim dtNew As DataTable = SQL.loadDgvBySql(StringSQL, "FMZOLL")
If dtNew IsNot Nothing AndAlso dtNew.Rows.Count > 0 Then If dtNew IsNot Nothing AndAlso dtNew.Rows.Count > 0 Then
If dtNew.Columns.Contains("UStVPo_Schnittstelle") Then dtNew.Columns.Remove("UStVPo_Schnittstelle")
If dtNew.Columns.Contains("UStVPo_SchnittstellenNr") Then dtNew.Columns.Remove("UStVPo_SchnittstellenNr")
If dtNew.Columns.Contains("UStVPo_USteuerbetragEUR") Then dtNew.Columns.Remove("UStVPo_USteuerbetragEUR")
If dtNew.Columns.Contains("UStVPo_Umrechnungskurs") Then dtNew.Columns.Remove("UStVPo_Umrechnungskurs")
If dtNew.Columns.Contains("UStVPo_Sachbearbeiter") Then dtNew.Columns.Remove("UStVPo_Sachbearbeiter")
If dtNew.Columns.Contains("UStVPo_daId") Then dtNew.Columns.Remove("UStVPo_daId")
If dtNew.Columns.Contains("UStVAn_ID") Then dtNew.Columns.Remove("UStVAn_ID")
If dtNew.Columns.Contains("clmnPDF") Then dtNew.Columns.Remove("clmnPDF")
Dim sumVAT As Double = 0 Dim sumVAT As Double = 0
For Each row In dtNew.Rows For Each row In dtNew.Rows
If Not IsDBNull(row("UStVPo_USteuerbetrag")) AndAlso IsNumeric(row("UStVPo_USteuerbetrag")) Then sumVAT += CDbl(row("UStVPo_USteuerbetrag")) If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then sumVAT += CDbl(row("Amount of tax refund"))
If Not IsDBNull(row("UStVPo_USteuerbetrag")) AndAlso IsNumeric(row("UStVPo_USteuerbetrag")) Then row("UStVPo_USteuerbetrag") = CDbl(row("UStVPo_USteuerbetrag")) If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then row("Amount of tax refund") = CDbl(row("Amount of tax refund"))
If Not IsDBNull(row("UStVPo_Leistender")) AndAlso row("UStVPo_Leistender") <> "" AndAlso Not IsDBNull(row("UstV_Leistender_UstNr")) AndAlso row("UstV_Leistender_UstNr") <> "" Then If Not IsDBNull(row("Name of supplier")) AndAlso row("Name of supplier") <> "" AndAlso Not IsDBNull(row("VAT")) AndAlso row("VAT") <> "" Then
row("UStVPo_Leistender") = row("UStVPo_Leistender").ToString.Replace(" " & row("UstV_Leistender_UstNr").ToString.Substring(0, 2), "") row("Name of supplier") = row("Name of supplier").ToString.Replace(" " & row("VAT").ToString.Substring(0, 2), "")
End If End If
Next Next
Dim drLast = dtNew.NewRow Dim drLast = dtNew.NewRow
If dtNew.Columns.Contains("UStVPo_ID") Then drLast.Item("UStVPo_ID") = DBNull.Value If dtNew.Columns.Contains("Number") Then drLast.Item("Number") = dtNew.Rows.Count + 1
If dtNew.Columns.Contains("UStVPo_ReDat") Then drLast.Item("UStVPo_ReDat") = DBNull.Value If dtNew.Columns.Contains("Date of Invoice") Then drLast.Item("Date of Invoice") = DBNull.Value
If dtNew.Columns.Contains("UStVPo_ReNr") Then drLast.Item("UStVPo_ReNr") = DBNull.Value If dtNew.Columns.Contains("Number of invoice") Then drLast.Item("Number of invoice") = DBNull.Value
If dtNew.Columns.Contains("UStVPo_USteuerbetrag") Then drLast.Item("UStVPo_USteuerbetrag") = sumVAT If dtNew.Columns.Contains("Amount of tax refund") Then drLast.Item("Amount of tax refund") = sumVAT
If dtNew.Columns.Contains("UStVPo_Leistender") Then drLast.Item("UStVPo_Leistender") = DBNull.Value If dtNew.Columns.Contains("Name of supplier") Then drLast.Item("Name of supplier") = DBNull.Value
If dtNew.Columns.Contains("UstV_Leistender_Strasse") Then drLast.Item("UstV_Leistender_Strasse") = DBNull.Value If dtNew.Columns.Contains("Street") Then drLast.Item("Street") = DBNull.Value
If dtNew.Columns.Contains("UstV_Leistender_Stadt") Then drLast.Item("UstV_Leistender_Stadt") = DBNull.Value If dtNew.Columns.Contains("City") Then drLast.Item("City") = DBNull.Value
If dtNew.Columns.Contains("UstV_Leistender_Land") Then drLast.Item("UstV_Leistender_Land") = DBNull.Value If dtNew.Columns.Contains("Country") Then drLast.Item("Country") = DBNull.Value
If dtNew.Columns.Contains("UstV_Leistender_PLZ") Then drLast.Item("UstV_Leistender_PLZ") = DBNull.Value If dtNew.Columns.Contains("ZIP-Code") Then drLast.Item("ZIP-Code") = DBNull.Value
If dtNew.Columns.Contains("UstV_Leistender_UstNr") Then drLast.Item("UstV_Leistender_UstNr") = "SUM" If dtNew.Columns.Contains("VAT") Then drLast.Item("VAT") = "SUM"
If dtNew.Columns.Contains("UStVPo_Leistungsbezeichnung") Then drLast.Item("UStVPo_Leistungsbezeichnung") = DBNull.Value If dtNew.Columns.Contains("Name of service") Then drLast.Item("Name of service") = DBNull.Value
dtNew.Rows.InsertAt(drLast, dtNew.Rows.Count) dtNew.Rows.InsertAt(drLast, dtNew.Rows.Count)
For Each col As DataColumn In dtNew.Columns
If col.ColumnName = "UStVPo_ID" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ID", "Number")
If col.ColumnName = "UStVPo_ReDat" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ReDat", "Date of invoice")
If col.ColumnName = "UStVPo_ReNr" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ReNr", "Number of invoice")
If col.ColumnName = "UStVPo_USteuerbetrag" Then col.ColumnName = col.ColumnName.Replace("UStVPo_USteuerbetrag", "Amount of tax refund")
If col.ColumnName = "UStVPo_Leistender" Then col.ColumnName = col.ColumnName.Replace("UStVPo_Leistender", "Name of supplier")
If col.ColumnName = "UstV_Leistender_Strasse" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_Strasse", "Street")
If col.ColumnName = "UstV_Leistender_Stadt" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_Stadt", "City")
If col.ColumnName = "UstV_Leistender_Land" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_Land", "Country")
If col.ColumnName = "UstV_Leistender_PLZ" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_PLZ", "ZIP-Code")
If col.ColumnName = "UstV_Leistender_UstNr" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_UstNr", "VAT")
If col.ColumnName = "UStVPo_Leistungsbezeichnung" Then col.ColumnName = col.ColumnName.Replace("UStVPo_Leistungsbezeichnung", "Name of service")
Next
Dim AD As New cAdressen(USTV_ANTRAG.UStVAn_KuNr) Dim AD As New cAdressen(USTV_ANTRAG.UStVAn_KuNr)
cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K1:K" & (dtNew.Rows.Count + 1)},, "Statement itemising VAT amounts relating to the period covered by this application", "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & AD.Name_1 & " " & AD.Name_2 & " " & "VAT in " & Antrag_LandKz & ": " & txtStNr.Text, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "", ""), True, "K", True, True) cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K4:K" & (dtNew.Rows.Count + 1)},, "Statement itemising VAT amounts relating to the period covered by this application", "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & AD.Name_1 & " " & AD.Name_2 & " " & "VAT in " & Antrag_LandKz & ": " & txtStNr.Text, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "", ""), True, "J", True, True)
End If End If
End Sub End Sub
Private Sub initdgvErstattungen() Private Sub initdgvErstattungen(Optional posIndex As Integer = -1)
With dgvErstattungspositionen With dgvErstattungspositionen
@@ -2544,7 +2579,28 @@ Public Class frmMDM_USTVAntrag
End If End If
If .RowCount < 1 Then initErstsattungsPosition(-1) If .RowCount < 1 Then
initErstsattungsPosition(-1)
Else
If posIndex > 0 Then
posIndex = posIndex - 1
If posIndex > 0 And dgvErstattungspositionen.Rows.Count > posIndex Then
dgvErstattungspositionen.ClearSelection()
dgvErstattungspositionen.Rows(posIndex).Selected = True
For Each c As DataGridViewCell In dgvErstattungspositionen.Rows(posIndex).Cells
If c.Visible Then
dgvErstattungspositionen.CurrentCell = c 'Damit der Cursor in der DGV richtig steht
Exit For
End If
Next
End If
End If
End If
End With End With
@@ -2674,6 +2730,16 @@ Public Class frmMDM_USTVAntrag
End Sub
Private Sub Button5_Click_1(sender As Object, e As EventArgs) Handles Button5.Click
If IsDBNull(USTV_ANTRAG.FilialenNr) OrElse USTV_ANTRAG.FilialenNr Is Nothing OrElse USTV_ANTRAG.FilialenNr = 0 Then MsgBox("Für das Speditionsbuch muss die Filiale eingegeben werden.") : Exit Sub
If IsDBNull(USTV_ANTRAG.AbfertigungsNr) OrElse USTV_ANTRAG.AbfertigungsNr Is Nothing OrElse USTV_ANTRAG.AbfertigungsNr <= 0 Then MsgBox("Für das Speditionsbuch muss die Abfertigungs-Nr eingegeben werden.") : Exit Sub
Dim f As New SDL.frmAbrechnungsMaskeEinzeln(USTV_ANTRAG.FilialenNr, USTV_ANTRAG.AbfertigungsNr)
f.Show(Me)
End Sub End Sub
Private Sub calcSumme() Private Sub calcSumme()

View File

@@ -560,42 +560,49 @@ Public Class frmUSTVoffeneAntraege
If dtkeineMWST.Rows.Count > 0 AndAlso kundenLandISO2 <> "" Then If dtkeineMWST.Rows.Count > 0 AndAlso kundenLandISO2 <> "" Then
Dim rows = dtkeineMWST.AsEnumerable().Where(Function(res) res.Field(Of String)("Land") = kundenLandISO2 And res.Field(Of String)("Lieferant") <> "IDS")
If (rows.Any()) Then
Dim selectString As String = "Land = '" & kundenLandISO2 & "'" & " AND Lieferant <> 'IDS'" Dim dtkeineMWST_ohneContraint As DataTable = rows.CopyToDataTable
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select(selectString).CopyToDataTable Dim counter = 0
Dim counter = 0 Dim landBez As String = ""
Dim landBez As String = "" For Each row As DataRow In dtkeineMWST_ohneContraint.Rows
For Each row As DataRow In dtkeineMWST_ohneContraint.Rows landBez &= "'" & row.Item("Erstattungsland") & "'"
landBez &= "'" & row.Item("Erstattungsland") & "'" counter = counter + 1
counter = counter + 1 If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= ","
If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= ","
Next
sqlwhereLand &= " AND Einreichland not in (" & landBez & ")"
'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 Next
sqlwhereIDS &= " AND tbl_IDS_Länder.Lieferland_ISO2 not in (" & landBezIDS & ")" sqlwhereLand &= " AND Einreichland not in (" & landBez & ")"
'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 rowsIDS = dtkeineMWST.AsEnumerable().Where(Function(res) res.Field(Of String)("Land") = kundenLandISO2 And res.Field(Of String)("Lieferant") = "IDS")
If (rowsIDS.Any()) Then
Dim dtkeineMWST_ohneContraintIDS As DataTable = rowsIDS.CopyToDataTable
Dim counterIDS = 0
Dim landBezIDS As String = ""
If dtkeineMWST_ohneContraintIDS.Rows.Count > 0 Then
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
End If
End If End If
End If End If
If cbxKundenMWST.Checked Then If cbxKundenMWST.Checked Then
If dtKundeMWST.Rows.Count > 0 Then If dtKundeMWST.Rows.Count > 0 Then
Dim counter = 0 Dim counter = 0

View File

@@ -185,7 +185,7 @@ Public Class ustCntlUSTV_ErstattungPosition
Private Sub txtUSTBetrag_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles txtUSTBetrag.PreviewKeyDown, txtUSTBetragEUR.PreviewKeyDown, txtBelegDatum.PreviewKeyDown, txtBelegNr.PreviewKeyDown, txtUmrechnungskurs.PreviewKeyDown Private Sub txtUSTBetrag_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles txtUSTBetrag.PreviewKeyDown, txtUSTBetragEUR.PreviewKeyDown, txtBelegDatum.PreviewKeyDown, txtBelegNr.PreviewKeyDown, txtUmrechnungskurs.PreviewKeyDown
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_USTVA_bearbeiten", Me.FindForm) Then Exit Sub If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_USTVAErstattung_bearbeiten", Me.FindForm) Then Exit Sub
If Me.FindForm IsNot Nothing Then If Me.FindForm IsNot Nothing Then
@@ -235,28 +235,29 @@ Public Class ustCntlUSTV_ErstattungPosition
End If End If
ElseIf sender Is txtBelegDatum Then
If txtBelegDatum.Text <> "" Then
txtBelegDatum.Text = txtBelegDatum.Text.Replace("-", ".")
End If
ElseIf sender Is txtBerufungsdatum Then
If txtBerufungsdatum.Text <> "" Then
txtBerufungsdatum.Text = txtBerufungsdatum.Text.Replace("-", ".")
End If
ElseIf sender Is txtGuDatum Then
If txtGuDatum.Text <> "" Then
txtGuDatum.Text = txtGuDatum.Text.Replace("-", ".")
End If
End If End If
ElseIf sender Is txtBelegDatum Then
If txtBelegDatum.Text <> "" Then
txtBelegDatum.Text = txtBelegDatum.Text.Replace("-", ".")
End If
ElseIf sender Is txtBerufungsdatum Then
If txtBerufungsdatum.Text <> "" Then
txtBerufungsdatum.Text = txtBerufungsdatum.Text.Replace("-", ".")
End If
ElseIf sender Is txtGuDatum Then
If txtGuDatum.Text <> "" Then
txtGuDatum.Text = txtGuDatum.Text.Replace("-", ".")
End If
End If End If
If txtChanged Then If txtChanged Then

View File

@@ -1,4 +1,6 @@
Imports System.Globalization Imports System.Globalization
Imports DocumentFormat.OpenXml.Bibliography
Imports GrapeCity.ActiveReports.ReportsCore.Tools
Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
@@ -1269,6 +1271,7 @@ Public Class frmBU_Mahnlauf
Dim dt = MyDatagridview1.DataSource Dim dt = MyDatagridview1.DataSource
If cbxZahlungseingaenge.Checked Then If cbxZahlungseingaenge.Checked Then
If dt.Columns.Contains("c_landid") Then dt.Columns.Remove("c_landid")
cProgramFunctions.genExcelFromDT_NEW(dt, {"D1:D" & (dt.Rows.Count + 1)},,, "Zahlungseingänge vom " & txtZahlEingaenge._value,, True) cProgramFunctions.genExcelFromDT_NEW(dt, {"D1:D" & (dt.Rows.Count + 1)},,, "Zahlungseingänge vom " & txtZahlEingaenge._value,, True)
Else Else
cProgramFunctions.genExcelFromDT_NEW(dt, {"G1:G" & (dt.Rows.Count + 1), "J1:J" & (dt.Rows.Count + 1)}) cProgramFunctions.genExcelFromDT_NEW(dt, {"G1:G" & (dt.Rows.Count + 1), "J1:J" & (dt.Rows.Count + 1)})
@@ -1365,6 +1368,9 @@ Public Class frmBU_Mahnlauf
Dim dt = MyDatagridview1.DataSource Dim dt = MyDatagridview1.DataSource
Dim desc = "Zahlungseingänge vom " & txtZahlEingaenge._value Dim desc = "Zahlungseingänge vom " & txtZahlEingaenge._value
If dt.Columns.Contains("c_landid") Then dt.Columns.Remove("c_landid")
Dim attachment = cProgramFunctions.genExcelFromDT_NEW(dt, {"D1:D" & (dt.Rows.Count + 1)},,, desc,, True,,,, False) Dim attachment = cProgramFunctions.genExcelFromDT_NEW(dt, {"D1:D" & (dt.Rows.Count + 1)},,, desc,, True,,,, False)
Dim outl As New Outlook.Application Dim outl As New Outlook.Application

View File

@@ -93,7 +93,7 @@ Public Class cMDMFunctionsAllgemein
End Try End Try
End Function End Function
Shared Function Update_UStVASummenNeuBerechnen() As Boolean Shared Function Update_UStVASummenNeuBerechnen_USTVA(Optional UStVAn_ID As Integer = -1) As Boolean
Try Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -103,19 +103,19 @@ Public Class cMDMFunctionsAllgemein
UStVAn_USteuerbetrag = COALESCE( UStVAn_USteuerbetrag = COALESCE(
(SELECT SUM(UStVPo_USteuerbetrag) (SELECT SUM(UStVPo_USteuerbetrag)
FROM tblUStVPositionen FROM tblUStVPositionen
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), WHERE UStVAn_ID = " & IIf(UStVAn_ID > 0, UStVAn_ID, "tblUStVAntrag.UStVAn_ID") & "), 0),
UStVAn_Erstattungsbetrag = COALESCE( UStVAn_Erstattungsbetrag = COALESCE(
(SELECT SUM(UStVEr_USteuerbetrag) (SELECT SUM(UStVEr_USteuerbetrag)
FROM tblUStVErstattung FROM tblUStVErstattung
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), WHERE UStVAn_ID = " & IIf(UStVAn_ID > 0, UStVAn_ID, "tblUStVAntrag.UStVAn_ID") & " ), 0),
UStVAn_USteuerbetragEUR = COALESCE( UStVAn_USteuerbetragEUR = COALESCE(
(SELECT SUM(UStVPo_USteuerbetragEUR) (SELECT SUM(UStVPo_USteuerbetragEUR)
FROM tblUStVPositionen FROM tblUStVPositionen
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), WHERE UStVAn_ID = " & IIf(UStVAn_ID > 0, UStVAn_ID, "tblUStVAntrag.UStVAn_ID") & "), 0),
UStVAn_ErstattungsbetragEUR = COALESCE( UStVAn_ErstattungsbetragEUR = COALESCE(
(SELECT SUM(UStVEr_USteuerbetragEUR) (SELECT SUM(UStVEr_USteuerbetragEUR)
FROM tblUStVErstattung FROM tblUStVErstattung
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0)" WHERE UStVAn_ID = " & IIf(UStVAn_ID > 0, UStVAn_ID, "tblUStVAntrag.UStVAn_ID") & "), 0) " & IIf(UStVAn_ID > 0, "WHERE tblUStVAntrag.UStVAn_ID = " & UStVAn_ID, "")
Return SQL.doSQL(sqltext, "FMZOLL") Return SQL.doSQL(sqltext, "FMZOLL")