Änderungen Rechnungsnummernveragbe, Fiskalkunden, Creditsafe-API Fehlerausgabe verbessert, Gesamtsicherheitem (Feature für Refrerenzbetragänderungen)

This commit is contained in:
2023-07-05 13:48:53 +02:00
parent 08c6039246
commit 3926ec909f
7 changed files with 86 additions and 20 deletions

View File

@@ -4,8 +4,6 @@ Imports System.Data.SqlClient
Public Class cRechnungsnummern
Property SpeditionsbuchNr As String = "" 'FIRMA!
Property Buchungsjahr As String = ""
Property VonRechnungsNr As Integer = -1
Property BisRechnungsNr As Integer = -1
Property LfdRechnungsNr As Integer = 0
@@ -58,9 +56,9 @@ Public Class cRechnungsnummern
LfdRechnungsNr = VonRechnungsNr
'-------------------------------------
LOADANDUPDATE(SpeditionsbuchNr, Buchungsjahr, LfdRechnungsNr, VonRechnungsNr, BisRechnungsNr)
'LOAD(SpeditionsbuchNr, Buchungsjahr)
LOAD(SpeditionsbuchNr, Buchungsjahr)
End Sub
@@ -108,7 +106,7 @@ Public Class cRechnungsnummern
Dim RG_NR As New VERAG_PROG_ALLGEMEIN.cRechnungsnummern(SpeditionsbuchNr, Buchungsjahr)
aktuelleRechnungsnummer = RG_NR.LfdRechnungsNr ' --> Die in der DB gespeicherte RgNr wird verwendet
CHECK_RGNR_NEW = RG_NR.LfdRechnungsNr ' --> Die in der DB gespeicherte RgNr wird verwendet
RG_NR.INCREASE_RGNR() ' ..... und gelcih wieder hcoh zählen
'RG_NR.INCREASE_RGNR() ' ..... und gelcih wieder hcoh zählen
System.Threading.Thread.Sleep(50) ' nur, um abzuwarten falls parallel eine Nr vergeben wird
End While
@@ -162,6 +160,42 @@ Public Class cRechnungsnummern
' Return Nothing
End Sub
Public Sub LOADANDUPDATE(ByVal SpeditionsbuchNr As String, ByVal Buchungsjahr As String, ByRef LfdRechnungsNr As Integer, ByVal VonRechnungsNr As String, ByVal BisRechnungsNr As String)
Try
Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand(
"BEGIN TRAN IF EXISTS (SELECT * FROM Rechnungsnummern WITH(updlock,serializable) WHERE [SpeditionsbuchNr]=@SpeditionsbuchNr AND Buchungsjahr=@Buchungsjahr)
BEGIN
UPDATE dbo.Rechnungsnummern SET LfdRechnungsNr= (SELECT [LfdRechnungsNr] as newNr FROM dbo.Rechnungsnummern WHERE [SpeditionsbuchNr]=@Speditionsbuchnr AND Buchungsjahr=@Buchungsjahr) + 1 WHERE [SpeditionsbuchNr]=@Speditionsbuchnr AND Buchungsjahr=@Buchungsjahr
SELECT [LfdRechnungsNr] FROM dbo.Rechnungsnummern WHERE [SpeditionsbuchNr]=@Speditionsbuchnr AND Buchungsjahr=@Buchungsjahr
END;
else
BEGIN
INSERT INTO [Rechnungsnummern](SpeditionsbuchNr,[Buchungsjahr],[VonRechnungsNr],[BisRechnungsNr],[LfdRechnungsNr])
OUTPUT @LfdRechnungsNr AS [LfdRechnungsNr]
VALUES (@SpeditionsbuchNr, @Buchungsjahr,@VonRechnungsNr,@BisRechnungsNr,@LfdRechnungsNr)
END
COMMIT TRAN", conn)
cmd.Parameters.AddWithValue("@SpeditionsbuchNr", SpeditionsbuchNr)
cmd.Parameters.AddWithValue("@Buchungsjahr", Buchungsjahr)
cmd.Parameters.AddWithValue("@LfdRechnungsNr", LfdRechnungsNr)
cmd.Parameters.AddWithValue("@VonRechnungsNr", VonRechnungsNr)
cmd.Parameters.AddWithValue("@BisRechnungsNr", BisRechnungsNr)
Dim dr = cmd.ExecuteScalar()
LfdRechnungsNr = dr
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 Nothing
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem2)