divl. Änderungne

This commit is contained in:
2026-06-17 17:02:06 +02:00
parent 0a036590c1
commit e8bd1802af
8 changed files with 183 additions and 116 deletions

View File

@@ -1,4 +1,5 @@
Imports System.Data.SqlClient
Imports System.Net
Imports System.Net.Http
Imports System.Reflection
Imports System.Text
@@ -47,6 +48,47 @@ Public Class cFiskaltrustClient
End Function
'----- TEST
Public Async Function SignReceiptAsync_test(posSystemId As String) As Task(Of String)
Dim LIST = New List(Of EABelegPositionen)
Dim p = New EABelegPositionen
p.Mandant = "VERA"
p.Niederlassung = "SUB"
p.Benutzer = 74
p.BelegDat = Now
p.BelegNr = 1
p.PreislistenNr = 1
p.PreislistenPos = 1
p.LeistungsNr = 300
p.LeistungsBez = "TEST"
p.Preis = 10
p.Anzahl = 1
LIST.Add(p)
Dim payload = BuildPayloadReceipt(100, CDec(0.0), LIST, "Cash", posSystemId)
Dim endpoint = GetEndpoint("payment")
Dim requestContent As StringContent
If _country = "AT" Then
' Plaintext
'Dim text As String = If(payload?.ToString(), "")
Dim json As String = JsonConvert.SerializeObject(payload)
'requestContent = New StringContent(json, Encoding.UTF8, "text/plain")
requestContent = New StringContent(json, Encoding.UTF8, "application/json")
Else
' JSON Objekt
Dim json As String = JsonConvert.SerializeObject(payload)
requestContent = New StringContent(json, Encoding.UTF8, "application/json")
End If
Return Await SendAsync(endpoint, payload, requestContent)
End Function
Public Async Function Echo(KassenName As String) As Task(Of String)
Dim payload = KassenName & " - VERBINDUNG OK"
@@ -192,7 +234,7 @@ Public Class cFiskaltrustClient
endpoint &= "?type=" & type
End If
Dim requestContent As StringContent
Dim requestContent As StringContent = Nothing
If _country = "AT" Then
' Plaintext
@@ -206,48 +248,7 @@ Public Class cFiskaltrustClient
requestContent = New StringContent(json, Encoding.UTF8, "application/json")
End If
Return Await SendAsync(endpoint, payload, requestContent)
End Function
Public Async Function SignReceiptAsync_test(posSystemId As String) As Task(Of String)
Dim LIST = New List(Of EABelegPositionen)
Dim p = New EABelegPositionen
p.Mandant = "VERA"
p.Niederlassung = "SUB"
p.Benutzer = 74
p.BelegDat = Now
p.BelegNr = 1
p.PreislistenNr = 1
p.PreislistenPos = 1
p.LeistungsNr = 300
p.LeistungsBez = "TEST"
p.Preis = 10
p.Anzahl = 1
LIST.Add(p)
Dim payload = BuildPayloadReceipt(100, 0, LIST, "Cash", posSystemId)
Dim endpoint = GetEndpoint("payment")
Dim requestContent As StringContent
If _country = "AT" Then
' Plaintext
'Dim text As String = If(payload?.ToString(), "")
Dim json As String = JsonConvert.SerializeObject(payload)
'requestContent = New StringContent(json, Encoding.UTF8, "text/plain")
requestContent = New StringContent(json, Encoding.UTF8, "application/json")
Else
' JSON Objekt
Dim json As String = JsonConvert.SerializeObject(payload)
requestContent = New StringContent(json, Encoding.UTF8, "application/json")
End If
Return Await SendAsync(endpoint, payload, requestContent)
Return Await SendAsync(endpoint, payload, requestContent, True)
End Function
@@ -311,7 +312,7 @@ Public Class cFiskaltrustClient
End Function
Private Async Function SendAsync(endpoint As String, payload As Object, requestContent As StringContent) As Task(Of String)
Private Async Function SendAsync(endpoint As String, payload As Object, requestContent As StringContent, Optional ignorerequestContent As Boolean = False) As Task(Of String)
Dim url = _baseUrl & endpoint
@@ -321,6 +322,8 @@ Public Class cFiskaltrustClient
Dim lastException As Exception = Nothing
Dim shouldRetry As Boolean = False
ServicePointManager.Expect100Continue = False
For attempt As Integer = 1 To retries
shouldRetry = False
@@ -332,13 +335,19 @@ Public Class cFiskaltrustClient
request.Headers.Add("cashboxid", _cashboxId)
request.Headers.Add("accesstoken", _accessToken)
If requestContent IsNot Nothing Then
If Not ignorerequestContent AndAlso requestContent IsNot Nothing Then
request.Content = requestContent
End If
Dim cts As New CancellationTokenSource(TimeSpan.FromSeconds(30))
Dim response = Await _httpClient.SendAsync(request, cts.Token)
Debug.WriteLine("Before SendAsync")
Dim response = Await _httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cts.Token)
Debug.WriteLine("Headers received")
Debug.WriteLine("After SendAsync")
Dim result = Await response.Content.ReadAsStringAsync()
Log($"[{DateTime.Now}] Response ({CInt(response.StatusCode)}): {result}")
@@ -366,7 +375,9 @@ Public Class cFiskaltrustClient
lastException = ex
Log($"[{DateTime.Now}] Attempt {attempt} failed: {ex.Message}")
Debug.WriteLine(ex.GetType().FullName)
Debug.WriteLine(ex.ToString())
Throw
End Try
@@ -379,6 +390,7 @@ Public Class cFiskaltrustClient
If lastException IsNot Nothing Then
Throw lastException
MsgBox(lastException)
End If
Throw New Exception("Unexpected error")
@@ -603,11 +615,11 @@ Public Class cFiskaltrustClient
.ftSignatureFormat = SignObj.StringOf("ftSignatureFormat")
.ftSignatureType = SignObj.StringOf("ftSignatureType")
saved = .SAVE()
If IsNumeric(.ftSignatureType) AndAlso CInt(.ftSignatureType) = 3 Then
QR_CodeString = .ftData
End If
If IsNumeric(.ftSignatureType) AndAlso CInt(.ftSignatureType) = IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True, 0, 3) Then
QR_CodeString = .ftData
End If
End With
End With
Next
@@ -791,26 +803,6 @@ Public Class cFiskaltrustSignatures
'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 [tblTABLE] SET " & str & " WHERE _BASE_id=@_BASE_id ")
' Catch ex As Exception
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' End Try
' Return ""
'End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
@@ -908,28 +900,6 @@ Public Class cFiskaltrustSignaturPositions
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 [tblTABLE] SET " & str & " WHERE _BASE_id=@_BASE_id ")
' Catch ex As Exception
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' End Try
' Return ""
'End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()

