This commit is contained in:
2021-12-06 11:52:36 +01:00
parent 50df683d3b
commit 273a0c5b29
71 changed files with 1305 additions and 270 deletions

View File

@@ -1,6 +1,7 @@
Imports SDL.RKSVServer
Imports System.Drawing.Printing
Imports GrapeCity.ActiveReports
Imports VERAG_PROG_ALLGEMEIN.DSFinVKService
Public Class cRKSV
Shared SQL As New SQL
@@ -9,6 +10,8 @@ Public Class cRKSV
'
Try
Dim client As RKSVWcfClient = New RKSVWcfClient()
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
client.Open()
@@ -908,6 +911,28 @@ Public Class cRKSV
If TESTFLAG Or KASSE.rksvDE_aktiv Then ' WENN für die Kasse die DEUTSCHLAND gilt
Dim answer = ""
'*Nullbelg-POS*
Dim POS As New EABelegPositionen
POS.Abfertigungsart = "Sonstiges"
POS.AbfertigungsNr = 10
POS.Mandant = BELEG.Mandant
POS.Niederlassung = BELEG.Niederlassung
POS.Benutzer = BELEG.Benutzer
POS.BelegDat = BELEG.BelegDat
POS.BelegNr = BELEG.BelegNr
POS.PreislistenPos = -1
POS.LeistungsNr = 499
POS.LeistungsBez = "NULLBELEG"
POS.Leistungsbeschreibung = "NULLBELEG"
POS.PreislistenNr = -1
POS.PreistabellenNr = -1
POS.Preis = 0
POS.Anzahl = 1
POS.Anzahlmultiplikator = 1
POS.Betrag = 0
POS.Preisbindung = 0
BELEG.POS.Add(POS)
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, 0, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1)
@@ -939,7 +964,7 @@ Public Class cRKSV
If AUTODRUCK Then
Dim pName = ""
For Each sPrinter As String In PrinterSettings.InstalledPrinters
For Each sPrinter As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
If sPrinter = "AUTODRUCK_MAIL" Then pName = sPrinter : Exit For
Next
If pName = "" Then
@@ -1632,138 +1657,138 @@ Public Class cRKSV_DE__TEST
End Function
Shared Function insertRKSV_DE(ByVal kasse As cRKSV_Kasse, CompanyGUID As String, ByVal umsatzZaehler As Double, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
MsgBox("123")
'Shared Function insertRKSV_DE(ByVal kasse As cRKSV_Kasse, CompanyGUID As String, ByVal umsatzZaehler As Double, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
' MsgBox("123")
Try
' Try
' COM-Objekt anlegen
' ' COM-Objekt anlegen
' Dim licenseKey As String = kasse.rksv_DE_license '"07.11.2020;MEUCIQDfTvMPWQo4IVvTtuTbU9YHNwJ7EdMbogfGqmAp+rdw4gIgPJoEDE0OCfac/nCOKdksWvOZq+xvkFoYI0HFxJPkldU="
' Dim TSESerialNumber As String = "77A9D25F044A89E87578A8CD52D2A92564CC09214CC6448465414008D31C1CF1"
Dim m_ksv = New ItgKsV.KsVCom()
'Dim m_ksv As ItgKsV.KsVCom = New ItgKsV.KsVCom()
' Dim result As Integer = m_ksv.InitialiseLibrary("F:", "SwissbitDemo", "12345", licenseKey)
' ' Dim licenseKey As String = kasse.rksv_DE_license '"07.11.2020;MEUCIQDfTvMPWQo4IVvTtuTbU9YHNwJ7EdMbogfGqmAp+rdw4gIgPJoEDE0OCfac/nCOKdksWvOZq+xvkFoYI0HFxJPkldU="
' ' Dim TSESerialNumber As String = "77A9D25F044A89E87578A8CD52D2A92564CC09214CC6448465414008D31C1CF1"
' Dim m_ksv = New ItgKsV.KsVCom()
' 'Dim m_ksv As ItgKsV.KsVCom = New ItgKsV.KsVCom()
' ' Dim result As Integer = m_ksv.InitialiseLibrary("F:", "SwissbitDemo", "12345", licenseKey)
MsgBox(kasse.rksv_ipAdresse & " --- " & kasse.rksv_DE_TSE_Serial & " --- " & kasse.rksv_DE_apiToken & " --- " & kasse.rksv_DE_user & " --- " & kasse.rksv_DE_pwd & " --- " & kasse.rksv_DE_license)
' MsgBox(kasse.rksv_ipAdresse & " --- " & kasse.rksv_DE_TSE_Serial & " --- " & kasse.rksv_DE_apiToken & " --- " & kasse.rksv_DE_user & " --- " & kasse.rksv_DE_pwd & " --- " & kasse.rksv_DE_license)
Dim result As Integer = m_ksv.InitialiseLibraryLan(kasse.rksv_ipAdresse, kasse.rksv_DE_TSE_Serial, kasse.rksv_DE_apiToken, kasse.rksv_DE_user, kasse.rksv_DE_pwd, kasse.rksv_DE_license) '--> ClientId/User "Admin" mit KsVCom Demo registriert
' Dim result As Integer = m_ksv.InitialiseLibraryLan(kasse.rksv_ipAdresse, kasse.rksv_DE_TSE_Serial, kasse.rksv_DE_apiToken, kasse.rksv_DE_user, kasse.rksv_DE_pwd, kasse.rksv_DE_license) '--> ClientId/User "Admin" mit KsVCom Demo registriert
If result <> &H0 Then
MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
Return False
End If
' If result <> &H0 Then
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
' Return False
' End If
'' Setup bei erstmaliger Verwendung der Swissbit-TSE !!!
' '' Setup bei erstmaliger Verwendung der Swissbit-TSE !!!
'result = m_ksv.SetupTSEForFirstUse("123456", "12345", "98765", "SwissbitDemo")
' 'result = m_ksv.SetupTSEForFirstUse("123456", "12345", "98765", "SwissbitDemo")
'If result <> &H0 Then
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
'Else
' MessageBox.Show("TSE setup succeeded.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
'End If
' 'If result <> &H0 Then
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
' 'Else
' ' MessageBox.Show("TSE setup succeeded.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
' 'End If
' BeginTransaction: für jede neue Rechnung wird eine Transaktion gestartet
' ' BeginTransaction: für jede neue Rechnung wird eine Transaktion gestartet
Dim transactionNumber As Long = 0
result = m_ksv.StartTransaction(transactionNumber)
' Dim transactionNumber As Long = 0
' result = m_ksv.StartTransaction(transactionNumber)
If result <> &H0 Then
MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
Return False
End If
' If result <> &H0 Then
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
' Return False
' End If
' UpdateTransaction: processData bleibt leer
' ' UpdateTransaction: processData bleibt leer
result = m_ksv.UpdateTransaction(transactionNumber, "", "KassenBeleg-V1")
' result = m_ksv.UpdateTransaction(transactionNumber, "", "KassenBeleg-V1")
If result <> &H0 Then
MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End If
' If result <> &H0 Then
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
' End If
' FinishTransaction: Abschluss einer Rechnung, processData nach vorgegebenem Format
' ' FinishTransaction: Abschluss einer Rechnung, processData nach vorgegebenem Format
result = m_ksv.FinishTransaction(transactionNumber, getBelegSting_BAR(summeBRUTTO, steuerSchluessel), "KassenBeleg-V1")
' result = m_ksv.FinishTransaction(transactionNumber, getBelegSting_BAR(summeBRUTTO, steuerSchluessel), "KassenBeleg-V1")
If result <> &H0 Then
MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End If
' If result <> &H0 Then
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
' End If
' QR-Code und weitere Werte, die auf der Rechnung angedruckt werden müssen
' ' QR-Code und weitere Werte, die auf der Rechnung angedruckt werden müssen
' QR-Code wird als base64 kodiertes bitmap geliefert
' ' QR-Code wird als base64 kodiertes bitmap geliefert
Dim qrCode As String = String.Empty
' Dim qrCode As String = String.Empty
' QR-Code Inhalt für die Ablage in der Datenbank, falls eine Rechnung nochmals gedruckt werden muss
' ' QR-Code Inhalt für die Ablage in der Datenbank, falls eine Rechnung nochmals gedruckt werden muss
Dim qrCodeContent As String = String.Empty
m_ksv.GetLastReceiptQrCode(qrCode)
m_ksv.GetLastReceiptQrCodeContent(qrCodeContent)
Dim sTransactionNumber As String = String.Empty
Dim serialNumber As String = String.Empty
Dim signature As String = String.Empty
Dim sigCounter As String = String.Empty
Dim dtStartTransaction As Date = Date.MinValue
Dim dtFinishTransaction As Date = Date.MinValue
m_ksv.GetLastReceiptValues(sTransactionNumber, serialNumber, signature, dtStartTransaction, dtFinishTransaction, sigCounter)
' Dim qrCodeContent As String = String.Empty
' m_ksv.GetLastReceiptQrCode(qrCode)
' m_ksv.GetLastReceiptQrCodeContent(qrCodeContent)
' Dim sTransactionNumber As String = String.Empty
' Dim serialNumber As String = String.Empty
' Dim signature As String = String.Empty
' Dim sigCounter As String = String.Empty
' Dim dtStartTransaction As Date = Date.MinValue
' Dim dtFinishTransaction As Date = Date.MinValue
' m_ksv.GetLastReceiptValues(sTransactionNumber, serialNumber, signature, dtStartTransaction, dtFinishTransaction, sigCounter)
QR_CodeString = qrCode
LastJWS = signature
'' Anzeige der gestarteten/noch möglichen Transaktionen
' QR_CodeString = qrCode
' LastJWS = signature
' '' Anzeige der gestarteten/noch möglichen Transaktionen
'Dim maxTransactions As Integer = 0
'Dim openTransactions As Integer = 0
'm_ksv.GetMaxStartedTransactions(maxTransactions)
'm_ksv.GetStartedTransactions(openTransactions)
'Dim startedTransactions As Integer() = Nothing
'result = m_ksv.GetStartedTransactionNumbers(startedTransactions)
' 'Dim maxTransactions As Integer = 0
' 'Dim openTransactions As Integer = 0
' 'm_ksv.GetMaxStartedTransactions(maxTransactions)
' 'm_ksv.GetStartedTransactions(openTransactions)
' 'Dim startedTransactions As Integer() = Nothing
' 'result = m_ksv.GetStartedTransactionNumbers(startedTransactions)
'If result <> &H0 Then
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
'End If
' 'If result <> &H0 Then
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
' 'End If
'' Export der TSE-Daten im TAR-Format
' '' Export der TSE-Daten im TAR-Format
'result = m_ksv.ExportAsTarFile("d:\export.tar")
' 'result = m_ksv.ExportAsTarFile("d:\export.tar")
'If result <> 0 Then
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
'End If
' 'If result <> 0 Then
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
' 'End If
'' Bibliothek aufräumen, andernfalls wird ein power-cycle der TSE erforderlich um sie wieder einsetzen zu können
' '' Bibliothek aufräumen, andernfalls wird ein power-cycle der TSE erforderlich um sie wieder einsetzen zu können
''result = CSharpImpl.__Assign(,, m_ksv.CleanupLibrary())
'result = m_ksv.CleanupLibrary()
' ''result = CSharpImpl.__Assign(,, m_ksv.CleanupLibrary())
' 'result = m_ksv.CleanupLibrary()
'If result <> 0 Then
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
'End If
' 'If result <> 0 Then
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
' 'End If
Catch ex As Exception
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
End Try
Return False
End Function
' Catch ex As Exception
' MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
' End Try
' Return False
'End Function
End Class
@@ -1809,17 +1834,15 @@ Public Class cRKSV_DE
'Return getRKSVLink(kasse.rksv_bez)
End Function
Shared Function insertRKSV_DE(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String, Optional storno As Integer = 0) As Boolean
Shared Function insertRKSV_DE_ORIG(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String, Optional storno As Integer = 0) As Boolean
Try
Dim cashbox As String = kasse.rksv_KassaGuid '"VERAG_GMBH_KASSE_01" "KASSA 001"
'Dim endpoint = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
' Dim m_com As VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient("DSFinVKService", endpoint) '"http://ymgk028055.verag.ost.dmn:8733/DSFinVKService")
Dim m_com As VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient() 'PROBLEM??
Dim m_com As DSFinVKServerClient = New DSFinVKServerClient() 'PROBLEM??
' Dim [error] = "" 'm_com.InitializeLibrary(tbLicense.Text, "D:\Database\DSFinVK\dsfinvkdb.db3", "Administrator", "test", cashbox)
@@ -2054,6 +2077,272 @@ Public Class cRKSV_DE
Return False
End Function
Shared Function insertRKSV_DE(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String, Optional storno As Integer = 0) As Boolean
Try
Dim cashbox As String = kasse.rksv_KassaGuid '"VERAG_GMBH_KASSE_01" "KASSA 001"
'Dim endpoint = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
' Dim m_com As VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient("DSFinVKService", endpoint) '"http://ymgk028055.verag.ost.dmn:8733/DSFinVKService")
Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer() 'PROBLEM??
Dim [error] As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.ErrorCode
Dim InitializeLibraryResultSpecified As Boolean
' Dim [error] = "" 'm_com.InitializeLibrary(tbLicense.Text, "D:\Database\DSFinVK\dsfinvkdb.db3", "Administrator", "test", cashbox)
m_com.InitializeLibrary("SQLGUIDE01.verag.ost.dmn", "itg_RKSV_DE", "dsfinvk", "dsfinvk#1337", cashbox, [error], InitializeLibraryResultSpecified)
MsgBox("1: " & [error])
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
Return False
End If
MsgBox("2")
Dim BON_ID As Integer = 0
Dim BON_IDSpecified = False
Dim GetNextBON_IDResultSpecified = False
m_com.GetNextBON_ID(cashbox, BON_ID, BON_IDSpecified, [error], GetNextBON_IDResultSpecified)
MsgBox("3: " & [error])
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
Return False
End If
'Dim BON_NR As Integer = 0
'[error] = m_com.GetNextBON_NR(cashbox, BON_NR)
'If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
' MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
' Return False
'End If
MsgBox("4")
'Rechnung beginnen
Dim bonkopfBegin As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfBegin = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfBegin()
bonkopfBegin.Z_KASSE_ID = cashbox
bonkopfBegin.BEDIENER_ID = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID 'tbBEDIENER_ID.Text
bonkopfBegin.BEDIENER_NAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME 'tbBEDIENER_NAME.Text
bonkopfBegin.BON_ID = BON_ID.ToString()
bonkopfBegin.BON_NAME = "" 'tbBON_NAME.Text
bonkopfBegin.BON_NOTIZ = "" 'tbBON_NOTIZ.Text
bonkopfBegin.BON_NR = BON_ID
bonkopfBegin.BON_STORNO = storno 'If(cbBON_STORNO.Checked, "1", "0")
bonkopfBegin.BON_TYP = "Beleg" 'cmbBON_TYP.SelectedItem.ToString()
bonkopfBegin.KUNDE_ID = "" 'tbKUNDE_ID.Text
bonkopfBegin.KUNDE_LAND = "" 'tbKUNDE_LAND.Text
bonkopfBegin.KUNDE_NAME = "" 'tbKUNDE_NAME.Text
bonkopfBegin.KUNDE_ORT = "" 'tbKUNDE_ORT.Text
bonkopfBegin.KUNDE_PLZ = "" 'tbKUNDE_PLZ.Text
bonkopfBegin.KUNDE_STRASSE = "" ' tbKUNDE_STRASSE.Text
bonkopfBegin.KUNDE_TYP = "" ' tbKUNDE_TYP.Text
bonkopfBegin.KUNDE_USTID = "" ' tbKUNDE_USTID.Text
bonkopfBegin.TERMINAL_ID = "" 'tbTERMINAL_ID.Text
Dim transactionNumber As Integer = 0
Dim transactionNumberSpecified As Boolean
Dim BeginReceiptResultSpecified As Boolean
m_com.BeginReceipt(cashbox, bonkopfBegin, transactionNumber, transactionNumberSpecified, [error], BeginReceiptResultSpecified)
MsgBox("5 ANZ: " & BELEG.POS.Count)
Dim cntZeile = 1
Dim GES_BRUTTO As Double = 0
For Each POS In BELEG.POS
'Bonposition hinzufügen
Dim position As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonPosition = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonPosition()
position.AGENTUR_ID = -1 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["AGENTUR_ID"].Value)
position.ARTIKELTEXT = POS.LeistungsBez 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ARTIKELTEXT"].Value)
position.ART_NR = POS.LeistungsNr ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ART_NR"].Value)
position.BON_ID = Convert.ToString(BON_ID)
position.EINHEIT = "Stk." ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["EINHEIT"].Value)
position.FAKTOR = 1 ' Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["FAKTOR"].Value)
position.GTIN = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GTIN"].Value)
position.GUTSCHEIN_NR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GUTSCHEIN_NR"].Value)
position.GV_NAME = "" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_NAME"].Value)
position.GV_TYP = "Umsatz" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_TYP"].Value)
position.INHAUS = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["INHAUS"].Value)
position.MENGE = POS.Anzahl 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["MENGE"].Value)
position.POS_TERMINAL_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_TERMINAL_ID"].Value)
position.POS_ZEILE = cntZeile 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_ZEILE"].Value)
position.P_STORNO = storno ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["P_STORNO"].Value)
position.STK_BR = POS.Preis 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["STK_BR"].Value)
position.WARENGR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR"].Value)
position.WARENGR_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR_ID"].Value)
position.Z_KASSE_ID = cashbox 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["Z_KASSE_ID"].Value)
' Beträge der Position
Dim position_vat = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonPosition_Ust()
position_vat.BON_ID = position.BON_ID
position_vat.POS_ZEILE = position.POS_ZEILE
Dim steuersatzID = 1
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT [Steuersatz] FROM [tblSteuersätze] where nr='" & BELEG.Steuerschlüssel & "'", "FMZOLL")
Select Case steuersatz
Case 0.19 : steuersatzID = 1
Case 0.07 : steuersatzID = 2
Case 0.00 : steuersatzID = 6
End Select
position_vat.UST_SCHLUESSEL = steuersatzID 'm_com.GetTaxIds(cashbox,) 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["UST_SCHLUESSEL"].Value)
Dim steuerBetrag = POS.Betrag * position_vat.UST_SCHLUESSEL
position_vat.POS_BRUTTO = POS.Betrag + steuerBetrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_BRUTTO"].Value)
position_vat.POS_NETTO = POS.Betrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_NETTO"].Value)
position_vat.POS_UST = steuerBetrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_UST"].Value)
Dim AddPositionToReceiptResultSpecified As Boolean
m_com.AddPositionToReceipt(cashbox, position, position_vat, transactionNumber, transactionNumberSpecified, [error], AddPositionToReceiptResultSpecified)
cntZeile += 1
GES_BRUTTO += position_vat.POS_BRUTTO
Next
MsgBox("6")
'Rechnung abschließen
Dim bonkopfFinish As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfFinish = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfFinish()
bonkopfFinish.Z_KASSE_ID = cashbox
bonkopfFinish.BON_ID = BON_ID
If Not Decimal.TryParse(GES_BRUTTO, bonkopfFinish.UMS_BRUTTO) Then
bonkopfFinish.UMS_BRUTTO = 0.00
End If
bonkopfFinish.PROCESS_TYPE = "Kassenbeleg-V1"
bonkopfFinish.payment_currencies = {"EUR"}
bonkopfFinish.payment_types = {"Bar"}
bonkopfFinish.payment_per_currency = {119.0}
Dim FinishReceiptResult As Boolean
Dim FinishReceiptResultSpecified As Boolean
m_com.FinishReceipt(cashbox, bonkopfFinish, transactionNumber, FinishReceiptResult, [error], FinishReceiptResultSpecified)
' Kassenabschluss anlegen über alle noch nicht abgeschlossenen Rechnungen zu dieser Kasse
' Error = m_com.CreateCashpointClosing(cashbox)
' ' DSFinV-K-Export
' Int from = 0
'Int to = 10
'Dim ret = m_com.ExportCSVFiles(from, to, tbSelectedFolder.Text, tbZipName.Text, True, True,
'true, true, true, true, true, true,
'true, true, true, true,
'true, true, true, true, true,
'true, true, true);
'If (ret == ErrorCode.OK) Then
'{
'MessageBox.Show("Die CSV Dateien wurden im Ordner " + tbSelectedFolder.Text + " angelegt und in die Zip-Datei " + tbZipName.Text + " gepackt.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
'}
'Else
'{
'MessageBox.Show("Beim exportieren der CSV-Dateien ging etwas schief:\r\n" + ret.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
'}
MsgBox("7")
Dim transactionNumberRet As String
Dim serialNumber As String
Dim signature As String
Dim transactionStart As Date
Dim transactionFinish As Date
Dim sigCounter As String
Dim transactionStartSpecified As Boolean
Dim transactionFinishSpecified As Boolean
Dim GetLastReceiptValuesResultSpecified As Boolean
'
m_com.GetLastReceiptValues(cashbox, transactionNumberRet, serialNumber, signature, transactionStart, transactionStartSpecified, transactionFinish, transactionFinishSpecified, sigCounter, [error], GetLastReceiptValuesResultSpecified)
MsgBox("8")
Dim qrCode As String = String.Empty
Dim mimeType As String = String.Empty
Dim GetLastReceiptQrCodeResult As Boolean
Dim GetLastReceiptQrCodeResultSpecified As Boolean
m_com.GetLastReceiptQrCode(cashbox, qrCode, mimeType, GetLastReceiptQrCodeResult, GetLastReceiptQrCodeResultSpecified)
QR_CodeString = qrCode
LastJWS = signature
MsgBox("9")
Catch ex As Exception
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
End Try
Return False
End Function
'Shared Function insertRKSV_DE(ByVal kasse As cRKSV_Kasse, CompanyGUID As String, ByVal umsatzZaehler As Double, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
' Try