From 63a9e58e0a1d7aea8d59cccd7bf7028dc1a62cb4 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 10 Nov 2025 17:15:23 +0100 Subject: [PATCH] fremdrechnungen --- SDL/mdm/usrcntlFremdrechnungen.vb | 56 ++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 19 deletions(-) diff --git a/SDL/mdm/usrcntlFremdrechnungen.vb b/SDL/mdm/usrcntlFremdrechnungen.vb index c4b02701..507d71db 100644 --- a/SDL/mdm/usrcntlFremdrechnungen.vb +++ b/SDL/mdm/usrcntlFremdrechnungen.vb @@ -424,29 +424,32 @@ Public Class usrcntlFremdrechnungen 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 & ")" + 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 @@ -533,7 +536,7 @@ Public Class usrcntlFremdrechnungen Else - If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then + If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then Dim counter = 0 Dim landBez As String = "" For Each row As DataRow In dtKundeMWST.Rows @@ -546,6 +549,12 @@ Public Class usrcntlFremdrechnungen SQLWhere &= ")" End If End If + + If dtKundeMWST Is Nothing AndAlso dtKundeMWSTTemp Is Nothing Then + SQLWhere &= ")" + End If + + Return SQLWhere End Function @@ -1435,10 +1444,10 @@ Public Class usrcntlFremdrechnungen If Not SplitContainer1.Panel2Collapsed Then Select Case aktLieferant - Case "IDS" : initDGVRechnungsdetails(dgvLFRechnung.SelectedRows(0).Cells("invoice_id").Value) + Case "IDS" : initDGVRechnungsdetails(dgvLFRechnung.SelectedRows(0).Cells("invoice_id").Value,, dgvLFRechnung.SelectedRows(0).Cells("AdressenNr").Value) Case "ALLE" If dgvLFRechnung.Columns.Contains("Lieferant") AndAlso dgvLFRechnung.SelectedRows(0).Cells("Lieferant").Value = "IDS" Then - initDGVRechnungsdetails(dgvLFRechnung.SelectedRows(0).Cells("invoice_id").Value) + initDGVRechnungsdetails(dgvLFRechnung.SelectedRows(0).Cells("invoice_id").Value,, dgvLFRechnung.SelectedRows(0).Cells("AdressenNr").Value) Else dgvDetails.Visible = False End If @@ -1469,6 +1478,15 @@ Public Class usrcntlFremdrechnungen Private Function initDGVRechnungsdetails(rechnugnsID As Integer, Optional setDatatable As Boolean = False, Optional KundenNr_Input As Integer = -1, Optional dtKundeMWSTTemp As DataTable = Nothing) As DataTable + + + If dtKundeMWSTTemp Is Nothing AndAlso KundenNr_Input > 0 Then + dtKundeMWSTTemp = (New SQL).loadDgvBySql("select LandKz from tblKundenMWST where KdNr = " & KundenNr_Input, "FMZOLL") + 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 FROM [VERAG].[dbo].[tblIDSInvoicesNewSplittedByCountry] WHERE [TotalInvoiceId] = " & rechnugnsID & setSQLDetailWhere(aktLieferant, "Country", , KundenNr_Input, dtKundeMWSTTemp)