View File

@@ -116,8 +116,6 @@ Public Class cRKSV
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & steuerSchluessel & "' ", "FMZOLL")
Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe
Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
@@ -129,8 +127,12 @@ Public Class cRKSV
Dim result = Await client.SignReceiptAsync(summeBRUTTO, steuersatz, POS, "Cash", kasse.rksv_id)
If result <> "" Then
Return client.saveRKSV_FT(result, QR_CodeString)
Else
Return False
End If
Return client.saveRKSV_FT(result, QR_CodeString)
Catch ex As Exception

View File

@@ -275,7 +275,7 @@ Public Class cAutomailversand
Dim Mailsubject As String = ""
Dim HTMLMail As String = ""
setEmailText(r, FirmaID, RECHNUNG.RechnungsNr, Mailsubject, HTMLMail, RECHNUNG.Sammelrechnung, dt, RECHNUNG.BelegartenNr, SPEDBUCH, RECHNUNG)
loadAndSetAnhaenge(dt, ATTACHMENTS, listPDFs, RECHNUNG, SPEDBUCH)
loadAndSetAnhaenge(dt, ATTACHMENTS, listPDFs, RECHNUNG, SPEDBUCH, KDE_ERW.kde_merge_pdf)
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
@@ -674,6 +674,71 @@ Public Class cAutomailversand
zsmf_SR.Add(l)
Next
For Each r In SR_DT.Rows
Dim SPEDBUCH_TEMP As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(r("FilialenNr"), r("AbfertigungsNr"), r("SpeditionsbuchUnterNr"))
If SPEDBUCH_TEMP IsNot Nothing Then
Dim ZOLL = IIf(SPEDBUCH_TEMP.DokumentId_Mitteilung IsNot Nothing, "AT", "DE")
Select Case ZOLL
Case "DE"
If SPEDBUCH_TEMP.DokumentId_Steuerbeleg IsNot Nothing Then
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH_TEMP.DokumentId_Steuerbeleg)
pdfAnhang_merge = PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False)
If pdfAnhang_merge Then
zsmf_SR.Add(path)
Else
ATTACHMENTS.Add(New cFakt_MailATTach(path, "Steuerbescheid.pdf"))
End If
End If
If SPEDBUCH_TEMP.DokumentId_VBD IsNot Nothing Then
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH_TEMP.DokumentId_VBD)
pdfAnhang_merge = PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False)
If pdfAnhang_merge Then
zsmf_SR.Add(path)
Else
ATTACHMENTS.Add(New cFakt_MailATTach(path, "Abgabenbescheid.pdf"))
End If
End If
Case "AT"
If SPEDBUCH_TEMP.DokumentId_Steuerbeleg IsNot Nothing Then
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH_TEMP.DokumentId_Steuerbeleg)
pdfAnhang_merge = PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False)
If pdfAnhang_merge Then
zsmf_SR.Add(path)
Else
ATTACHMENTS.Add(New cFakt_MailATTach(path, "Verzollungsnachweis.pdf"))
End If
End If
If SPEDBUCH_TEMP.DokumentId_Mitteilung IsNot Nothing Then
Dim path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBUCH_TEMP.DokumentId_Mitteilung)
pdfAnhang_merge = PDFS_zusammenfassen(path, RECHNUNG.FilialenNr, RECHNUNG.Firma_ID, False)
If pdfAnhang_merge Then
zsmf_SR.Add(path)
Else
ATTACHMENTS.Add(New cFakt_MailATTach(path, "Versandschein.pdf"))
End If
End If
End Select
End If
Next
For Each r As DataRow In SR_DT.Rows
Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID"))
If RG_ANH IsNot Nothing Then
@@ -780,7 +845,7 @@ Public Class cAutomailversand
Else
'mit Marlene sprechen!
If Not (path.ToString.ToLower.Contains("flyercbam") OrElse Not (path.ToString.ToLower.Contains("sammelrechnung"))) Then
If Not (path.ToString.ToLower.Contains("flyercbam")) Then
Return True
End If
End If

