div. Änderungen

This commit is contained in:
2026-04-09 12:48:06 +02:00
parent b394bc9351
commit 23dc366b05
8 changed files with 475 additions and 140 deletions

View File

@@ -17,12 +17,13 @@ Public Class cAufschubKonten
Property brgakto_gs_ust As Object = Nothing
Property brgakto_gs_aktSaldo As Decimal
Property brgakto_gs_ATR As Boolean = False
Property brgakto_firmaID As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New(brgakto_id)
Sub New(brgakto_id As Integer)
Me.brgakto_id = brgakto_id
LOAD()
End Sub
@@ -33,6 +34,14 @@ Public Class cAufschubKonten
brgakto_betrag = getReferenzbetrag(Today)
End Sub
Sub New(brgakto_gs_standort As String, brgakto_firmaID As Integer)
Me.brgakto_gs_standort = brgakto_gs_standort
Me.brgakto_firmaID = brgakto_firmaID
LOADStandort(brgakto_firmaID)
brgakto_betrag = getReferenzbetrag(Today)
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_id", brgakto_id,, True))
@@ -47,6 +56,7 @@ Public Class cAufschubKonten
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_gs_ust", brgakto_gs_ust))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_gs_ATR", brgakto_gs_ATR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_gs_aktSaldo", brgakto_gs_aktSaldo))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_firmaID", brgakto_firmaID))
Return list
@@ -95,16 +105,16 @@ Public Class cAufschubKonten
End Sub
Public Sub LOADStandort()
Public Sub LOADStandort(Optional firma As Integer = 0)
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM tblBrgAufschubKonten WHERE brgakto_gs_standort=@brgakto_gs_standort ", conn)
Using cmd As New SqlCommand("SELECT * FROM tblBrgAufschubKonten WHERE brgakto_gs_standort=@brgakto_gs_standort " & IIf(firma <> 0, " AND brgakto_firma=@brgakto_firma", ""), conn)
cmd.Parameters.AddWithValue("@brgakto_gs_standort", brgakto_gs_standort)
If firma <> 0 Then cmd.Parameters.AddWithValue("@brgakto_firmaID", brgakto_firmaID)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()

View File

