Ä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

@@ -2064,7 +2064,7 @@ Public Class cFakturierung
getNewRgNr = RG_NR.LfdRechnungsNr ' --> Die in der DB gespeicherte RgNr wird verwendet
' Nächste Rechnungsnummer speichern.
RG_NR.INCREASE_RGNR() ' SOFORT Speichern, Sonst gibt es wieder eine Doppelvergabe!
'RG_NR.INCREASE_RGNR() ' SOFORT Speichern, Sonst gibt es wieder eine Doppelvergabe!
' Prüfung, ob RgNr schon vergeben wurde --> dann +1, bis freie Nr. (sollte EÜGENTLICH nicht vorkommen)
getNewRgNr = VERAG_PROG_ALLGEMEIN.cRechnungsnummern.CHECK_RGNR_NEW(getNewRgNr, Firma_ID, Buchungsjahr)

View File

@@ -13,9 +13,10 @@ Public Class rptFiskalkunde
Dim EORI As cEORIPruefung
Dim UID As cUIDPruefung
Dim UVM As cKundenVollmachten
Dim VMOriginal As Boolean = False
Dim unterlagenliste As List(Of String)
Sub New(KdNr As Integer, FiskalId As Integer, VM As cKundenVollmachten, BR As cBonitaetsauskunft, EORI As cEORIPruefung, UID As cUIDPruefung, UVM As cKundenVollmachten, unterlagenliste As List(Of String), Optional Firma As String = "VERAG")
Sub New(KdNr As Integer, FiskalId As Integer, VM As cKundenVollmachten, BR As cBonitaetsauskunft, EORI As cEORIPruefung, UID As cUIDPruefung, UVM As cKundenVollmachten, VMOriginal As Boolean, unterlagenliste As List(Of String), Optional Firma As String = "VERAG")
' Dieser Aufruf ist f<>r den Designer erforderlich.
InitializeComponent()
@@ -60,6 +61,8 @@ Public Class rptFiskalkunde
End If
If IsDate(VM.kdvm_erhalten_Datum) Then txtVM.Text &= CDate(VM.kdvm_erhalten_Datum).ToShortDateString
If VMOriginal Then txtVM.Text &= " (Original vorhanden)"
Else
txtVMNein.Text = "X"
End If

View File

@@ -258,7 +258,7 @@ Public Class usrcntlFiskaluebersicht
Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Fiskalanalyse", ".pdf", , False)
Dim rptFiskalkunden As New SDL.rptFiskalkunde(kdNr, fk.FK_Id, VM, BA, EORI, UID, UVM, listeUnterlagen)
Dim rptFiskalkunden As New SDL.rptFiskalkunde(kdNr, fk.FK_Id, VM, BA, EORI, UID, UVM, fk.FK_VollmachtOriginal, listeUnterlagen)
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
rptFiskalkunden.Run(False)

View File

