748 lines
42 KiB
VB.net
748 lines
42 KiB
VB.net
Imports System.Data.SqlClient
|
|
Imports System.Reflection
|
|
|
|
Public Class cTrdInvoice
|
|
|
|
Property Rechnungsdatum As Date
|
|
Property Rechnungsnummer As Integer
|
|
Property Speditionsbuch As Object = Nothing
|
|
Property FilialenNr As Object = Nothing
|
|
Property AbfertigungsNr As Object = Nothing
|
|
Property UnterNr As Object = Nothing
|
|
Property Abfertigungsdatum As Object = Nothing
|
|
Property BelegartenNr As Object = Nothing
|
|
Property KundenNrZentrale As Object = Nothing
|
|
Property RechnungsKundenNr As Object = Nothing
|
|
Property RechnungsLandKz As Object = Nothing
|
|
Property RechnungsUstIdKz As Object = Nothing
|
|
Property RechnungsUstIdNr As Object = Nothing
|
|
Property Lastschrift As Object = Nothing
|
|
Property Steuerschlüssel As Object = Nothing
|
|
Property Steuersatz As Object = Nothing '[Steuersatz %]
|
|
Property WährungLokal As Object = Nothing
|
|
Property SteuerpflichtigerBetragLokal As Object = Nothing
|
|
Property SteuerfreierBetragLokal As Object = Nothing
|
|
Property SteuerbetragLokal As Object = Nothing
|
|
Property RechnungsbetragLokal As Object = Nothing
|
|
Property WährungFremd As Object = Nothing
|
|
Property SteuerpflichtigerBetragFremd As Object = Nothing
|
|
Property SteuerfreierBetragFremd As Object = Nothing
|
|
Property SteuerbetragFremd As Object = Nothing
|
|
Property RechnungsbetragFremd As Object = Nothing
|
|
Property TrdinDateiname As Object = Nothing
|
|
Property Abgleich_op_debitor As Object = Nothing
|
|
Property Nettozahlungsziel As Object = Nothing
|
|
Property Firma_ID As Object = Nothing
|
|
Property UStVAn_ID As Object = Nothing
|
|
Property VZ As Integer
|
|
|
|
Property hasEntry As Boolean = False
|
|
|
|
|
|
Dim SQL As New SQL
|
|
|
|
Sub New()
|
|
|
|
End Sub
|
|
|
|
Sub New(Rechnungsdatum, Rechnungsnummer)
|
|
Me.Rechnungsnummer = Rechnungsnummer
|
|
Me.Rechnungsdatum = Rechnungsdatum
|
|
LOAD()
|
|
End Sub
|
|
|
|
Sub New(Rechnungsdatum, Rechnungsnummer, Buchungsjahr)
|
|
Me.Rechnungsnummer = Buchungsjahr.ToString.Substring(2, 2) & Rechnungsnummer
|
|
Me.Rechnungsdatum = Rechnungsdatum
|
|
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))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenNr", BelegartenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNrZentrale", KundenNrZentrale))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsKundenNr", RechnungsKundenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsLandKz", RechnungsLandKz))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdKz", RechnungsUstIdKz))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdNr", RechnungsUstIdNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift", Lastschrift))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerschlüssel", Steuerschlüssel))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuersatz %", Steuersatz, "Steuersatz")) '[Steuersatz %]
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WährungLokal", WährungLokal))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragLokal", SteuerpflichtigerBetragLokal))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragLokal", SteuerfreierBetragLokal))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerbetragLokal", SteuerbetragLokal))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsbetragLokal", RechnungsbetragLokal))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WährungFremd", WährungFremd))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragFremd", SteuerpflichtigerBetragFremd))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragFremd", SteuerfreierBetragFremd))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerbetragFremd", SteuerbetragFremd))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsbetragFremd", RechnungsbetragFremd))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TrdinDateiname", TrdinDateiname))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abgleich_op_debitor", Abgleich_op_debitor))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nettozahlungsziel", Nettozahlungsziel))
|
|
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))
|
|
|
|
|
|
Return list
|
|
End Function
|
|
|
|
|
|
|
|
|
|
Public Function SAVE() As Boolean
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
|
|
|
|
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTrdinInvoice WITH(updlock,serializable) WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum) " &
|
|
" BEGIN " & getUpdateCmd() & " END " &
|
|
" Else " &
|
|
" BEGIN " & getInsertCmd() & " END " &
|
|
" commit tran "
|
|
|
|
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
|
End Function
|
|
|
|
|
|
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)
|
|
cmd.Parameters.AddWithValue("@Rechnungsnummer", Rechnungsnummer)
|
|
cmd.Parameters.AddWithValue("@Rechnungsdatum", Rechnungsdatum)
|
|
Dim dr = cmd.ExecuteReader()
|
|
If dr.Read Then
|
|
hasEntry = True
|
|
For Each li In getParameterList()
|
|
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
|
|
|
|
If dr.Item(li.Text) Is DBNull.Value Then
|
|
propInfo.SetValue(Me, Nothing)
|
|
Else
|
|
propInfo.SetValue(Me, dr.Item(li.Text))
|
|
End If
|
|
Next
|
|
|
|
End If
|
|
dr.Close()
|
|
End Using
|
|
End Using
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Public Function getUpdateCmd() As String
|
|
Try
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
|
|
Dim str As String = ""
|
|
For Each i In list
|
|
If Not i.isPrimaryParam Then
|
|
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
|
End If
|
|
Next
|
|
str = str.Substring(0, str.Length - 1) 'wg. ','
|
|
Return (" UPDATE [tblTrdinInvoice] SET " & str & " WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ")
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
Public Function getInsertCmd() As String
|
|
Try
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
Dim str As String = ""
|
|
Dim values As String = ""
|
|
For Each i In list
|
|
If Not i.isPrimaryParam Then
|
|
str &= "[" & i.Text & "],"
|
|
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
|
End If
|
|
Next
|
|
str = str.Substring(0, str.Length - 1) 'wg. ','
|
|
values = values.Substring(0, values.Length - 1) 'wg. ','
|
|
Return (" INSERT INTO tblTrdinInvoice (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
|
Dim sqlstr = " DELETE FROM [tblTrdinInvoice] WITH(updlock,serializable) WHERE Rechnungsnummer=" & Me.Rechnungsnummer & " and Rechnungsdatum='" & Me.Rechnungsdatum.ToShortDateString & "'"
|
|
Return SQL.doSQL(sqlstr, "FMZOLL")
|
|
End Function
|
|
|
|
|
|
Public Shared Function GET_RECHNUNGEN(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, Optional Archiv As Boolean = False) As Boolean
|
|
Try
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
|
|
|
Using cmd As New SqlCommand(" SELECT tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer, tblTrdinInvoice.SteuerbetragLokal, tblTrdinInvoice.UStVAn_ID, tblTrdinInvoice.FilialenNr
|
|
FROM tblTrdinInvoice
|
|
WHERE tblTrdinInvoice.Rechnungsdatum Between @von And @bis AND tblTrdinInvoice.SteuerbetragLokal<>0 AND tblTrdinInvoice.RechnungsKundenNr=@AdressenNr AND tblTrdinInvoice.WährungLokal='EUR'" & IIf(Archiv, " ", " AND isnull(tblTrdinInvoice.UStVAn_ID,0) = 0 ") & "
|
|
ORDER BY tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer", conn)
|
|
|
|
cmd.Parameters.AddWithValue("@von", von)
|
|
cmd.Parameters.AddWithValue("@bis", bis)
|
|
cmd.Parameters.AddWithValue("@AdressenNr", KundenNr)
|
|
|
|
Dim dr = cmd.ExecuteReader()
|
|
dt.Load(dr)
|
|
'While dr.Read
|
|
' dt.Load(dr)
|
|
'End While
|
|
dr.Close()
|
|
|
|
End Using
|
|
End Using
|
|
Return True
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
End Class
|
|
|
|
|
|
|
|
Public Class cTrdProduct
|
|
|
|
Property Rechnungsdatum As Date
|
|
Property Rechnungsnummer As Integer
|
|
|
|
Property Leistungsnummer As Integer
|
|
Property Leistungsbezeichnung As String
|
|
Property Steuerpflichtig As Boolean
|
|
Property SteuerpflichtigerBetragLokal As Object = Nothing
|
|
Property SteuerfreierBetragLokal As Object = Nothing
|
|
Property SteuerpflichtigerBetragFremd As Object = Nothing
|
|
Property SteuerfreierBetragFremd As Object = Nothing
|
|
Property Belegdaten As Object = Nothing
|
|
Property Sachkonto As Object = Nothing
|
|
Property Buchungstext As Object = Nothing
|
|
Property VZBetrag As Object = Nothing
|
|
|
|
|
|
Dim SQL As New SQL
|
|
|
|
Sub New()
|
|
|
|
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("Leistungsnummer", Leistungsnummer))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsbezeichnung", Leistungsbezeichnung))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragLokal", SteuerpflichtigerBetragLokal))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragLokal", SteuerfreierBetragLokal))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetragFremd", SteuerpflichtigerBetragFremd))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetragFremd", SteuerfreierBetragFremd))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdaten", Belegdaten))
|
|
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))
|
|
|
|
Return list
|
|
End Function
|
|
|
|
|
|
|
|
|
|
Public Function SAVE() As Boolean
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
|
|
|
|
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblTrdinProduct WITH(updlock,serializable) WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum and Leistungsnummer=@Leistungsnummer and Leistungsbezeichnung=@Leistungsbezeichnung and Steuerpflichtig=@Steuerpflichtig) " &
|
|
" BEGIN " & getUpdateCmd() & " END " &
|
|
" Else " &
|
|
" BEGIN " & getInsertCmd() & " END " &
|
|
" commit tran "
|
|
|
|
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
|
End Function
|
|
|
|
|
|
'Public Sub LOAD()
|
|
' Try
|
|
' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
|
' Using cmd As New SqlCommand("SELECT * FROM tblTrdinProduct WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ", conn)
|
|
' cmd.Parameters.AddWithValue("@Rechnungsnummer", Rechnungsnummer)
|
|
' cmd.Parameters.AddWithValue("@Rechnungsdatum", Rechnungsdatum)
|
|
' Dim dr = cmd.ExecuteReader()
|
|
' If dr.Read Then
|
|
' For Each l In getParameterList()
|
|
' Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
|
|
|
|
' If dr.Item(l.Text) Is DBNull.Value Then
|
|
' propInfo.SetValue(Me, Nothing)
|
|
' Else
|
|
' propInfo.SetValue(Me, dr.Item(l.Text))
|
|
' End If
|
|
|
|
' Next
|
|
|
|
' End If
|
|
' dr.Close()
|
|
' End Using
|
|
' End Using
|
|
' Catch ex As Exception
|
|
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
' End Try
|
|
'End Sub
|
|
|
|
|
|
Public Function getUpdateCmd() As String
|
|
Try
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
|
|
Dim str As String = ""
|
|
For Each i In list
|
|
If Not i.isPrimaryParam Then
|
|
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
|
End If
|
|
Next
|
|
str = str.Substring(0, str.Length - 1) 'wg. ','
|
|
Return (" UPDATE [tblTrdinProduct] SET " & str & " WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum and Leistungsnummer=@Leistungsnummer and Leistungsbezeichnung=@Leistungsbezeichnung and Steuerpflichtig=@Steuerpflichtig ")
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
Public Function getInsertCmd() As String
|
|
Try
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
Dim str As String = ""
|
|
Dim values As String = ""
|
|
For Each i In list
|
|
If Not i.isPrimaryParam Then
|
|
str &= "[" & i.Text & "],"
|
|
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
|
End If
|
|
Next
|
|
str = str.Substring(0, str.Length - 1) 'wg. ','
|
|
values = values.Substring(0, values.Length - 1) 'wg. ','
|
|
Return (" INSERT INTO tblTrdinProduct (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
Public Shared Function GET_PRODUCTS(ByRef dt As DataTable, RechnungsDatum As Date, RechnungsNr As Integer) As Boolean
|
|
Try
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
|
|
|
Using cmd As New SqlCommand(" SELECT tblTrdinProduct.Leistungsnummer, tblTrdinProduct.Leistungsbezeichnung
|
|
FROM tblTrdinProduct
|
|
WHERE cast(tblTrdinProduct.Rechnungsdatum as Date) =@reDatum AND tblTrdinProduct.Rechnungsnummer=@RechnungsNr AND tblTrdinProduct.Steuerpflichtig=1
|
|
ORDER BY tblTrdinProduct.Leistungsnummer, tblTrdinProduct.Leistungsbezeichnung", conn)
|
|
|
|
|
|
cmd.Parameters.AddWithValue("@reDatum", RechnungsDatum)
|
|
cmd.Parameters.AddWithValue("@RechnungsNr", RechnungsNr)
|
|
'If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0))
|
|
|
|
Dim dr = cmd.ExecuteReader()
|
|
dt.Load(dr)
|
|
'While dr.Read
|
|
' dt.Load(dr)
|
|
'End While
|
|
dr.Close()
|
|
|
|
End Using
|
|
End Using
|
|
Return True
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
End Class
|
|
|
|
|
|
|
|
Class TrdInvoice_FUNCTIONS
|
|
|
|
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Shared Function TrdinSchreiben(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1) As Boolean 'Lädt die Daten aus der Tabelle Rechnungsausgang/RechnungsausgangPositionen in die Tabelle trdInvoice/trdProduct
|
|
Try
|
|
|
|
Dim LOKALWÄHRUNG = "EUR"
|
|
Dim lngSatzzähler As Integer
|
|
Dim WährungsdifferenzSteuerpflichtigerBetrag As Double
|
|
Dim WährungsdifferenzSteuerfreierBetrag As Integer
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma, Buchungsjahr), "FMZOLL", 9800)
|
|
|
|
Dim dtVZ As DataTable
|
|
|
|
If Firma = 19 Then dtVZ = SQL.loadDgvBySql(getSQLString_SELECT_VZ(Firma, Buchungsjahr), "FMZOLL", 9800)
|
|
|
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
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!!!!
|
|
Else
|
|
TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"))
|
|
End If
|
|
|
|
|
|
If TRD_INVOICE.hasEntry Then
|
|
' MsgBox("RG-Nr. bereits vorhanden!")
|
|
Else
|
|
Dim RK_Währungscode = ROW("RK_Währungscode")
|
|
If ROW("RK_Währungscode") Is DBNull.Value Then RK_Währungscode = LOKALWÄHRUNG
|
|
|
|
If RK_Währungscode = LOKALWÄHRUNG Then
|
|
TRD_INVOICE.SteuerpflichtigerBetragLokal = ROW("RK_SteuerpflichtigerBetrag")
|
|
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
|
|
TRD_INVOICE.RechnungsbetragLokal = 0
|
|
TRD_INVOICE.RechnungsbetragLokal = 0
|
|
|
|
WährungsdifferenzSteuerpflichtigerBetrag = TRD_INVOICE.SteuerpflichtigerBetragLokal
|
|
WährungsdifferenzSteuerfreierBetrag = TRD_INVOICE.SteuerfreierBetragLokal
|
|
lngSatzzähler = ROW("RK_Satzzähler")
|
|
|
|
TRD_INVOICE.WährungFremd = RK_Währungscode
|
|
End If
|
|
|
|
|
|
TRD_INVOICE.FilialenNr = ROW("RK_FilialenNr")
|
|
TRD_INVOICE.Speditionsbuch = SQL.DLookup("Speditionsbuch", "Filialen", "FilialenNr=" & ROW("RK_FilialenNr"), "FMZOLL", Nothing) ' ROW("Speditionsbuch")
|
|
TRD_INVOICE.AbfertigungsNr = ROW("RK_AbfertigungsNr")
|
|
TRD_INVOICE.UnterNr = ROW("RK_UnterNr")
|
|
TRD_INVOICE.Abfertigungsdatum = ROW("RK_Abfertigungsdatum")
|
|
TRD_INVOICE.BelegartenNr = ROW("RK_BelegartenNr")
|
|
TRD_INVOICE.KundenNrZentrale = ROW("RK_KundenNrZentrale")
|
|
TRD_INVOICE.RechnungsKundenNr = ROW("RK_RechnungsKundenNr")
|
|
TRD_INVOICE.RechnungsLandKz = ROW("RK_RechnungsLandKz")
|
|
TRD_INVOICE.RechnungsUstIdKz = ROW("RK_RechnungsUstIdKz")
|
|
TRD_INVOICE.RechnungsUstIdNr = ROW("RK_RechnungsUstIdNr")
|
|
TRD_INVOICE.Lastschrift = ROW("RK_Lastschrift")
|
|
TRD_INVOICE.Steuerschlüssel = ROW("RK_Steuerschlüssel")
|
|
TRD_INVOICE.Steuersatz = ROW("RK_SteuersatzProzent")
|
|
TRD_INVOICE.WährungLokal = LOKALWÄHRUNG
|
|
TRD_INVOICE.TrdinDateiname = Nothing
|
|
TRD_INVOICE.Abgleich_op_debitor = 0
|
|
TRD_INVOICE.Nettozahlungsziel = ROW("RK_Nettozahlungsziel")
|
|
TRD_INVOICE.Firma_ID = ROW("RK_Firma_ID")
|
|
|
|
If dtVZ IsNot Nothing AndAlso dtVZ.Rows.Count > 0 Then
|
|
For Each VZ_ROW In dtVZ.Rows
|
|
If CDate(TRD_INVOICE.Rechnungsdatum) = CDate(VZ_ROW("RK_RechnungsDatum")) And TRD_INVOICE.FilialenNr.ToString = VZ_ROW("RK_FilialenNr").ToString And TRD_INVOICE.AbfertigungsNr = VZ_ROW("RK_AbfertigungsNr") And CDate(TRD_INVOICE.Abfertigungsdatum) = CDate(VZ_ROW("RK_Abfertigungsdatum")) And TRD_INVOICE.UnterNr = VZ_ROW("RK_UnterNr") And TRD_INVOICE.BelegartenNr = VZ_ROW("RK_BelegartenNr") Then
|
|
TRD_INVOICE.UStVAn_ID = VZ_ROW("AntragsID")
|
|
TRD_INVOICE.VZ = CInt(VZ_ROW("VZ"))
|
|
End If
|
|
Next
|
|
|
|
End If
|
|
|
|
Dim Buchungstext As String = ROW("RK_Buchungstext")
|
|
|
|
If Buchungstext <> "" AndAlso Buchungstext.Contains("Abrechnungsperiode von") Then
|
|
Buchungstext = Buchungstext.Replace("Abrechnungsperiode von", "Zinsen")
|
|
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")
|
|
End If
|
|
End If
|
|
End If
|
|
Next
|
|
Return True
|
|
|
|
Else
|
|
Return False
|
|
End If
|
|
|
|
' Buchung im Rechnungskopfsatz eintragen.
|
|
' Call SPAktionsabfrageOhneErgebnis("dbo.spTrdinSchreibenUpdateRK", AktuelleVerbindungszeichenfolge(0), rstRK![RK_RechnungsDatum], rstRK![RK_RechnungsNr], 1)
|
|
Catch ex As Exception
|
|
MsgBox(ex.StackTrace & "" & ex.Message)
|
|
Return False
|
|
End Try
|
|
|
|
End Function
|
|
|
|
|
|
|
|
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
|
|
Try
|
|
|
|
Dim LOKALWÄHRUNG = "EUR"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct(RechnungsDatum, RK_RechnungsNr, RK_Firma_ID, Buchungsjahr), "FMZOLL")
|
|
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()
|
|
|
|
TRD_PRODUCT.Rechnungsdatum = RechnungsDatum
|
|
TRD_PRODUCT.Rechnungsnummer = TRD_RechnungsNr
|
|
|
|
|
|
If RK_Währungscode = LOKALWÄHRUNG Then
|
|
TRD_PRODUCT.SteuerpflichtigerBetragLokal = ROW("RP_SteuerpflichtigerBetrag")
|
|
TRD_PRODUCT.SteuerfreierBetragLokal = ROW("RP_SteuerfreierBetrag")
|
|
|
|
TRD_PRODUCT.SteuerpflichtigerBetragFremd = 0
|
|
TRD_PRODUCT.SteuerfreierBetragFremd = 0
|
|
Else
|
|
TRD_PRODUCT.SteuerpflichtigerBetragFremd = ROW("RP_SteuerpflichtigerBetrag")
|
|
TRD_PRODUCT.SteuerfreierBetragFremd = ROW("RP_SteuerfreierBetrag")
|
|
|
|
|
|
TRD_PRODUCT.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RP_SteuerpflichtigerBetrag"), RK_Währungscode, LOKALWÄHRUNG)
|
|
TRD_PRODUCT.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RP_SteuerfreierBetrag"), RK_Währungscode, LOKALWÄHRUNG)
|
|
|
|
|
|
WährungsdifferenzSteuerpflichtigerBetrag -= TRD_PRODUCT.SteuerpflichtigerBetragLokal
|
|
WährungsdifferenzSteuerfreierBetrag -= TRD_PRODUCT.SteuerfreierBetragLokal
|
|
|
|
lngSatzzähler = lngSatzzähler - ROW("RP_Satzzähler")
|
|
If lngSatzzähler = 0 Then
|
|
If WährungsdifferenzSteuerpflichtigerBetrag <> 0 Then
|
|
TRD_PRODUCT.SteuerpflichtigerBetragLokal += WährungsdifferenzSteuerpflichtigerBetrag
|
|
End If
|
|
If WährungsdifferenzSteuerfreierBetrag <> 0 Then
|
|
TRD_PRODUCT.SteuerfreierBetragLokal += WährungsdifferenzSteuerfreierBetrag
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
TRD_PRODUCT.Leistungsnummer = ROW("RP_LeistungsNr")
|
|
TRD_PRODUCT.Leistungsbezeichnung = ROW("RP_LeistungsBez")
|
|
TRD_PRODUCT.Steuerpflichtig = ROW("RP_Steuerpflichtig")
|
|
TRD_PRODUCT.Belegdaten = ROW("RP_Belegdaten")
|
|
TRD_PRODUCT.Sachkonto = getSachkonto(RK_Firma_ID, ROW("RP_LeistungsNr"), RK_RechnungsLandKz, ROW("RP_Steuerpflichtig"), ROW("AufschubkontoNr"))
|
|
TRD_PRODUCT.Buchungstext = RK_Buchungstext
|
|
|
|
If isVZ > 0 Then
|
|
Select Case ROW("RP_LeistungsNr")
|
|
Case "123", "124", "125", "126", "128", "117", "118", "119"
|
|
TRD_PRODUCT.VZBetrag = TRD_PRODUCT.SteuerfreierBetragLokal
|
|
|
|
Case Else
|
|
TRD_PRODUCT.VZBetrag = 0
|
|
End Select
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
TRD_PRODUCT.SAVE()
|
|
Next
|
|
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.StackTrace & "" & ex.Message)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Shared Function getSachkonto(Firma_Id, RP_LeistungsNr, [RK_RechnungsLandKz], RP_Steuerpflichtig, RP_AufschubkontoNr)
|
|
' Sachkonto ermitteln.
|
|
Dim FIRMA = New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_Id)
|
|
|
|
Select Case Firma_Id
|
|
'Case 20 'IMEX --> Andere Sachkonten in Tbl Leistungen!
|
|
' If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" _
|
|
' OrElse [RK_RechnungsLandKz] = "A" _
|
|
' OrElse [RK_RechnungsLandKz] = "AT" Then
|
|
' If CBool([RP_Steuerpflichtig]) Then
|
|
' getSachkonto = If(SQL.DLookup("[IMEX_SachkontoInlandSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
|
|
' Else
|
|
' getSachkonto = If(SQL.DLookup("[IMEX_SachkontoInlandSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
' End If
|
|
' Else
|
|
' If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & [RK_RechnungsLandKz] & "'", "FMZOLL", False) Then
|
|
' If [RP_Steuerpflichtig] Then
|
|
' getSachkonto = If(SQL.DLookup("[IMEX_SachkontoEUSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
' Else
|
|
' getSachkonto = If(SQL.DLookup("[IMEX_SachkontoEUSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
' End If
|
|
' Else
|
|
' getSachkonto = If(SQL.DLookup("[IMEX_Sachkonto3Land]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
' End If
|
|
' End If
|
|
' If getSachkonto = "" Then getSachkonto = "9999" 'DEFAULT!
|
|
|
|
Case 20, 21, 22, 23, 24 '--> cLeistungenBUKonten!
|
|
Dim BU_KTO As New VERAG_PROG_ALLGEMEIN.cLeistungenBUKonten(RP_LeistungsNr, Firma_Id)
|
|
If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" OrElse
|
|
[RK_RechnungsLandKz] = FIRMA.Firma_LandKz.ToString.Replace("AT", "A").Replace("DE", "D") Then
|
|
|
|
If CBool([RP_Steuerpflichtig]) Then
|
|
getSachkonto = BU_KTO.SachkontoInlandSteuerpflichtig
|
|
|
|
Else
|
|
getSachkonto = BU_KTO.SachkontoInlandSteuerfrei
|
|
End If
|
|
Else
|
|
If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & [RK_RechnungsLandKz] & "'", "FMZOLL", False) Then
|
|
If [RP_Steuerpflichtig] Then
|
|
getSachkonto = BU_KTO.SachkontoEUSteuerpflichtig
|
|
Else
|
|
getSachkonto = BU_KTO.SachkontoEUSteuerfrei
|
|
End If
|
|
Else
|
|
getSachkonto = BU_KTO.Sachkonto3Land
|
|
End If
|
|
End If
|
|
If getSachkonto = "" Then getSachkonto = "9999" 'DEFAULT!
|
|
|
|
Case Else
|
|
If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" _
|
|
OrElse [RK_RechnungsLandKz] = "A" _
|
|
OrElse [RK_RechnungsLandKz] = "AT" Then
|
|
If CBool([RP_Steuerpflichtig]) Then
|
|
getSachkonto = If(SQL.DLookup("[SachkontoInlandSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
|
|
Else
|
|
getSachkonto = If(SQL.DLookup("[SachkontoInlandSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
End If
|
|
Else
|
|
If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & [RK_RechnungsLandKz] & "'", "FMZOLL", False) Then
|
|
If [RP_Steuerpflichtig] Then
|
|
getSachkonto = If(SQL.DLookup("[SachkontoEUSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
Else
|
|
getSachkonto = If(SQL.DLookup("[SachkontoEUSteuerfrei]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
End If
|
|
Else
|
|
getSachkonto = If(SQL.DLookup("[Sachkonto3Land]", "Leistungen", "[LeistungsNr]=" & [RP_LeistungsNr], "FMZOLL"), "")
|
|
End If
|
|
End If
|
|
If getSachkonto = "" Then getSachkonto = "4000" 'DEFAULT!
|
|
End Select
|
|
Try
|
|
|
|
If Firma_Id = 20 Then
|
|
If getSachkonto = "3553" Then 'IMEX EUST
|
|
If RP_AufschubkontoNr Is DBNull.Value Then RP_AufschubkontoNr = ""
|
|
If RP_AufschubkontoNr.ToString.Contains("2719") Then
|
|
getSachkonto = "3550" '--> KTO M-2719
|
|
Else
|
|
getSachkonto = "3553" '--> KTO M-2718
|
|
End If
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
getSachkonto = CInt(getSachkonto)
|
|
End Function
|
|
|
|
Shared Function getSQLString_SELECTForTrdInvoice(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1)
|
|
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
|
|
min(Rechnungsausgang.Vermerk)
|
|
else
|
|
(min(cast([FilialenNr] as varchar(4))) + '/' + min(cast([AbfertigungsNr] as varchar(8))) + '/' + min(cast([UnterNr] as varchar(2)))) end AS RK_Buchungstext,
|
|
min(Rechnungsausgang.KundenNrZentrale) AS RK_KundenNrZentrale, min(Rechnungsausgang.RechnungsKundenNr) AS RK_RechnungsKundenNr, min(Rechnungsausgang.RechnungsLandKz) AS RK_RechnungsLandKz,
|
|
min(Rechnungsausgang.RechnungsUstIdKz) AS RK_RechnungsUstIdKz, min(Rechnungsausgang.RechnungsUstIdNr) AS RK_RechnungsUstIdNr, min(Rechnungsausgang.Lastschrift+0) AS RK_Lastschrift,
|
|
min(Rechnungsausgang.Steuerschlüssel) AS RK_Steuerschlüssel, min(Rechnungsausgang.[Steuersatz %]) AS RK_SteuersatzProzent, min(Rechnungsausgang.Währungscode) AS RK_Währungscode,
|
|
min(Rechnungsausgang.Nettozahlungsziel) AS RK_Nettozahlungsziel, min(Rechnungsausgang.Firma_ID) AS RK_Firma_ID, Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS RK_SteuerpflichtigerBetrag,
|
|
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
|
|
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);"
|
|
'" & If(Firma = 4, " and Rechnungsausgang.RechnungsNr='23800029'", "") & "
|
|
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
|
|
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID LEFT JOIN tblUStVPositionen on Rechnungsausgang.RK_ID = UStVPo_VZ_RKID
|
|
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
|
|
HAVING max(CONVERT(int,isnull(tblUStVPositionen.UStVPo_VZ,0))) > 0
|
|
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
|
|
'" & If(Firma = 4, " and Rechnungsausgang.RechnungsNr='23800029'", "") & "
|
|
End Function
|
|
|
|
|
|
Shared Function getSQLString_SELECTForTrdProduct(RechnungsDatum As Date, RechnungsNr As Integer, Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1)
|
|
getSQLString_SELECTForTrdProduct = "SELECT Rechnungsausgang.RechnungsDatum AS RP_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RP_RechnungsNr, RechnungsausgangPositionen.LeistungsNr AS RP_LeistungsNr, RechnungsausgangPositionen.LeistungsBez AS RP_LeistungsBez,
|
|
RechnungsausgangPositionen.Steuerpflichtig AS RP_Steuerpflichtig, Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS RP_SteuerpflichtigerBetrag, Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RP_SteuerfreierBetrag,
|
|
min(RechnungsausgangPositionen.Belegdaten) AS RP_Belegdaten, Count(1) AS RP_Satzzähler, min(AufschubkontoNr) as AufschubkontoNr
|
|
FROM RechnungsausgangPositionen INNER JOIN Rechnungsausgang ON RechnungsausgangPositionen.RK_ID = Rechnungsausgang.RK_ID
|
|
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig " & If(Firma > 0, " ,Rechnungsausgang.Firma_ID ", "") & If(Buchungsjahr > 0, " ,Rechnungsausgang.Buchungsjahr ", "") & "
|
|
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
|
|
End Class |