fremdrechnungen
This commit is contained in:
@@ -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.4.7.9")>
|
<Assembly: AssemblyVersion("1.4.8.0")>
|
||||||
<Assembly: AssemblyFileVersion("1.4.7.9")>
|
<Assembly: AssemblyFileVersion("1.4.8.0")>
|
||||||
|
|||||||
@@ -450,15 +450,23 @@ Public Class usrcntlFremdrechnungen
|
|||||||
|
|
||||||
End Function
|
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!!!
|
'das hier ist nur PRO KUNDE möglich!!!
|
||||||
|
|
||||||
Dim SQLWhere = ""
|
Dim SQLWhere = ""
|
||||||
|
|
||||||
If cbx.Checked AndAlso KUNDE IsNot Nothing Then
|
If (cbx.Checked AndAlso KUNDE IsNot Nothing AndAlso KUNDE.KundenNr > 0 OrElse cbx.Checked AndAlso KundenNr_Input > 0) Then
|
||||||
Dim erw As New cKundenErweitert(KUNDE.KundenNr)
|
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
|
If erw.kde_keineMWSt Then Return SQLWhere
|
||||||
SQLWhere &= "AND ("
|
SQLWhere &= "AND ("
|
||||||
'ORIGINAL-RECHNUNG senden wenn:
|
'ORIGINAL-RECHNUNG senden wenn:
|
||||||
@@ -499,21 +507,45 @@ Public Class usrcntlFremdrechnungen
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
|
'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
|
Return SQLWhere
|
||||||
|
|
||||||
End Function
|
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")
|
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
|
'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)
|
'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
|
'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)
|
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!
|
sendÍnvoice = True 'dann immer mitschicken!
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -960,8 +989,8 @@ Public Class usrcntlFremdrechnungen
|
|||||||
|
|
||||||
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt -> dtkeineMWST
|
'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
|
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 rows() As DataRow = dtkeineMWST.Select("Lieferant <> 'IDS' AND Land = '" & landKZiso2 & "' and Erstattungsland = '" & row.Cells("Land").Value & "'")
|
||||||
Dim dtkeineMWST_ohneContraint As New DataTable
|
Dim dtkeineMWST_ohneContraint As New DataTable
|
||||||
If rows.Length > 0 Then dtkeineMWST_ohneContraint = rows.CopyToDataTable()
|
If rows.Length > 0 Then dtkeineMWST_ohneContraint = rows.CopyToDataTable()
|
||||||
If dtkeineMWST_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True
|
If dtkeineMWST_ohneContraint.Rows.Count > 0 Then sendÍnvoice = True
|
||||||
End If
|
End If
|
||||||
@@ -994,8 +1023,10 @@ Public Class usrcntlFremdrechnungen
|
|||||||
|
|
||||||
If Lieferant = "IDS" Then
|
If Lieferant = "IDS" Then
|
||||||
|
|
||||||
|
'IDS hat wieder sonderlogik
|
||||||
|
|
||||||
Dim dt As New DataTable
|
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
|
For Each r As DataRow In dt.Rows
|
||||||
|
|
||||||
@@ -1436,11 +1467,11 @@ Public Class usrcntlFremdrechnungen
|
|||||||
End Sub
|
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,
|
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
|
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
|
If setDatatable Then
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user