@@ -35,7 +35,8 @@ Public Class cTrdInvoice
Property Firma_ID As Object = Nothing
Property UStVAn_ID As Object = Nothing
Property VZ As Integer
Property BV As Object = Nothing
Property Source As Object = Nothing
Property hasEntry As Boolean = False
@@ -45,21 +46,22 @@ Public Class cTrdInvoice
End Sub
Sub New(Rechnungsdatum, Rechnungsnummer)
Sub New(Rechnungsdatum, Rechnungsnummer, Source)
Me.Rechnungsnummer = Rechnungsnummer
Me.Rechnungsdatum = Rechnungsdatum
Me.Source = Source
LOAD()
End Sub
Sub New(Rechnungsdatum, Rechnungsnummer, Buchungsjahr)
Sub New(Rechnungsdatum, Rechnungsnummer, Buchungsjahr, Source)
Me.Rechnungsnummer = Buchungsjahr.ToString.Substring(2, 2) & Rechnungsnummer
Me.Rechnungsdatum = Rechnungsdatum
Me.Source = Source
LOAD()
End Sub
Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Speditionsbuch", Speditionsbuch))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
@@ -91,6 +93,8 @@ Public Class cTrdInvoice
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZ", VZ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BV", BV))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Source", Source))
Return list
@@ -116,9 +120,10 @@ Public Class cTrdInvoice
Public Sub LOAD()
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblTrdinInvoice WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ", conn)
Using cmd As New SqlCommand("SELECT * FROM tblTrdinInvoice WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum and Source=@Source ", conn)
cmd.Parameters.AddWithValue("@Rechnungsnummer", Rechnungsnummer)
cmd.Parameters.AddWithValue("@Rechnungsdatum", Rechnungsdatum)
cmd.Parameters.AddWithValue("@Source", Source)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
hasEntry = True
@@ -229,7 +234,6 @@ Public Class cTrdProduct
Property Rechnungsdatum As Date
Property Rechnungsnummer As Integer
Property Leistungsnummer As Integer
Property Leistungsbezeichnung As String
Property Steuerpflichtig As Boolean
@@ -241,6 +245,7 @@ Public Class cTrdProduct
Property Sachkonto As Object = Nothing
Property Buchungstext As Object = Nothing
Property VZBetrag As Object = Nothing
Property Source As Object = Nothing
Dim SQL As New SQL
@@ -254,7 +259,6 @@ Public Class cTrdProduct
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsnummer", Leistungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsbezeichnung", Leistungsbezeichnung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig))
@@ -266,6 +270,7 @@ Public Class cTrdProduct
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto", Sachkonto))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZBetrag", VZBetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Source", Source))
Return list
End Function
@@ -406,7 +411,17 @@ Class TrdInvoice_FUNCTIONS
Dim WährungsdifferenzSteuerpflichtigerBetrag As Double
Dim WährungsdifferenzSteuerfreierBetrag As Integer
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma, Buchungsjahr), "FMZOLL", 9800)
Dim dt As DataTable
If Not Firma = 7 Then
dt = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma, Buchungsjahr, True), "FMZOLL", 9800)
Else
dt = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma, Buchungsjahr, False) & " UNION ALL " & getSQLString_SELECTForTrdInvoice_Barverkauf("VERA", "SUA", 5033, Buchungsjahr, True), "FMZOLL", 9800) 'Nur Leigheldkonto!
End If
Dim dtVZ As DataTable
@@ -416,9 +431,9 @@ Class TrdInvoice_FUNCTIONS
For Each ROW In dt.Rows
Dim TRD_INVOICE As VERAG_PROG_ALLGEMEIN.cTrdInvoice
If Buchungsjahr > 2000 Then
TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"), Buchungsjahr) 'nur UNISPED!!!!
TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"), Buchungsjahr, ROW("Source")) 'nur UNISPED!!!!
Else
TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"))
TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"), ROW("Source"))
End If
@@ -433,25 +448,21 @@ Class TrdInvoice_FUNCTIONS
TRD_INVOICE.SteuerfreierBetragLokal = ROW("RK_SteuerfreierBetrag")
TRD_INVOICE.SteuerbetragLokal = ROW("RK_Steuerbetrag")
TRD_INVOICE.RechnungsbetragLokal = ROW("RK_Rechnungsbetrag")
TRD_INVOICE.SteuerpflichtigerBetragFremd = 0
TRD_INVOICE.SteuerfreierBetragFremd = 0
TRD_INVOICE.SteuerbetragFremd = 0
TRD_INVOICE.RechnungsbetragFremd = 0
TRD_INVOICE.WährungFremd = Nothing
Else
TRD_INVOICE.SteuerpflichtigerBetragFremd = ROW("RK_SteuerpflichtigerBetrag")
TRD_INVOICE.SteuerfreierBetragFremd = ROW("RK_SteuerfreierBetrag")
TRD_INVOICE.SteuerbetragFremd = ROW("RK_Steuerbetrag")
TRD_INVOICE.RechnungsbetragFremd = ROW("RK_Rechnungsbetrag")
TRD_INVOICE.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RK_SteuerpflichtigerBetrag"), ROW("RK_Währungscode"), LOKALWÄHRUNG)
TRD_INVOICE.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RK_SteuerfreierBetrag"), ROW("RK_Währungscode"), LOKALWÄHRUNG)
TRD_INVOICE.SteuerbetragLokal = CDbl(TRD_INVOICE.SteuerpflichtigerBetragLokal * ROW("RK_SteuersatzProzent") * 100) / 100
TRD_INVOICE.RechnungsbetragLokal = TRD_INVOICE.SteuerpflichtigerBetragLokal + TRD_INVOICE.SteuerfreierBetragLokal + TRD_INVOICE.SteuerbetragLokal
' Basis zur Feststellung von Rundungsdifferenzen schaffen.
TRD_INVOICE.SteuerpflichtigerBetragLokal = 0
TRD_INVOICE.SteuerfreierBetragLokal = 0
TRD_INVOICE.SteuerbetragLokal = 0
@@ -485,6 +496,12 @@ Class TrdInvoice_FUNCTIONS
TRD_INVOICE.Abgleich_op_debitor = 0
TRD_INVOICE.Nettozahlungsziel = ROW("RK_Nettozahlungsziel")
TRD_INVOICE.Firma_ID = ROW("RK_Firma_ID")
TRD_INVOICE.BV = 0
TRD_INVOICE.Source = ROW("Source")
If TRD_INVOICE.FilialenNr = 4813 AndAlso TRD_INVOICE.Firma_ID = 7 Then
TRD_INVOICE.BV = 1
End If
If dtVZ IsNot Nothing AndAlso dtVZ.Rows.Count > 0 Then
For Each VZ_ROW In dtVZ.Rows
@@ -503,16 +520,30 @@ Class TrdInvoice_FUNCTIONS
' Buchungstext &= " / nicht verzinsen"
ElseIf Buchungstext <> "" AndAlso Buchungstext.Contains("Zahlungen") Then
Buchungstext = Buchungstext.Replace("Zahlungen", "Zinsen")
End If
If TRD_INVOICE.Source = "KB" Then
Select Case TRD_INVOICE.BelegartenNr
Case "30" : Buchungstext &= " Ausgabe-LG"
Case "31" : Buchungstext &= " Einnahme-LG"
End Select
End If
If TRD_INVOICE.SAVE Then
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), Buchungstext, TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, TRD_INVOICE.VZ) Then
'UPDATE rechnugnsausgang
Dim firmaTmpsql = If(Firma > 0, " AND Firma_ID= '" & Firma & "' ", "")
Dim buchungsjahrTmpsql = If(Buchungsjahr > 0, " AND Buchungsjahr= '" & Buchungsjahr & "' ", "")
SQL.doSQL("UPDATE [Rechnungsausgang] SET [Trdin] = 1 WHERE convert(date,[RechnungsDatum] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND RechnungsNr = " & ROW("RK_RechnungsNr") & firmaTmpsql & buchungsjahrTmpsql, "FMZOLL")
If TRD_INVOICE.Source = "RE" Then
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), Buchungstext, TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, TRD_INVOICE.VZ, False) Then
Dim firmaTmpsql = If(Firma > 0, " AND Firma_ID= '" & Firma & "' ", "")
Dim buchungsjahrTmpsql = If(Buchungsjahr > 0, " AND Buchungsjahr= '" & Buchungsjahr & "' ", "")
SQL.doSQL("UPDATE [Rechnungsausgang] SET [Trdin] = 1 WHERE convert(date,[RechnungsDatum] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND RechnungsNr = " & ROW("RK_RechnungsNr") & firmaTmpsql & buchungsjahrTmpsql, "FMZOLL")
End If
ElseIf TRD_INVOICE.Source = "KB" Then
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), Buchungstext, TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, TRD_INVOICE.VZ, True) Then
SQL.doSQL("UPDATE [tblKassenbuch] SET [Trdin] = 1 WHERE tblKassenbuch.Mandant='VERA' and tblKassenbuch.Niederlassung='SUA' And Konto=5033 AND convert(date,[BelegDat] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND BelegNr = " & ROW("RK_RechnungsNr"), "FMZOLL")
End If
End If
End If
End If
Next
@@ -533,12 +564,21 @@ Class TrdInvoice_FUNCTIONS
Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, TRD_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, isVZ) As Boolean
Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, TRD_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, isVZ, isBV) As Boolean
Try
Dim LOKALWÄHRUNG = "EUR"
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct(RechnungsDatum, RK_RechnungsNr, RK_Firma_ID, Buchungsjahr), "FMZOLL")
Dim dt As DataTable
If isBV Then
dt = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct_Barverkauf(RechnungsDatum, RK_RechnungsNr, RK_Firma_ID, Buchungsjahr), "FMZOLL")
Else
dt = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct(RechnungsDatum, RK_RechnungsNr, RK_Firma_ID, Buchungsjahr), "FMZOLL")
End If
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
For Each ROW In dt.Rows
Dim TRD_PRODUCT As New VERAG_PROG_ALLGEMEIN.cTrdProduct()
@@ -576,7 +616,6 @@ Class TrdInvoice_FUNCTIONS
End If
End If
TRD_PRODUCT.Leistungsnummer = ROW("RP_LeistungsNr")
TRD_PRODUCT.Leistungsbezeichnung = ROW("RP_LeistungsBez")
TRD_PRODUCT.Steuerpflichtig = ROW("RP_Steuerpflichtig")
@@ -584,6 +623,17 @@ Class TrdInvoice_FUNCTIONS
TRD_PRODUCT.Sachkonto = getSachkonto(RK_Firma_ID, ROW("RP_LeistungsNr"), RK_RechnungsLandKz, ROW("RP_Steuerpflichtig"), ROW("AufschubkontoNr"))
TRD_PRODUCT.Buchungstext = RK_Buchungstext
If TRD_PRODUCT.Buchungstext.ToString.Contains("Pos. ") Then
TRD_PRODUCT.Buchungstext = TRD_PRODUCT.Buchungstext.ToString.Replace("Pos. ", "")
End If
If TRD_PRODUCT.Buchungstext IsNot Nothing AndAlso TRD_PRODUCT.Buchungstext.Length > 35 Then
TRD_PRODUCT.Buchungstext = TRD_PRODUCT.Buchungstext.ToString.Replace("Pos. ", "")
TRD_PRODUCT.Buchungstext = TRD_PRODUCT.Buchungstext.Substring(0, Math.Min(35, TRD_PRODUCT.Buchungstext.Length))
End If
If isVZ > 0 Then
Select Case ROW("RP_LeistungsNr")
Case "123", "124", "125", "126", "128", "117", "118", "119"
@@ -596,7 +646,11 @@ Class TrdInvoice_FUNCTIONS
End If
If isBV Then
TRD_PRODUCT.Source = "KB"
Else
TRD_PRODUCT.Source = "RE"
End If
TRD_PRODUCT.SAVE()
Next
@@ -706,7 +760,7 @@ Class TrdInvoice_FUNCTIONS
getSachkonto = CInt(getSachkonto)
End Function
Shared Function getSQLString_SELECTForTrdInvoice(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1)
Shared Function getSQLString_SELECTForTrdInvoice(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1, Optional WithOrderClause As Boolean = True)
getSQLString_SELECTForTrdInvoice = "SELECT Rechnungsausgang.RechnungsDatum AS RK_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RK_RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum) AS RK_Abfertigungsdatum, min(Rechnungsausgang.FilialenNr) AS RK_FilialenNr,
min(Rechnungsausgang.AbfertigungsNr) AS RK_AbfertigungsNr, min(Rechnungsausgang.UnterNr) AS RK_UnterNr, min(Rechnungsausgang.BelegartenNr) AS RK_BelegartenNr,
case when min(Firma_ID)=19 and min(Rechnungsausgang.FilialenNr) = 8001 and min(Rechnungsausgang.OffertenNr) = 95 then
@@ -720,14 +774,51 @@ Class TrdInvoice_FUNCTIONS
Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RK_SteuerfreierBetrag
, (Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100 AS RK_Steuerbetrag,
Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)+Sum(RechnungsausgangPositionen.SteuerfreierBetrag)+((Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100) AS RK_Rechnungsbetrag,
Count(1) AS RK_Satzzähler, '' as VZ
Count(1) AS RK_Satzzähler, '' as VZ, 0 as BV, 'RE' as Source
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
WHERE (((Rechnungsausgang.RechnungsDatum) Is Not Null) AND ((Rechnungsausgang.RechnungsNr) Is Not Null) AND ((Rechnungsausgang.Trdin)=0)) " & If(Firma > 0, " and Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Buchungsjahr=" & Buchungsjahr, "") & "
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr"
If WithOrderClause Then
getSQLString_SELECTForTrdInvoice &= " ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
End If
'" & If(Firma = 4, " and Rechnungsausgang.RechnungsNr='23800029'", "") & "
End Function
Shared Function getSQLString_SELECTForTrdInvoice_Barverkauf(Mandant As String, Niederlassung As String, Konto As Integer, Optional Buchungsjahr As Integer = -1, Optional WithOrderClause As Boolean = True) 'NUR LEIHGELD-KASE ATILLA!
getSQLString_SELECTForTrdInvoice_Barverkauf = " select
max(tblKassenbuch.BelegDat) as RK_RechnungsDatum,max(tblKassenbuch.rksv_BelegId) as RK_RechnungsNr,max(tblKassenbuch.BelegDat) AS RK_Abfertigungsdatum, min([tblEABelegnummer].FilialenNr) as RK_FilialenNr, min([tblEABelegnummer].AbfertigungsNr) AS RK_AbfertigungsNr, min(tblKassenbuch.UnterNr) AS RK_UnterNr,
case when SUM(soll) > 0 then
'31' --Einnahme
else
'30' -- Ausgabe
end as RK_BelegartenNr,
ISNULL(MIN(Buchungstext), '') + ' ' +ISNULL(MIN([LKW Kennzeichen]), '') + ' ' +ISNULL(MIN(Fahrer), '') AS RK_Buchungstext,
case when SUM(soll) > 0 then
MIN(KundenNr)
else
2700
end as RK_KundenNrZentrale,
0 AS RK_RechnungsKundenNr, 'AT' AS RK_RechnungsLandKz, '' AS RK_RechnungsUstIdKz,
''AS RK_RechnungsUstIdNr, 0 AS RK_Lastschrift, 0 AS RK_Steuerschlüssel, 0 AS RK_SteuersatzProzent, 'EUR' AS RK_Währungscode,
0 AS RK_Nettozahlungsziel, 7 as Firma_ID,0 AS RK_SteuerpflichtigerBetrag, (SUM(soll) + SUM(haben)) AS RK_SteuerfreierBetrag,
0 AS RK_Steuerbetrag, (SUM(soll) + SUM(haben)) AS RK_Rechnungsbetrag,Count(1) AS RK_Satzzähler,'' as VZ,1 as BV,'KB' as Source
FROM [tblKassenbuch]
inner join [tblEABelegnummer] on [tblEABelegnummer].Mandant=tblKassenbuch.Mandant AND [tblEABelegnummer].Niederlassung=tblKassenbuch.Niederlassung AND [tblEABelegnummer].Benutzer=tblKassenbuch.Benutzer AND [tblEABelegnummer].BelegDat=tblKassenbuch.BelegDat AND [tblEABelegnummer].BelegNr=tblKassenbuch.BelegNr
WHERE tblKassenbuch.Mandant='" & Mandant & "' and tblKassenbuch.Niederlassung='" & Niederlassung & "' And Konto= " & Konto & " and Trdin = 0 " & If(Buchungsjahr > 0, " and Year(cast(Buchungsdatum as date)) =" & Buchungsjahr, "") & "
group by tblKassenbuch.rksv_BelegId, KundenNr"
If WithOrderClause Then
getSQLString_SELECTForTrdInvoice_Barverkauf &= " ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
End If
End Function
Shared Function getSQLString_SELECT_VZ(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1)
getSQLString_SELECT_VZ = "SELECT Rechnungsausgang.RechnungsDatum AS RK_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RK_RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum) AS RK_Abfertigungsdatum, min(Rechnungsausgang.FilialenNr) AS RK_FilialenNr,
min(Rechnungsausgang.AbfertigungsNr) AS RK_AbfertigungsNr, min(Rechnungsausgang.UnterNr) AS RK_UnterNr, min(Rechnungsausgang.BelegartenNr) AS RK_BelegartenNr,max(CONVERT(int,isnull(tblUStVPositionen.UStVPo_VZ,0))) as VZ, MAX(isnull(tblUStVPositionen.UStVAn_ID,0)) as AntragsID
@@ -749,4 +840,40 @@ Class TrdInvoice_FUNCTIONS
HAVING (((Rechnungsausgang.RechnungsDatum)='" & RechnungsDatum.ToShortDateString & "') AND ((Rechnungsausgang.RechnungsNr)=" & RechnungsNr & ")) " & If(Firma > 0, " and Rechnungsausgang.Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Rechnungsausgang.Buchungsjahr=" & Buchungsjahr, "") & "
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig;"
End Function
Shared Function getSQLString_SELECTForTrdProduct_Barverkauf(RechnungsDatum As Date, RechnungsNr As Integer, Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1)
getSQLString_SELECTForTrdProduct_Barverkauf = " select max(BelegDat) as RK_RechnungsDatum,max(rksv_BelegId) as RK_RechnungsNr,max(BelegDat) AS RK_Abfertigungsdatum, min(FilialenNr) as RK_FilialenNr, min(AbfertigungsNr) AS RK_AbfertigungsNr, min(UnterNr) AS RK_UnterNr,
case when SUM(soll) > 0 then
'Einnahme-LG'
else
'Ausgabe-LG'
end as RP_LeistungsBez,
0 as RP_Steuerpflichtig,
min(Buchungstext) as RK_Buchungstext,
110 as RP_LeistungsNr,
0 AS RK_KundenNrZentrale,
0 AS RK_RechnungsKundenNr,
'AT' AS RK_RechnungsLandKz,
'' AS RK_RechnungsUstIdKz,
''AS RK_RechnungsUstIdNr,
0 AS RK_Lastschrift,
0 AS RK_Steuerschlüssel,
0 AS RK_SteuersatzProzent,
'EUR' AS RK_Währungscode,
0 AS RK_Nettozahlungsziel,
7 as Firma_ID,
0 AS RP_SteuerpflichtigerBetrag,
(SUM(soll) + SUM(haben)) AS RP_SteuerfreierBetrag,
0 AS RK_Steuerbetrag,
(SUM(soll) + SUM(haben)) AS RK_Rechnungsbetrag,
Count(1) AS RP_Satzzähler,
'' as VZ,
1 as BV,
'KB' as Source,
'' as RP_Belegdaten,
'' as AufschubkontoNr
FROM [tblKassenbuch] where tblKassenbuch.Mandant='VERA' and tblKassenbuch.Niederlassung='SUA' And Konto=5033
group by rksv_BelegId
HAVING max(BelegDat)='" & RechnungsDatum.ToShortDateString & "' AND rksv_BelegId=" & RechnungsNr
End Function
End Class