View File

@@ -535,7 +535,7 @@ Public Class frmFaktEmail
Mail = outl.CreateItem(0)
Mail.Subject = txtSubject.Text
If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 OrElse Firma_ID = 26 Then
If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 OrElse Firma_ID = 26 OrElse Firma_ID = 20 Then
Try
Dim oAccount As Outlook.Account
Dim accountToSent = ""
@@ -547,6 +547,8 @@ Public Class frmFaktEmail
accountToSent = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!!
Case 7
accountToSent = "rechnung@atilla-spedition.com"
Case 20
accountToSent = "finanz@imex-group.at"
Case 26
accountToSent = "Invoice@verag-unisped.uk"
Case Else
@@ -677,7 +679,7 @@ Public Class frmFaktEmail
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 OrElse Firma_ID = 26 Then
If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 OrElse Firma_ID = 26 OrElse Firma_ID = 20 Then
Try
Dim oAccount As Outlook.Account
Dim accountToSent = ""
@@ -691,6 +693,8 @@ Public Class frmFaktEmail
accountToSent = "rechnung@atilla-spedition.com"
Case 26
accountToSent = "Invoice@verag-unisped.uk"
Case 20
accountToSent = "finanz@imex-group.at"
Case Else
accountToSent = "rechnungsversand@verag.ag"

View File

@@ -389,7 +389,7 @@ Public Class usrCntlATLAS_AnkunftsAnzeige
If valueREF <> "" Then
Dim DAKOSY_REF As New cDakosy_Stammreferenzen(valueREF)
If DAKOSY_REF IsNot Nothing Then
If DAKOSY_REF IsNot Nothing AndAlso DAKOSY_REF.dySr_WarenortID IsNot Nothing AndAlso IsNumeric(DAKOSY_REF.dySr_WarenortID) Then
txtWO_ID.Text = DAKOSY_REF.dySr_WarenortID.ToString
If DAKOSY_REF.dySr_WarenortID > 0 Then
txtWarenort.Text = (New SQL).getValueTxtBySql("SELECT [wo_warenort] from [tblWarenorte] where [wo_id] = " & DAKOSY_REF.dySr_WarenortID, "AVISO")
@@ -397,6 +397,7 @@ Public Class usrCntlATLAS_AnkunftsAnzeige
End If
Else
txtWarenort.Text = ""
txtWO_ID.Text = ""
End If

View File

@@ -1983,6 +1983,16 @@ Public Class frmBelegNeu
ElseIf item.Name = "bar" Then
'beide
Dim result As String = Await client.SignReceiptAsync_test(KASSE.rksv_id)
If result <> "" Then
If vbYes = MsgBox("Testdaten in DB speichern?", vbYesNoCancel) Then
Dim QR_CodeString As String = ""
client.saveRKSV_FT(result, QR_CodeString)
End If
Else
Return False
End If
MsgBox(result)
ElseIf item.Name = "monthly" Then

View File

