fremdrechnungen
This commit is contained in:
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.4.7.9")>
|
||||
<Assembly: AssemblyFileVersion("1.4.7.9")>
|
||||
<Assembly: AssemblyVersion("1.4.8.0")>
|
||||
<Assembly: AssemblyFileVersion("1.4.8.0")>
|
||||
|
||||
@@ -450,15 +450,23 @@ Public Class usrcntlFremdrechnungen
|
||||
|
||||
End Function
|
||||
|
||||
Private Function setSQLDetailWhere(aktLieferant As String, land As String, Optional alle As Boolean = False) As String
|
||||
Private Function setSQLDetailWhere(aktLieferant As String, land As String, Optional alle As Boolean = False, Optional KundenNr_Input As Integer = -1, Optional dtKundeMWSTTemp As DataTable = Nothing) As String
|
||||
|
||||
|
||||
'das hier ist nur PRO KUNDE möglich!!!
|
||||
|
||||
Dim SQLWhere = ""
|
||||
|
||||
If cbx.Checked AndAlso KUNDE IsNot Nothing Then
|
||||
Dim erw As New cKundenErweitert(KUNDE.KundenNr)
|
||||
If (cbx.Checked AndAlso KUNDE IsNot Nothing AndAlso KUNDE.KundenNr > 0 OrElse cbx.Checked AndAlso KundenNr_Input > 0) Then
|
||||
Dim checkKundenNR As Integer = -1
|
||||
If KUNDE.KundenNr > 0 Then
|
||||
checkKundenNR = KUNDE.KundenNr
|
||||
ElseIf KundenNr_Input > 0 Then
|
||||
checkKundenNR = KundenNr_Input
|
||||
KUNDE = kundenSQL.getKundeByKdNr(KundenNr_Input)
|
||||
End If
|
||||
|
||||
Dim erw As New cKundenErweitert(checkKundenNR)
|
||||
If erw.kde_keineMWSt Then Return SQLWhere
|
||||
SQLWhere &= "AND ("
|
||||
'ORIGINAL-RECHNUNG senden wenn:
|
||||
@@ -499,21 +507,45 @@ 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 & ")"
|
||||
End If
|
||||
SQLWhere &= ")"
|
||||
End If
|
||||
|
||||
If dtKundeMWST Is Nothing Then
|
||||
|
||||
If dtKundeMWSTTemp IsNot Nothing Then
|
||||
|
||||
If land <> "" AndAlso dtKundeMWSTTemp.Rows.Count > 0 Then
|
||||
Dim counter = 0
|
||||
Dim landBez As String = ""
|
||||
For Each row As DataRow In dtKundeMWSTTemp.Rows
|
||||
landBez &= "'" & row.Item("LandKz") & "'"
|
||||
counter = counter + 1
|
||||
If (dtKundeMWSTTemp.Rows.Count <> 0 And counter <> dtKundeMWSTTemp.Rows.Count) Then landBez &= ","
|
||||
Next
|
||||
SQLWhere &= " OR " & land & " in (" & landBez & ")"
|
||||
End If
|
||||
SQLWhere &= ")"
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
Else
|
||||
|
||||
|
||||
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
|
||||
SQLWhere &= ")"
|
||||
End If
|
||||
End If
|
||||
Return SQLWhere
|
||||
|
||||
End Function
|
||||
@@ -845,11 +877,8 @@ Public Class usrcntlFremdrechnungen
|
||||
Dim dtKundeMWSTTemp As DataTable = (New SQL).loadDgvBySql("select LandKz from tblKundenMWST where KdNr = " & KUNDE_TEMP.KundenNr, "FMZOLL")
|
||||
|
||||
|
||||
|
||||
'2. wenn die Rechnung die Summe NULL aufweist
|
||||
|
||||
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt (auch nicht auf Diesel -> IDS)
|
||||
|
||||
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
|
||||
|
||||
|
||||
@@ -945,7 +974,7 @@ Public Class usrcntlFremdrechnungen
|
||||
|
||||
Dim sendÍnvoice As Boolean = IIf(onlyRelevantInvioces AndAlso KUNDE.KundenNr = 0, False, True)
|
||||
|
||||
If onlyRelevantInvioces AndAlso Lieferant <> "IDS" AndAlso erw.kde_keineMWSt Then
|
||||
If onlyRelevantInvioces AndAlso erw.kde_keineMWSt Then ' AndAlso Lieferant <> "IDS"
|
||||
sendÍnvoice = True 'dann immer mitschicken!
|
||||
End If
|
||||
|
||||
@@ -960,8 +989,8 @@ Public Class usrcntlFremdrechnungen
|
||||
|
||||
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt -> dtkeineMWST
|
||||
If Not sendÍnvoice AndAlso landKZiso2 <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
|
||||
Dim rows() As DataRow = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "' and Erstattungsland = '" & row.Cells("Land").Value & "'")
|
||||
Dim dtkeineMWST_ohneContraint As New DataTable
|
||||
Dim rows() As DataRow = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "' and Erstattungsland = '" & row.Cells("Land").Value & "'")
|
||||
Dim dtkeineMWST_ohneContraint As New DataTable
|
||||
If rows.Length > 0 Then dtkeineMWST_ohneContraint = rows.CopyToDataTable()
|
||||
If dtkeineMWST_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True
|
||||
End If
|
||||
@@ -994,8 +1023,10 @@ Public Class usrcntlFremdrechnungen
|
||||
|
||||
If Lieferant = "IDS" Then
|
||||
|
||||
'IDS hat wieder sonderlogik
|
||||
|
||||
Dim dt As New DataTable
|
||||
dt = initDGVRechnungsdetails(row.Cells("invoice_id").Value, True)
|
||||
dt = initDGVRechnungsdetails(row.Cells("invoice_id").Value, True, kvp.Key, dtKundeMWSTTemp)
|
||||
|
||||
For Each r As DataRow In dt.Rows
|
||||
|
||||
@@ -1436,11 +1467,11 @@ Public Class usrcntlFremdrechnungen
|
||||
End Sub
|
||||
|
||||
|
||||
Private Function initDGVRechnungsdetails(rechnugnsID As Integer, Optional setDatatable As Boolean = False) As DataTable
|
||||
Private Function initDGVRechnungsdetails(rechnugnsID As Integer, Optional setDatatable As Boolean = False, Optional KundenNr_Input As Integer = -1, Optional dtKundeMWSTTemp As DataTable = Nothing) As DataTable
|
||||
|
||||
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")
|
||||
FROM [VERAG].[dbo].[tblIDSInvoicesNewSplittedByCountry] WHERE [TotalInvoiceId] = " & rechnugnsID & setSQLDetailWhere(aktLieferant, "Country", , KundenNr_Input, dtKundeMWSTTemp)
|
||||
|
||||
If setDatatable Then
|
||||
|
||||
|
||||
Reference in New Issue
Block a user