new
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.Reflection
|
||||
|
||||
Public Class cRechnungsausgangLIST
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
Public Class cRechnungsausgang
|
||||
|
||||
Property RK_ID As Integer
|
||||
@@ -138,6 +143,90 @@ Public Class cRechnungsausgang
|
||||
End Function
|
||||
|
||||
|
||||
Public Shared Function GET_LIST_WEB(KundenNr As Integer, von As Date, bis As Date, Optional RechnungsNr As Integer = -1, Optional Absender As String = "", Optional Empfänger As String = "", Optional LKW_Kennzeichen As String = "", Optional KdAuftragsNr As String = "") As List(Of cRechnungsausgang)
|
||||
Dim LIST As New List(Of cRechnungsausgang)
|
||||
Try
|
||||
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||
|
||||
Dim sqlWHERE = ""
|
||||
If RechnungsNr > 0 Then sqlWHERE &= " AND RechnungsNr LIKE @RechnungsNr"
|
||||
If Absender <> "" Then sqlWHERE &= " AND Absender LIKE @Absender"
|
||||
If Empfänger <> "" Then sqlWHERE &= " AND Empfänger LIKE @Empfänger"
|
||||
If LKW_Kennzeichen <> "" Then sqlWHERE &= " AND [LKW Kennzeichen] LIKE @LKW_Kennzeichen"
|
||||
If KdAuftragsNr <> "" Then sqlWHERE &= " AND KdAuftragsNr LIKE @KdAuftragsNr"
|
||||
|
||||
|
||||
Using cmd As New SqlCommand("SELECT * FROM [Rechnungsausgang] WHERE RechnungsKundenNr=@RechnungsKundenNr and RechnungsDatum BETWEEN @RechnungsDatumVON and @RechnungsDatumBIS ORDER BY RechnungsNr ", conn)
|
||||
cmd.Parameters.AddWithValue("@RechnungsKundenNr", KundenNr)
|
||||
cmd.Parameters.AddWithValue("@RechnungsDatumVON", von)
|
||||
cmd.Parameters.AddWithValue("@RechnungsDatumBIS", bis)
|
||||
cmd.Parameters.AddWithValue("@Absender", Absender & "%")
|
||||
cmd.Parameters.AddWithValue("@Empfänger", Empfänger & "%")
|
||||
cmd.Parameters.AddWithValue("@LKW_Kennzeichen", "%" & LKW_Kennzeichen & "%")
|
||||
cmd.Parameters.AddWithValue("@KdAuftragsNr", "%" & KdAuftragsNr & "%")
|
||||
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
While dr.Read
|
||||
Dim RG As New cRechnungsausgang
|
||||
For Each li In RG.getParameterList()
|
||||
Dim propInfo As PropertyInfo = RG.GetType.GetProperty(li.Scalarvariable)
|
||||
|
||||
If dr.Item(li.Text) Is DBNull.Value Then
|
||||
propInfo.SetValue(RG, Nothing)
|
||||
Else
|
||||
propInfo.SetValue(RG, dr.Item(li.Text))
|
||||
End If
|
||||
|
||||
Next
|
||||
RG.doVorzeichen()
|
||||
LIST.Add(RG)
|
||||
' If loadPos Then LOAD_POSITIONEN()
|
||||
End While
|
||||
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
|
||||
Return LIST
|
||||
End Function
|
||||
|
||||
Public Shared Function GET_LIST_WEB_SR(RK_ID As Integer) As List(Of cRechnungsausgang)
|
||||
Dim LIST As New List(Of cRechnungsausgang)
|
||||
Try
|
||||
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||
|
||||
|
||||
Using cmd As New SqlCommand("SELECT * FROM [Rechnungsausgang] WHERE RK_ID=@RK_ID ", conn)
|
||||
cmd.Parameters.AddWithValue("@RK_ID", RK_ID)
|
||||
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
While dr.Read
|
||||
Dim RG As New cRechnungsausgang
|
||||
For Each li In RG.getParameterList()
|
||||
Dim propInfo As PropertyInfo = RG.GetType.GetProperty(li.Scalarvariable)
|
||||
|
||||
If dr.Item(li.Text) Is DBNull.Value Then
|
||||
propInfo.SetValue(RG, Nothing)
|
||||
Else
|
||||
propInfo.SetValue(RG, dr.Item(li.Text))
|
||||
End If
|
||||
|
||||
Next
|
||||
RG.doVorzeichen()
|
||||
LIST.Add(RG)
|
||||
' If loadPos Then LOAD_POSITIONEN()
|
||||
End While
|
||||
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
|
||||
Return LIST
|
||||
End Function
|
||||
|
||||
|
||||
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("RK_ID", RK_ID, , True, True))
|
||||
@@ -257,13 +346,13 @@ Public Class cRechnungsausgang
|
||||
cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr)
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
If dr.Read Then
|
||||
For Each l In getParameterList()
|
||||
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
|
||||
For Each li In getParameterList()
|
||||
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
|
||||
|
||||
If dr.Item(l.Text) Is DBNull.Value Then
|
||||
If dr.Item(li.Text) Is DBNull.Value Then
|
||||
propInfo.SetValue(Me, Nothing)
|
||||
Else
|
||||
propInfo.SetValue(Me, dr.Item(l.Text))
|
||||
propInfo.SetValue(Me, dr.Item(li.Text))
|
||||
End If
|
||||
|
||||
Next
|
||||
@@ -287,13 +376,13 @@ Public Class cRechnungsausgang
|
||||
cmd.Parameters.AddWithValue("@vk_AbfertigungsNr", AbfertigungsNr)
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
If dr.Read Then
|
||||
For Each l In VK.getParameterList()
|
||||
Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable)
|
||||
For Each li In VK.getParameterList()
|
||||
Dim propInfo As PropertyInfo = VK.GetType.GetProperty(li.Scalarvariable)
|
||||
|
||||
If dr.Item(l.Text) Is DBNull.Value Then
|
||||
If dr.Item(li.Text) Is DBNull.Value Then
|
||||
propInfo.SetValue(VK, Nothing)
|
||||
Else
|
||||
propInfo.SetValue(VK, dr.Item(l.Text))
|
||||
propInfo.SetValue(VK, dr.Item(li.Text))
|
||||
End If
|
||||
Next
|
||||
dr.Close()
|
||||
@@ -355,10 +444,30 @@ Public Class cRechnungsausgang
|
||||
If Firma_ID <= 0 Then errMsg = "ERROR: Firma auswählen!" : Return False
|
||||
If Rechnung_an = 0 OrElse CStr(Rechnung_an) = "" Then errMsg = "ERROR: Rechnungsempfänger auswählen!" : Return False
|
||||
If SpeditionsbuchUnterNr Is Nothing Then errMsg = "ERROR: Speditionsbuch-UnterNr auswählen!" : Return False
|
||||
If RechnungsKundenNr <= 0 Then errMsg = "ERROR: Kunden-Nummer fehlt!" : Return False
|
||||
' If Steuerschlüssel Then errMsg = "ERROR: Steuerschlüssel muss angegeben werden!" : Return False
|
||||
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID)
|
||||
|
||||
If FIRMA.Firma_ID = 26 Then
|
||||
If RechnungsLandKz <> "GB" And RechnungsLandKz <> "UK" Then
|
||||
errMsg = "ERROR: Es darf nur nach GB abgerechnet werden!" : Return False
|
||||
End If
|
||||
If Währungscode <> "GBP" Then
|
||||
errMsg = "ERROR: Es darf nur mit Währung 'GBP' abgerechnet werden!" : Return False
|
||||
End If
|
||||
End If
|
||||
|
||||
If RechnungsLandKz = FIRMA.Firma_LandKz Then
|
||||
If Steuersatz_Proz = 0 Then
|
||||
If vbYes <> MsgBox("Es wurde kein Steuerschlüssel angegeben." & vbNewLine & vbNewLine & "Sind siw wicher, dass Sie ohne Steuerschlüssel fortfahren möchten.", vbYesNoCancel) Then
|
||||
errMsg = "ERROR: Steuerschlüssel angegeben!"
|
||||
Return False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
Return True
|
||||
End Function
|
||||
End Function
|
||||
|
||||
Public Function SAVE_POSITIONEN(RK_ID) As Boolean
|
||||
If DELETE_POSITIONEN() Then ' zuerst Einträge löschen...
|
||||
@@ -379,13 +488,13 @@ Public Class cRechnungsausgang
|
||||
cmd.Parameters.AddWithValue("@RK_ID", RK_ID)
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
If dr.Read Then
|
||||
For Each l In getParameterList()
|
||||
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
|
||||
For Each i In getParameterList()
|
||||
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable)
|
||||
|
||||
If dr.Item(l.Text) Is DBNull.Value Then
|
||||
If dr.Item(i.Text) Is DBNull.Value Then
|
||||
propInfo.SetValue(Me, Nothing)
|
||||
Else
|
||||
propInfo.SetValue(Me, dr.Item(l.Text))
|
||||
propInfo.SetValue(Me, dr.Item(i.Text))
|
||||
End If
|
||||
|
||||
Next
|
||||
@@ -446,26 +555,8 @@ Public Class cRechnungsausgang
|
||||
Return SQL.doSQL(sqlstr, "FMZOLL")
|
||||
End Function
|
||||
|
||||
Public Function isReverseChargeSumme() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
||||
'Wenn selbes Land --> Kein Reversecharge
|
||||
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID)
|
||||
' MsgBox(RechnungsLandKz & " - " & FIRMA.Firma_LandKz)
|
||||
If RechnungsLandKz = FIRMA.Firma_LandKz Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
Dim sqlstr = " SELECT SUM(POS.SteuerfreierBetrag) AS ReverseChargeSumme "
|
||||
sqlstr &= " FROM Rechnungsausgang as RA INNER JOIN RechnungsausgangPositionen as POS ON RA.RK_ID = POS.RK_ID INNER JOIN Leistungen ON POS.LeistungsNr = Leistungen.LeistungsNr INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] AS LD ON RA.RechnungsUstIdKz = LD.LandKz"
|
||||
sqlstr &= " WHERE RA.rk_id='" & Me.RK_ID & "' AND LD.ReverseCharge = 1 AND Leistungen.ReverseCharge = 1"
|
||||
|
||||
If Not CBool(SQL.DLookup("isnull([MitgliedslandEU],0)", "Währungstabelle", "LandKz='" & If(RechnungsLandKz, "") & "'", "FMZOLL", 0)) Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
Return If(SQL.getValueTxtBySql(sqlstr, "FMZOLL",,, 0) = 0, False, True)
|
||||
End Function
|
||||
|
||||
Public Function setSPEDBUCH_FAKTURIERT(Optional wert As Boolean = True) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
||||
Dim sqlstr = " UPDATE Speditionsbuch SET Fakturiert='" & If(wert, 1, 0) & "' WHERE FilialenNr = '" & Me.FilialenNr & "' AND AbfertigungsNr = '" & Me.[AbfertigungsNr] & "' AND UnterNr = '" & Me.[SpeditionsbuchUnterNr] & "'"
|
||||
Return SQL.doSQL(sqlstr, "FMZOLL")
|
||||
|
||||
Reference in New Issue
Block a user