rechnugnssuche, Fremdrechnungen, etc.

This commit is contained in:
2025-03-05 17:04:46 +01:00
parent b32a7fd39b
commit bfe7b6457e
5 changed files with 302 additions and 204 deletions

View File

@@ -51,10 +51,7 @@ Public Class usrcntlFremdrechnungen
kdNr_WHERE = ""
End If
If kdNr_filter Then
'Dim dt As DataTable = SQL.loadDgvBySql("SELECT KundenSDL.SDLNr FROM KundenSDL INNER JOIN [Speditionsdienstleistungen] as S ON s.SDLNr=KundenSDL.sdlnr WHERE s.SDLTypNr IN (1,2) AND KundenSDL.KundenNr = '" & kdNr & "' group by KundenSDL.SDLNr ")
'If dt Is Nothing Then
' MsgBox("Es wurden noch keine Leistungen freigeschaltet.")
'Else
btnSDL_IDS.Visible = True ' dt.Select("SDLNr=100").Count > 0
btnSDL_UTA.Visible = True 'dt.Select("SDLNr=212").Count > 0
btnSDL_Hugo.Visible = False ' dt.Select("SDLNr=213").Count > 0
@@ -263,7 +260,7 @@ Public Class usrcntlFremdrechnungen
--RMC
SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " 'RMC' as Lieferant, [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 " & IIf(kdNr > 0, " AND AdressenNr=" & kdNr, "") & " and [rmc_reDatum] " & setSQLWhere(SDLNrTmp, "rmc_landKZ") & " order by rmc_reDatum, rmc_reNr
) as temp order by Rechnungsdatum desc"
) as temp where 1=1 and temp.Rechnungsdatum" & setSQLWhere(SDLNrTmp, "temp.Land", True) & " order by Rechnungsdatum desc"
@@ -314,16 +311,42 @@ Public Class usrcntlFremdrechnungen
setPDFImages()
End Sub
Private Function setSQLWhere(SDLNrTmp As Integer, land As String) As String
Private Function setSQLWhere(SDLNrTmp As Integer, land As String, Optional alle As Boolean = False) As String
Dim SQLWhere = " between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "'"
If cbx.Checked AndAlso SDLNrTmp <> 100 AndAlso KUNDE IsNot Nothing Then
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'", "") & ")"
'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 SQLWhere &= " AND " & land & " not in ('" & KUNDE.LandKz & "')"
'2. wenn die Rechnung die Summe NULL aufweist
Select Case SDLNrTmp
Case 212 And Not alle : SQLWhere &= " AND Gesamtbetrag_Brutto_in_Darstellwährung <> 0" 'UTA
Case 214 And Not alle : SQLWhere &= " AND plInv_Bruttobetrag <> 0" 'PLOSE
Case 502 And Not alle : SQLWhere &= " AND (tblTrdinInvoice.SteuerpflichtigerBetragLokal + tblTrdinInvoice.SteuerfreierBetragLokal) <> 0" 'VERAG
Case 208 And Not alle : SQLWhere &= " AND total_amount_euro <> 0" 'MSE
Case 999 And Not alle : SQLWhere &= " AND rmc_betragBrutto <> 0" 'RMC
Case -1 And alle : SQLWhere &= " AND temp.Nettobetrag <> 0" 'ALLE
End Select
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
'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
Return SQLWhere