@@ -25,6 +25,7 @@ Partial Class frmMDMDatenverarbetiung
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMDMDatenverarbetiung))
Me.pnl = New System.Windows.Forms.Panel()
Me.pb_importOK = New System.Windows.Forms.PictureBox()
Me.cbxIDSmitVerag = New System.Windows.Forms.CheckBox()
Me.Panel5 = New System.Windows.Forms.Panel()
Me.Label5 = New System.Windows.Forms.Label()
@@ -34,7 +35,6 @@ Partial Class frmMDMDatenverarbetiung
Me.cbxASFINAGAbgerechnet = New System.Windows.Forms.CheckBox()
Me.cbxTestdaten = New System.Windows.Forms.CheckBox()
Me.Panel4 = New System.Windows.Forms.Panel()
Me.pb_importOK = New System.Windows.Forms.PictureBox()
Me.Label46 = New System.Windows.Forms.Label()
Me.dat_Sum_Bis = New System.Windows.Forms.DateTimePicker()
Me.Label45 = New System.Windows.Forms.Label()
@@ -85,11 +85,12 @@ Partial Class frmMDMDatenverarbetiung
Me.Button2 = New System.Windows.Forms.Button()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.MyDatagridview1 = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.btnImportdet = New System.Windows.Forms.Button()
Me.pnl.SuspendLayout()
CType(Me.pb_importOK, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel5.SuspendLayout()
CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel4.SuspendLayout()
CType(Me.pb_importOK, System.ComponentModel.ISupportInitialize).BeginInit()
Me.FlowLayoutPanel.SuspendLayout()
Me.Panel1.SuspendLayout()
Me.pnlAsfinag.SuspendLayout()
@@ -103,6 +104,7 @@ Partial Class frmMDMDatenverarbetiung
'
'pnl
'
Me.pnl.Controls.Add(Me.btnImportdet)
Me.pnl.Controls.Add(Me.pb_importOK)
Me.pnl.Controls.Add(Me.cbxIDSmitVerag)
Me.pnl.Controls.Add(Me.Panel5)
@@ -122,6 +124,17 @@ Partial Class frmMDMDatenverarbetiung
Me.pnl.Size = New System.Drawing.Size(1163, 100)
Me.pnl.TabIndex = 1
'
'pb_importOK
'
Me.pb_importOK.BackgroundImage = Global.SDL.My.Resources.Resources.ok
Me.pb_importOK.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.pb_importOK.Location = New System.Drawing.Point(81, 42)
Me.pb_importOK.Name = "pb_importOK"
Me.pb_importOK.Size = New System.Drawing.Size(23, 19)
Me.pb_importOK.TabIndex = 53
Me.pb_importOK.TabStop = False
Me.pb_importOK.Visible = False
'
'cbxIDSmitVerag
'
Me.cbxIDSmitVerag.AutoSize = True
@@ -220,17 +233,6 @@ Partial Class frmMDMDatenverarbetiung
Me.Panel4.Size = New System.Drawing.Size(417, 33)
Me.Panel4.TabIndex = 28
'
'pb_importOK
'
Me.pb_importOK.BackgroundImage = Global.SDL.My.Resources.Resources.ok
Me.pb_importOK.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.pb_importOK.Location = New System.Drawing.Point(81, 42)
Me.pb_importOK.Name = "pb_importOK"
Me.pb_importOK.Size = New System.Drawing.Size(23, 19)
Me.pb_importOK.TabIndex = 53
Me.pb_importOK.TabStop = False
Me.pb_importOK.Visible = False
'
'Label46
'
Me.Label46.AutoSize = True
@@ -824,6 +826,17 @@ Partial Class frmMDMDatenverarbetiung
Me.MyDatagridview1.Size = New System.Drawing.Size(1163, 547)
Me.MyDatagridview1.TabIndex = 0
'
'btnImportdet
'
Me.btnImportdet.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnImportdet.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnImportdet.Location = New System.Drawing.Point(985, 8)
Me.btnImportdet.Name = "btnImportdet"
Me.btnImportdet.Size = New System.Drawing.Size(166, 23)
Me.btnImportdet.TabIndex = 132
Me.btnImportdet.Text = "Einarbeitungsdetails"
Me.btnImportdet.UseVisualStyleBackColor = True
'
'frmMDMDatenverarbetiung
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -839,12 +852,12 @@ Partial Class frmMDMDatenverarbetiung
Me.Text = "Datenverarbeitung"
Me.pnl.ResumeLayout(False)
Me.pnl.PerformLayout()
CType(Me.pb_importOK, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel5.ResumeLayout(False)
Me.Panel5.PerformLayout()
CType(Me.PictureBox5, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel4.ResumeLayout(False)
Me.Panel4.PerformLayout()
CType(Me.pb_importOK, System.ComponentModel.ISupportInitialize).EndInit()
Me.FlowLayoutPanel.ResumeLayout(False)
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
@@ -921,4 +934,5 @@ Partial Class frmMDMDatenverarbetiung
Friend WithEvents cbxKopie As CheckBox
Friend WithEvents cbxIDSmitVerag As CheckBox
Friend WithEvents pb_importOK As PictureBox
Friend WithEvents btnImportdet As Button
End Class

View File

@@ -5541,6 +5541,7 @@ RabattBerechnen:
initDgv_IDS()
End Sub
Private Sub btnImportdet_Click(sender As Object, e As EventArgs) Handles btnImportdet.Click
End Sub
End Class