@@ -29,6 +29,7 @@ Public Class cAufschubKonten
Sub New(brgakto_gs_standort As String)
Me.brgakto_gs_standort = brgakto_gs_standort
LOADStandort()
brgakto_betrag = getReferenzbetrag(Today)
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
@@ -172,7 +173,8 @@ Public Class cAufschubKonten
Return SQL.doSQL("Update [tblBrgAufschubKonten] Set brgakto_gs_aktSaldo = CAST(REPLACE('" & brgakto_gs_aktSaldo & "' ,',','.')AS decimal(18,2)) WHERE brgakto_gs_standort = '" & brgakto_gs_standort & "'", "ADMIN")
End Function
Public Function CalcSaldo() As String
Public Function CalcSaldo(Optional dtDate As DataTable = Nothing) As String
Dim SaldoString As String =
"select
@@ -189,18 +191,32 @@ Public Class cAufschubKonten
when gsp_art = 'Open' then (gsp_sicherheitsbetrag * -1)
when gsp_art = 'Close' then gsp_sicherheitsbetrag
end)
as SicherheitsSaldoPositionen from [tblGesamtsicherheitsPositionen] Where gsp_gsid IN (select gs_gsId from [tblGesamtsicherheit] where gs_standort = '" & brgakto_gs_standort & "' ))"
as SicherheitsSaldoPositionen from [tblGesamtsicherheitsPositionen] Where gsp_gsid IN (select gs_gsId from [tblGesamtsicherheit] where gs_standort = '" & brgakto_gs_standort & "' And ISNULL(gs_ReferenzAenderung,0) = 0 ))"
Dim dt As New DataTable
Dim mrn As Double = 0
dt = SQL.loadDgvBySql(SaldoString, "AVISO", 100, True)
If dt.Rows(0).Item(0).ToString.Length > 0 Then
mrn = dt.Rows(0).Item(0)
End If
Dim mrn As Double = 0
dt = SQL.loadDgvBySql(SaldoString, "AVISO", 100, True)
If dt.Rows(0).Item(0).ToString.Length > 0 Then
mrn = dt.Rows(0).Item(0)
End If
brgakto_gs_aktSaldo = brgakto_betrag + mrn
brgakto_gs_aktSaldo = getReferenzbetrag(Today) + mrn
updateSaldo()
Return brgakto_gs_aktSaldo
End Function
Public Function getReferenzbetrag(nowDate As Date) As Double
Try
Return SQL.getValueTxtBySql("select TOP (1) brgarefb_refbetrag from [tblBrgAufschubReferenzberaege] where [brgarefb_gsid]='" & brgakto_id & "' and brgarefb_gs_aktiv = 1 And [brgarefb_gueltig_ab] <= '" & nowDate & "' order by [brgarefb_gueltig_ab] desc", "ADMIN",,,,)
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 Function
End Class

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)

View File

@@ -124,7 +124,7 @@ Public Class cCreditSafeAPI
Return failureDesc
Else
If (rest.ResponseStatusCode <> 200) Then
For i = 0 To 4 'Versuche das PDF 5x abzufragen (funktioniert ab und zu nicht).
For i = 0 To 15 'Versuche das PDF 16x abzufragen (funktioniert ab und zu nicht).
responseJson = rest.FullRequestNoBodyBd(method, url, pdfData)
If rest.ResponseStatusCode = 200 Then Exit For
Thread.Sleep(500)
@@ -293,9 +293,12 @@ Public Class cCreditSafeAPI
'Abfragen für DE benötigen einen Reason-Code
myUrl &= "?customData=de_reason_code::3"
myUrl &= "&?language=DE"
Else
ElseIf company.country = "AT" Then
myUrl &= "?language=DE"
Else
myUrl &= "?language=EN"
End If
Dim acceptContentType = "application/json"
@@ -465,7 +468,16 @@ Public Class cCreditSafeAPI
Dim failureDesc As String = ""
Dim jsonRespString = SendGetRequestWithAuthHeader(myUrl, Nothing, acceptContentType, "GET", token, failureDesc)
If failureDesc <> "" Then Return Nothing
If failureDesc <> "" Then
Dim jsonFailure As New Chilkat.JsonObject
Dim success As Boolean = jsonFailure.Load(jsonRespString)
If (success <> True) Then
failure = jsonFailure.LastErrorText
Return Nothing
End If
failure = jsonFailure.StringOf("details")
Return Nothing
End If
If jsonRespString IsNot Nothing Then
Dim success = pdfData2.AppendEncoded(jsonRespString, "base64")

View File

@@ -23,8 +23,8 @@ Public Class cSicherheiten
Property gs_warenort As String
Property gs_zollsatz As Object
Property gs_avisoId As Integer
Property gs_isRundungsdiff As Boolean
Property gs_ReferenzAenderung As Boolean
Public hasEntry = False
@@ -68,6 +68,7 @@ Public Class cSicherheiten
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_zollsatz", gs_zollsatz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_avisoId", gs_avisoId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_isRundungsdiff", gs_isRundungsdiff))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_ReferenzAenderung", gs_ReferenzAenderung))
Return list
End Function