3255 lines
153 KiB
VB.net
3255 lines
153 KiB
VB.net
Imports SDL.RKSVServer
|
|
Imports System.Drawing.Printing
|
|
Imports GrapeCity.ActiveReports
|
|
Imports VERAG_PROG_ALLGEMEIN.DSFinVKService
|
|
|
|
Public Class cRKSV
|
|
Shared SQL As New SQL
|
|
|
|
Shared Function insertRKSV(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
|
|
|
|
|
|
|
|
Dim client As RKSVWcfClient = New RKSVWcfClient()
|
|
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
|
|
client.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
credentials.Database = "RKSVWcfDB"
|
|
credentials.Server = "AVISO\SQLEXPRESS"
|
|
|
|
credentials.Username = "Admin"
|
|
credentials.Password = "verag#2"
|
|
credentials.CashboxID = kasse.rksv_bez
|
|
'"VERAG-SUB-KASSE-ZOLL"
|
|
credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
Dim jws As String = String.Empty
|
|
Dim qr As String = String.Empty
|
|
Dim ocra As String = String.Empty
|
|
'Dim answer As String = String.Empty
|
|
|
|
Dim Belegnummer = RKSV_Beleg_Id
|
|
Dim BelegDatumUhrzeit = belegDat ' BELEG.BelegDat
|
|
|
|
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)
|
|
Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
|
|
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
|
|
Dim StandUmsatzzaehler = umsatzZaehler 'KASSE.rksv_Umsatzzaehler
|
|
|
|
|
|
|
|
If TEST Then
|
|
If (client.SignTrainReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal, BetragSatzErm1, BetragSatzErm2, BetragSatzBesonders, BetragSatzNull, jws, qr, ocra, answer)) Then
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
If (jws.Length > 50) Then
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
'Unmittelbares return, damit Änderungen Rückgängig gemacht werden, bevor die nächste Belegerstellung anfängt
|
|
'MessageBox.Show(answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Return False
|
|
End If
|
|
End If
|
|
Else
|
|
If (client.SignReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal, BetragSatzErm1, BetragSatzErm2, BetragSatzBesonders, BetragSatzNull, StandUmsatzzaehler, jws, qr, ocra, answer)) Then
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
If (jws.Length > 50) Then
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
'Unmittelbares return, damit Änderungen Rückgängig gemacht werden, bevor die nächste Belegerstellung anfängt
|
|
' MessageBox.Show(answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Return False
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If QR_CodeString.Length > 50 And LastJWS.Length > 50 Then
|
|
Return True
|
|
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
|
|
|
|
Shared Function getKB(BELEG As EABeleg, PERSONAL As cPersonal, ByRef KBEntry As cKassenbuch, ByRef KBEntryGB As cKassenbuch, Firma As String) As Boolean
|
|
Dim j1 = SQL.getValueTxtBySql("SELECT [JournalNr] FROM [tblKassenbuch] " &
|
|
" WHERE [Mandant]='" & PERSONAL.Mandant & "' AND [Niederlassung]='" & PERSONAL.Niederlassung & "' AND [Benutzer]='" & PERSONAL.ID & "' AND [Geschäftsjahr]='" & cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND [BelegNr] ='" & BELEG.BelegNr & "' and Steuer <=0 AND Soll <> 0", "FMZOLL")
|
|
Dim j2 = SQL.getValueTxtBySql("SELECT [JournalNr] FROM [tblKassenbuch] " &
|
|
" WHERE [Mandant]='" & PERSONAL.Mandant & "' AND [Niederlassung]='" & PERSONAL.Niederlassung & "' AND [Benutzer]='" & PERSONAL.ID & "' AND [Geschäftsjahr]='" & cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND [BelegNr] ='" & BELEG.BelegNr & "' and Steuer <=0 AND Haben <> 0", "FMZOLL")
|
|
Dim journalNr = ""
|
|
Dim journalNrGB = ""
|
|
|
|
If BELEG.Belegart = 1 Then
|
|
journalNr = j1
|
|
journalNrGB = j2
|
|
Else
|
|
journalNr = j2
|
|
journalNrGB = j1
|
|
End If
|
|
|
|
If Not IsNumeric(journalNr) Or Not IsNumeric(journalNrGB) Then
|
|
MsgBox("Zugehörige Kassenbucheinträge wurden nicht gefunden!")
|
|
Return False
|
|
End If
|
|
'J1 /j2 nicht ganz sicher...
|
|
KBEntry = New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), j2)
|
|
KBEntryGB = New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), j1)
|
|
Return True
|
|
End Function
|
|
Shared Function getDEP(ByVal kasse_id As Integer, ByRef exportResult As String) As Boolean
|
|
|
|
Dim KASSE As New cRKSV_Kasse(kasse_id)
|
|
Dim client As RKSVWcfClient = New RKSVWcfClient()
|
|
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(KASSE))
|
|
client.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
credentials.Database = "RKSVWcfDB"
|
|
credentials.Server = "AVISO\SQLEXPRESS"
|
|
'KASSENPWD: !VERAG-SUB-KASSE-ZOLL#2016
|
|
' Select Case kasse ' KASSE.rksv_bez
|
|
' Case "VERAG-SUB-KASSE-ZOLL"
|
|
credentials.Username = "Admin"
|
|
credentials.Password = "verag#2"
|
|
|
|
|
|
|
|
If KASSE.rksv_ITG_id Is Nothing Then
|
|
MsgBox("Keine RKSV-ITG-ID vorhanden!")
|
|
Return False
|
|
End If
|
|
|
|
|
|
credentials.CashboxID = KASSE.rksv_bez '"VERAG-SUB-KASSE-ZOLL"
|
|
credentials.CompanyGUID = KASSE.rksv_CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
' Dim inValue As RKSVServer.ExportJWSRequest = New RKSVServer.ExportJWSRequest()
|
|
' inValue.certificate = certificate
|
|
' # inValue.certificateChain = certificateChain
|
|
' inValue.jwsCompactReceipts = jwsCompactReceipts
|
|
' inValue.exportResult = exportResult
|
|
' Dim retVal As RKSVServer.ExportJWSResponse = CType(Me, RKSVServer.IRKSVWcf).ExportJWS(inValue)
|
|
' exportResult = retVal.exportResult
|
|
|
|
' Dim exportResult = ""
|
|
|
|
If False Then '(client.ExportJWS( certificate , certificateChain , jwsCompactReceipts, exportResult ) Then
|
|
' If (client.SignTrainReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal,
|
|
' BetragSatzErm1, BetragSatzErm2, BetragSatzNull, BetragSatzBesonders,
|
|
' jws, qr, ocra, answer)) Then
|
|
|
|
Else
|
|
|
|
MessageBox.Show("FEHLER", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Return False
|
|
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
'Shared Function getRKSVLink(ByVal kasse As String) As String
|
|
' If kasse = "FRONT-OFFICE-SUB-KASSE" Then
|
|
' Return "http://192.168.0.25:8733/Design_Time_Addresses/RKSVCompleteServer/Service1/?singleWsdl"
|
|
' End If
|
|
' Return "http://192.168.0.106:8733/Design_Time_Addresses/RKSVCompleteServer/Service1/?singleWsdl"
|
|
'End Function
|
|
|
|
Shared Function getRKSVLink(ByVal kasse As cRKSV_Kasse) As String
|
|
Return kasse.rksv_ipAdresse
|
|
'Return getRKSVLink(kasse.rksv_bez)
|
|
End Function
|
|
'Shared Function stornoRKSV_DE(ByVal kasse As cRKSV_Kasse, 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, ByRef answer As String) As Boolean
|
|
Shared Function stornoRKSV_DE_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal OLD_RKSV_Beleg_Id As Object, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
|
|
Try
|
|
|
|
' MsgBox("0: ")
|
|
Dim cashbox As String = kasse.rksv_KassaGuid '"VERAG_GMBH_KASSE_01" "KASSA 001"
|
|
|
|
Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.DSFinVKServerClient() 'PROBLEM??
|
|
m_com.Endpoint.Address = New System.ServiceModel.EndpointAddress("http://ymgk028055.verag.ost.dmn:8733/DSFinVKService?wsdl")
|
|
m_com.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
'Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
'credentials.Database = "RKSVWcfDB"
|
|
'credentials.Server = "AVISO\SQLEXPRESS"
|
|
|
|
'credentials.Username = "Admin"
|
|
'credentials.Password = "verag#2"
|
|
'credentials.CashboxID = kasse.rksv_bez
|
|
''"VERAG-SUB-KASSE-ZOLL"
|
|
'credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
|
|
|
|
'Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer() 'PROBLEM??
|
|
' m_com.Url = "http://ymgk028055.verag.ost.dmn:8733/DSFinVKService"
|
|
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)
|
|
[error] = 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
|
|
If [error].ToString() <> "CASHBOX_ALREADY_MANAGED" Then '--> CASHBOX_ALREADY_MANAGED --> der Fehler darf auftreten, die Cashbox wird Serverseitig initialisert, hier nur der Versuch, falls das nciht geschehen ist... lt. Jan Mika / AITG
|
|
MessageBox.Show([error].ToString(), "Error1", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
'BelegNr wird von RKSV übernommen
|
|
Dim BON_ID As Integer = 0
|
|
If False Then
|
|
|
|
Dim BON_IDSpecified = False
|
|
Dim GetNextBON_IDResultSpecified = False
|
|
[error] = m_com.GetNextBON_ID(cashbox, BON_ID)
|
|
' MsgBox("3: " & [error])
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error2", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
Else
|
|
' MsgBox(RKSV_Beleg_Id)
|
|
BON_ID = RKSV_Beleg_Id
|
|
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 stornoVz = -1
|
|
|
|
|
|
Dim bonkopfBegin As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonKopfBegin = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonKopfBegin
|
|
' 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.REF_BON_ID = If(OLD_RKSV_Beleg_Id, "").ToString
|
|
|
|
bonkopfBegin.BON_NAME = "" 'tbBON_NAME.Text
|
|
|
|
bonkopfBegin.BON_NOTIZ = "" 'tbBON_NOTIZ.Text
|
|
|
|
bonkopfBegin.BON_NR = BON_ID
|
|
|
|
bonkopfBegin.BON_STORNO = 1 'If(cbBON_STORNO.Checked, "1", "0")
|
|
|
|
bonkopfBegin.BON_TYP = "Beleg" 'cmbBON_TYP.SelectedItem.ToString()
|
|
|
|
bonkopfBegin.KUNDE_ID = If(BELEG.KundenNr > 0, BELEG.KundenNr, "") 'tbKUNDE_ID.Text
|
|
|
|
bonkopfBegin.KUNDE_LAND = If(BELEG.LandKz, "") 'tbKUNDE_LAND.Text
|
|
|
|
bonkopfBegin.KUNDE_NAME = If(BELEG.Frachtführer, "") 'tbKUNDE_NAME.Text
|
|
|
|
bonkopfBegin.KUNDE_ORT = If(BELEG.Ort, "") 'tbKUNDE_ORT.Text
|
|
|
|
bonkopfBegin.KUNDE_PLZ = If(BELEG.PLZ, "") 'tbKUNDE_PLZ.Text
|
|
|
|
bonkopfBegin.KUNDE_STRASSE = If(BELEG.Straße, "") ' tbKUNDE_STRASSE.Text
|
|
|
|
bonkopfBegin.KUNDE_TYP = "" ' tbKUNDE_TYP.Text
|
|
|
|
bonkopfBegin.KUNDE_USTID = If(BELEG.UstIdKz, "") & If(BELEG.UstIdNr, "") ' tbKUNDE_USTID.Text
|
|
|
|
bonkopfBegin.TERMINAL_ID = "" 'tbTERMINAL_ID.Text
|
|
|
|
Dim transactionNumber As Integer = 0
|
|
Dim transactionNumberSpecified As Boolean
|
|
|
|
Dim BeginReceiptResultSpecified As Boolean
|
|
[error] = m_com.BeginReceipt(cashbox, bonkopfBegin, transactionNumber)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error3", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
' 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_2022.BonPosition = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.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 = 0 'Hier kein Storno, das wäre nur wenn eine Pos storniert wird...
|
|
|
|
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_2022.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
|
|
' MsgBox(POS.Anzahl)
|
|
' MsgBox(POS.Betrag)
|
|
|
|
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)
|
|
|
|
position_vat.POS_BRUTTO *= stornoVz
|
|
position_vat.POS_NETTO *= stornoVz
|
|
position_vat.POS_UST *= stornoVz
|
|
|
|
Dim AddPositionToReceiptResultSpecified As Boolean
|
|
[error] = m_com.AddPositionToReceipt(cashbox, position, position_vat, transactionNumber)
|
|
cntZeile += 1
|
|
GES_BRUTTO += position_vat.POS_BRUTTO
|
|
|
|
Next
|
|
' MsgBox("6: " & GES_BRUTTO)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error4", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
'Rechnung abschließen
|
|
|
|
Dim bonkopfFinish As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonKopfFinish = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.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 = {GES_BRUTTO} '{0.0} 'BETRAG"!!!!!!!!!!!!
|
|
|
|
' MsgBox("6,1: ")
|
|
|
|
Dim FinishReceiptResult As Boolean = True
|
|
Dim FinishReceiptResultSpecified As Boolean
|
|
[error] = m_com.FinishReceipt(cashbox, bonkopfFinish, transactionNumber)
|
|
' MsgBox("6,2: ")
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error5", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
' 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
|
|
'
|
|
[error] = m_com.GetLastReceiptValues(cashbox, transactionNumberRet, serialNumber, signature, transactionStart, transactionFinish, sigCounter)
|
|
|
|
' MsgBox("8")
|
|
|
|
Dim qrCode As String = String.Empty
|
|
Dim mimeType As String = String.Empty
|
|
Dim GetLastReceiptQrCodeResult As Boolean
|
|
Dim GetLastReceiptQrCodeResultSpecified As Boolean
|
|
[error] = m_com.GetLastReceiptQrCode(cashbox, qrCode, mimeType)
|
|
|
|
QR_CodeString = qrCode
|
|
LastJWS = signature
|
|
|
|
|
|
' MsgBox("9")
|
|
If QR_CodeString.Length > 50 And LastJWS.Length > 50 Then
|
|
Return True
|
|
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
|
|
|
|
Shared Function stornoRKSV_DE(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal OLD_RKSV_Beleg_Id As Object, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
|
|
Try
|
|
|
|
' MsgBox("0: ")
|
|
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??
|
|
m_com.Url = "http://ymgk028055.verag.ost.dmn:8733/DSFinVKService"
|
|
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)
|
|
|
|
' Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer() 'PROBLEM??
|
|
' Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.DSFinVKServerClient() 'PROBLEM??
|
|
|
|
' m_com.Url = "http://ymgk028055.verag.ost.dmn:8733/DSFinVKService"
|
|
'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
|
|
If [error].ToString() <> "CASHBOX_ALREADY_MANAGED" Then '--> CASHBOX_ALREADY_MANAGED --> der Fehler darf auftreten, die Cashbox wird Serverseitig initialisert, hier nur der Versuch, falls das nciht geschehen ist... lt. Jan Mika / AITG
|
|
MessageBox.Show([error].ToString(), "Error1", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
' MsgBox("2")
|
|
Dim BON_ID As Integer = 0
|
|
If False Then
|
|
|
|
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
|
|
If [error].ToString() <> "CASHBOX_ALREADY_MANAGED" Then '--> CASHBOX_ALREADY_MANAGED --> der Fehler darf auftreten, die Cashbox wird Serverseitig initialisert, hier nur der Versuch, falls das nciht geschehen ist... lt. Jan Mika / AITG
|
|
MessageBox.Show([error].ToString(), "Error2", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
End If
|
|
Else
|
|
' MsgBox(RKSV_Beleg_Id)
|
|
BON_ID = RKSV_Beleg_Id
|
|
End If
|
|
|
|
'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(), "Error2", 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 stornoVz = -1
|
|
|
|
|
|
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.REF_BON_ID = If(OLD_RKSV_Beleg_Id, "").ToString()
|
|
|
|
bonkopfBegin.BON_NAME = "" 'tbBON_NAME.Text
|
|
|
|
bonkopfBegin.BON_NOTIZ = "" 'tbBON_NOTIZ.Text
|
|
|
|
bonkopfBegin.BON_NR = BON_ID
|
|
|
|
bonkopfBegin.BON_STORNO = 1 'If(cbBON_STORNO.Checked, "1", "0")
|
|
|
|
bonkopfBegin.BON_TYP = "Beleg" 'cmbBON_TYP.SelectedItem.ToString()
|
|
|
|
bonkopfBegin.KUNDE_ID = If(BELEG.KundenNr > 0, BELEG.KundenNr, "") 'tbKUNDE_ID.Text
|
|
|
|
bonkopfBegin.KUNDE_LAND = If(BELEG.LandKz, "") 'tbKUNDE_LAND.Text
|
|
|
|
bonkopfBegin.KUNDE_NAME = If(BELEG.Frachtführer, "") 'tbKUNDE_NAME.Text
|
|
|
|
bonkopfBegin.KUNDE_ORT = If(BELEG.Ort, "") 'tbKUNDE_ORT.Text
|
|
|
|
bonkopfBegin.KUNDE_PLZ = If(BELEG.PLZ, "") 'tbKUNDE_PLZ.Text
|
|
|
|
bonkopfBegin.KUNDE_STRASSE = If(BELEG.Straße, "") ' tbKUNDE_STRASSE.Text
|
|
|
|
bonkopfBegin.KUNDE_TYP = "" ' tbKUNDE_TYP.Text
|
|
|
|
bonkopfBegin.KUNDE_USTID = If(BELEG.UstIdKz, "") & If(BELEG.UstIdNr, "") ' 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)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error3", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
' 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 = 0 'Hier kein Storno, das wäre nur wenn eine Pos storniert wird...
|
|
|
|
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
|
|
' MsgBox(POS.Anzahl)
|
|
' MsgBox(POS.Betrag)
|
|
|
|
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)
|
|
|
|
position_vat.POS_BRUTTO *= stornoVz
|
|
position_vat.POS_NETTO *= stornoVz
|
|
position_vat.POS_UST *= stornoVz
|
|
|
|
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: " & GES_BRUTTO)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error4", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
'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 = {GES_BRUTTO} '{0.0} 'BETRAG"!!!!!!!!!!!!
|
|
|
|
' MsgBox("6,1: ")
|
|
|
|
Dim FinishReceiptResult As Boolean = True
|
|
Dim FinishReceiptResultSpecified As Boolean
|
|
m_com.FinishReceipt(cashbox, bonkopfFinish, transactionNumber, FinishReceiptResult, [error], FinishReceiptResultSpecified)
|
|
' MsgBox("6,2: ")
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error5", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
' 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")
|
|
If QR_CodeString.Length > 50 And LastJWS.Length > 50 Then
|
|
Return True
|
|
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
|
|
|
|
Shared Function stornoRKSV(ByVal kasse As cRKSV_Kasse, 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, ByRef answer As String) As Boolean
|
|
Try
|
|
|
|
If RKSV_Beleg_Id <= 0 Then
|
|
MsgBox("Keine RKSV-Beleg-ID")
|
|
Return False
|
|
End If
|
|
Dim client As RKSVWcfClient = New RKSVWcfClient()
|
|
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
|
|
client.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
credentials.Database = "RKSVWcfDB"
|
|
credentials.Server = "AVISO\SQLEXPRESS"
|
|
|
|
|
|
credentials.Username = "Admin"
|
|
credentials.Password = "verag#2"
|
|
'credentials.CashboxID = kasse '"VERAG-SUB-KASSE-ZOLL"
|
|
'credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
credentials.CashboxID = kasse.rksv_bez '"VERAG-SUB-KASSE-ZOLL"
|
|
credentials.CompanyGUID = kasse.rksv_CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
|
|
|
|
|
|
Dim jws As String = String.Empty
|
|
Dim qr As String = String.Empty
|
|
Dim ocra As String = String.Empty
|
|
'Dim answer As String = String.Empty
|
|
|
|
Dim Belegnummer = RKSV_Beleg_Id
|
|
Dim BelegDatumUhrzeit = belegDat
|
|
|
|
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)
|
|
Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
|
|
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
|
|
Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler 'KASSE.rksv_Umsatzzaehler
|
|
|
|
|
|
' Dim BetragSatzNormal = summe * -1
|
|
' Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summe, 0.0) * -1
|
|
' Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summe, 0.0) * -1
|
|
' Dim BetragSatzNull = IIf(steuersatz = 0.0, summe, 0.0) * -1
|
|
' Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summe, 0.0) * -1
|
|
' Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler
|
|
|
|
' Dim BetragSatzBesonders = 0
|
|
' Dim BetragSatzBesonders = 0
|
|
' Dim BetragSatzBesonders = 0
|
|
'client.ExportJWS
|
|
|
|
' MsgBox(credentials.CashboxID & " credentials.CashboxID")
|
|
' MsgBox(credentials.CompanyGUID & " credentials.CompanyGUID")
|
|
|
|
|
|
If (client.SignStornoReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal, BetragSatzErm1, BetragSatzErm2, BetragSatzBesonders, BetragSatzNull, jws, qr, ocra, answer)) Then
|
|
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
|
|
If (jws.Length > 50) Then
|
|
|
|
QR_CodeString = qr
|
|
' Dim bmpBytes As Byte() = Convert.FromBase64String(qr)
|
|
' Dim ms As New System.IO.MemoryStream(bmpBytes)
|
|
' Dim bmp As Image = Image.FromStream(ms)
|
|
' QR_Image = Image.FromStream(ms)
|
|
' pbQrCode.Image = bmp
|
|
LastJWS = jws
|
|
Else
|
|
|
|
Return False
|
|
End If
|
|
End If
|
|
Return True
|
|
|
|
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
|
|
|
|
'Beleg storno und Kassenbuch Gegenbuchung
|
|
Shared Function STORNO(BELEG As EABeleg, ByVal grund As String, Firma As String, Optional stornoGegenbuchen As Boolean = False) As EABeleg
|
|
If (Not BELEG.gebuchtStorno) Or stornoGegenbuchen Then
|
|
' MsgBox("SELECT * FROM tblKassenbuch WHERE [Mandant]='" & BELEG.Mandant & "' AND Niederlassung='" & BELEG.Niederlassung & "' AND Benutzer='" & BELEG.Benutzer & "' AND Geschäftsjahr='" & getGJ(BELEG.BelegDat) & "' AND BelegNr='" & BELEG.BelegNr & "'")
|
|
Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM tblKassenbuch WHERE [Mandant]='" & BELEG.Mandant & "' AND Niederlassung='" & BELEG.Niederlassung & "' AND Benutzer='" & BELEG.Benutzer & "' AND Geschäftsjahr='" & getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND BelegNr='" & BELEG.BelegNr & "'", "FMZOLL")
|
|
' Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, getGJ(BELEG.BelegDat))
|
|
If dt IsNot Nothing Then
|
|
For Each r In dt.Rows
|
|
Dim KBEntry As New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, getGJ_FIRMA(BELEG.BelegDat, Firma), r("JournalNr"))
|
|
KBEntry.JournalNr = cRKSV.getNewJournalNr(BELEG, Firma) ' GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
KBEntry.BelegDat = BELEG.BelegDat
|
|
KBEntry.Buchungsdatum = Now.ToShortDateString
|
|
KBEntry.Soll = KBEntry.Soll * -1
|
|
KBEntry.Haben = KBEntry.Haben * -1
|
|
KBEntry.INSERT()
|
|
Next
|
|
End If
|
|
If Not stornoGegenbuchen Then
|
|
BELEG.gebuchtStorno = True
|
|
BELEG.storniert = True
|
|
BELEG.Stornogrund = grund
|
|
BELEG.SAVE()
|
|
End If
|
|
End If
|
|
Return BELEG
|
|
End Function
|
|
|
|
'Beleg storno und Kassenbuch Gegenbuchung
|
|
Shared Function STORNO_BELEG_ONLY(BELEG As EABeleg, ByVal grund As String) As EABeleg
|
|
BELEG.gebuchtStorno = True
|
|
BELEG.storniert = True
|
|
BELEG.Stornogrund = grund
|
|
BELEG.SAVE()
|
|
Return BELEG
|
|
End Function
|
|
'Beleg storno und Kassenbuch Gegenbuchung
|
|
Shared Function DELETE(BELEG As EABeleg, Firma As String) As Boolean
|
|
Try
|
|
Dim dt As DataTable = SQL.loadDgvBySql("DELETE FROM tblKassenbuch WHERE [Mandant]='" & BELEG.Mandant & "' AND Niederlassung='" & BELEG.Niederlassung & "' AND Benutzer='" & BELEG.Benutzer & "' AND Geschäftsjahr='" & getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND BelegNr='" & BELEG.BelegNr & "'", "FMZOLL")
|
|
Return BELEG.DELETE()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
|
|
Shared Function STORNO_RUECKGAENGIG(BELEG As EABeleg, ByVal grund As String, Firma As String) As EABeleg
|
|
If BELEG.gebuchtStorno Then
|
|
Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM tblKassenbuch WHERE [Mandant]='" & BELEG.Mandant & "' AND Niederlassung='" & BELEG.Niederlassung & "' AND Benutzer='" & BELEG.Benutzer & "' AND Geschäftsjahr='" & getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND BelegNr='" & BELEG.BelegNr & "'", "FMZOLL")
|
|
' Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, getGJ(BELEG.BelegDat))
|
|
If dt IsNot Nothing Then
|
|
For Each r In dt.Rows
|
|
Dim KBEntry As New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, getGJ_FIRMA(BELEG.BelegDat, Firma), r("JournalNr"))
|
|
KBEntry.JournalNr = cRKSV.getNewJournalNr(BELEG, Firma) ' GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
KBEntry.BelegDat = BELEG.BelegDat
|
|
KBEntry.Buchungsdatum = Now.ToShortDateString
|
|
KBEntry.Soll = KBEntry.Soll * -1
|
|
KBEntry.Haben = KBEntry.Haben * -1
|
|
KBEntry.INSERT()
|
|
Next
|
|
End If
|
|
BELEG.gebuchtStorno = False
|
|
BELEG.storniert = False
|
|
BELEG.Stornogrund = ""
|
|
BELEG.SAVE()
|
|
End If
|
|
Return BELEG
|
|
End Function
|
|
|
|
Shared Function getGJ_FIRMA(BelegDat As Date, FIRMA As String) As Integer
|
|
If FIRMA = "" Then FIRMA = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Select Case FIRMA
|
|
Case "IMEX", "FRONTOFFICE", "UNISPED", "AMBAR"
|
|
Return BelegDat.Year
|
|
Case Else
|
|
Return IIf(BelegDat.Month = 1, BelegDat.Year - 1, BelegDat.Year)
|
|
End Select
|
|
|
|
End Function
|
|
|
|
Shared Function getGJ(BelegDat As Date, Optional FIRMA_ID As Integer = -1) As Integer
|
|
'If FIRMA = "" Then FIRMA = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Select Case FIRMA_ID
|
|
Case -1, 1, 3, 11, 7, 19, 15 'Abweichendes WJ
|
|
Return IIf(BelegDat.Month = 1, BelegDat.Year - 1, BelegDat.Year)
|
|
Case Else
|
|
Return BelegDat.Year
|
|
End Select
|
|
End Function
|
|
'Shared Function getGJ(BelegDat As Date, FIRMAId As String) As Integer
|
|
|
|
' If FIRMA = "" Then FIRMA = New VERAG_PROG_ALLGEMEIN.cFirmen()
|
|
' Select Case FIRMA
|
|
' Case "IMEX", "FRONTOFFICE", "UNISPED", "AMBAR"
|
|
' Return BelegDat.Year
|
|
' Case Else
|
|
' Return IIf(BelegDat.Month = 1, BelegDat.Year - 1, BelegDat.Year)
|
|
' End Select
|
|
|
|
'End Function
|
|
|
|
'Shared Function getGJ_ByRksvId(BelegDat As Date, RksvId As Integer) As Integer
|
|
' Select Case RksvId
|
|
' Case 1
|
|
' Return getGJ(BelegDat, "VERAG")
|
|
' Case Else
|
|
' Return IIf(BelegDat.Month = 1, BelegDat.Year - 1, BelegDat.Year)
|
|
' End Select
|
|
|
|
'End Function
|
|
|
|
|
|
Shared Function getGJ_EndOfYear(GeschaerftsJahr As Integer) As Date
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX", "FRONTOFFICE"
|
|
Return CDate("31.12." & GeschaerftsJahr)
|
|
Case Else
|
|
Return CDate("31.01." & (GeschaerftsJahr + 1))
|
|
End Select
|
|
End Function
|
|
|
|
Shared Function getGJ_BeginOfYear(GeschaerftsJahr As Integer) As Date
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX", "FRONTOFFICE"
|
|
Return CDate("01.01." & GeschaerftsJahr)
|
|
Case Else
|
|
Return CDate("01.02." & GeschaerftsJahr)
|
|
End Select
|
|
End Function
|
|
|
|
Public Shared Function isforbiddenDate() As Boolean
|
|
Dim lastDayofMonth = CDate("01." & Now.AddMonths(1).Month & "." & Now.AddMonths(1).Year).AddDays(-1)
|
|
Dim nowdate As Date = CDate("31.01.2018") 'Now
|
|
'wenn letzter Tag im Monat...
|
|
If nowdate.ToShortDateString = lastDayofMonth.ToShortDateString Then
|
|
Dim zp As Date = CDate(Now.ToShortDateString & " 23:54:50")
|
|
'... und kurz vor Mitternacht:
|
|
If Now > zp Then
|
|
Return True
|
|
End If
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
'cboPrinter.SelectedItem.ToString
|
|
Public Shared Function printKundenBeleg(BELEG As EABeleg, KASSE As cRKSV_Kasse, PERSONAL As cPersonal, printername As String, showDok As Boolean) As Boolean
|
|
|
|
'Dim print As New frmPrintLayout
|
|
|
|
Dim rpt As New rptKundenBeleg
|
|
rpt.lblRgNr.Text = BELEG.rksv_BelegId '"12345 / TR"
|
|
rpt.lblRgDatum.Text = BELEG.BelegDat.ToString("dd.MM.yyyy") ' HH:mm")
|
|
' rpt.lblKdNr.Text = IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
|
|
rpt.lblFirma.Text = BELEG.Ordnungsbegriff
|
|
|
|
Dim adr1 = BELEG.Straße
|
|
Dim adr2 = (BELEG.LandKz & " " & BELEG.PLZ & " " & BELEG.Ort).Trim
|
|
If adr1.Trim <> "" Then rpt.lblFirma.Text &= vbNewLine & adr1
|
|
If adr2.Trim <> "" Then rpt.lblFirma.Text &= vbNewLine & adr2
|
|
|
|
Dim uidkdnr = (BELEG.UstIdKz & " " & BELEG.UstIdNr).Trim
|
|
If uidkdnr <> "" Then uidkdnr &= vbNewLine
|
|
uidkdnr &= IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
|
|
rpt.lblUID.Text = uidkdnr
|
|
|
|
rpt.lblFahrer.Text = BELEG.Fahrer
|
|
rpt.lblLKWKz.Text = BELEG.LKW_Kennzeichen
|
|
If BELEG.LKW_Kennzeichen = "" Then rpt.lblKennzeichenUeberschrift.Text = "" ' = False
|
|
rpt.txtPassnummer.Text = BELEG.Passnummer
|
|
If BELEG.Passnummer = "" Then rpt.TextBox1.Text = "" ' = False
|
|
|
|
If BELEG.Fahrer = "" Then rpt.lblFahrerUeberschrift.Text = "" '= False
|
|
rpt.lblTextSteuern.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull(Beschreibung,'< keine Steuerberechnung >') FROM [tblSteuersätze] WHERE Nr='" & BELEG.Steuerschlüssel & "'", "FMZOLL")
|
|
Dim steuersatz = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & BELEG.Steuerschlüssel & "' ", "FMZOLL")
|
|
|
|
rpt.lblSachbearbeiter.Text = PERSONAL.Name
|
|
rpt.lblKbNr.Text = "( " & PERSONAL.KassenbuchNr & " )"
|
|
rpt.Label25.Visible = (BELEG.DruckDatumUhrzeit IsNot Nothing) 'KOPIE
|
|
|
|
rpt.lblBetragSum.Text = ""
|
|
rpt.lblGesamtbetrag.Text = ""
|
|
rpt.lblBetragSteuern.Text = ""
|
|
|
|
rpt.lblPosNr.Text = ""
|
|
If If(BELEG.LKW_Beleg, True) Then
|
|
If BELEG.FilialenNr > 0 And BELEG.AbfertigungsNr > 0 Then
|
|
rpt.lblPosNr.Text = BELEG.FilialenNr & " / " & BELEG.AbfertigungsNr
|
|
End If
|
|
Else
|
|
'alle betroffenen AbfNr:
|
|
For Each b In BELEG.POS
|
|
If b.FilialenNr > 0 And b.AbfertigungsNr > 0 Then
|
|
If Not rpt.lblPosNr.Text.Contains(b.FilialenNr & "/" & b.AbfertigungsNr) Then
|
|
rpt.lblPosNr.Text &= b.FilialenNr & "/" & b.AbfertigungsNr & vbNewLine
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
rpt.lblPosNr.Text = rpt.lblPosNr.Text.Trim
|
|
If rpt.lblPosNr.Text = "" Then rpt.lblPosNr.Visible = False : rpt.Label26.Visible = False
|
|
|
|
|
|
If If(BELEG.LKW_Id, 0) > 0 Then
|
|
rpt.txtLKWId.Text = BELEG.LKW_Id
|
|
Else
|
|
rpt.txtLKWId.Visible = False : rpt.Label1.Visible = False
|
|
End If
|
|
|
|
|
|
If BELEG.storniert Then
|
|
rpt.Label25.Text = "**** STORNO ****"
|
|
rpt.Label25.Visible = True
|
|
rpt.lblStorno.Visible = True
|
|
rpt.lblStorno.Text = "STORNORECHNUNG" & vbNewLine & BELEG.Stornogrund
|
|
End If
|
|
|
|
|
|
Select Case KASSE.rksv_bez
|
|
Case "VERAG-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
'rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2 'Standart
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition AG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 100" & vbNewLine & "UID: ATU53187000 "
|
|
Case "VERAG-CUSTOMSSERVICE-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU68374109 "
|
|
Case "ATILLA-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.lblFirma_Name.Text = "ATILLA Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU63158647 "
|
|
Case "VERAG-GMBH-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Spedition_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "D 94152 Neuhaus am Inn | Hartham 6" & vbNewLine & "UID: DE813570890 "
|
|
Select Case PERSONAL.Niederlassung
|
|
Case "SBG"
|
|
rpt.lblFirma_Details.Text &= vbNewLine & "Niederlassung: Bad Reichenhall"
|
|
Case "WAI"
|
|
rpt.lblFirma_Details.Text &= vbNewLine & "Niederlassung: Waidhaus"
|
|
End Select
|
|
Case "KASSE-VERWALTUNG"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-VERWALTUNG"
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "TEST-KASSE"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
|
|
rpt.lblFirma_Name.Text = "TEST-KASSE"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-SUB"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "FRONT-OFFICE-SUB-KASSE"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.FrontOfficeSUB
|
|
rpt.lblFirma_Name.Text = "Front-Office Suben eG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU74813856 "
|
|
End Select
|
|
|
|
If KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv Then
|
|
If BELEG.rksv_qr Is Nothing OrElse BELEG.rksv_qr = "" Then
|
|
If KASSE.rksv_KassaGuid <> "KASSE_01" Then
|
|
MsgBox("Fehler: QR-Code wurde nicht richtig erstellt!")
|
|
End If
|
|
Else
|
|
Dim bmpBytes As Byte() = Convert.FromBase64String(BELEG.rksv_qr)
|
|
Dim MS As New System.IO.MemoryStream(bmpBytes)
|
|
Dim QR_Image = Image.FromStream(MS)
|
|
rpt.QR.Image = QR_Image
|
|
End If
|
|
|
|
End If
|
|
' rpt.DataSource = cProgramFunctions.dgridViewTods(dgvBelegPos)
|
|
|
|
Dim dt As New DataTable
|
|
dt.Columns.Add("clmnAnzahl", GetType(String))
|
|
dt.Columns.Add("clmnBeschreibung", GetType(String))
|
|
dt.Columns.Add("clmnBetrag", GetType(String))
|
|
dt.Columns.Add("clmnPreis", GetType(String))
|
|
|
|
For Each p In BELEG.POS
|
|
' dt.Rows.Add(p.Anzahl, p.Leistungsbeschreibung, p.Betrag, p.Preis)
|
|
If BELEG.Belegart = 1 Then
|
|
dt.Rows.Add(p.Anzahl, p.LeistungsBez, p.Betrag, p.Preis)
|
|
Else
|
|
dt.Rows.Add(p.Anzahl, p.LeistungsBez, p.Betrag * -1, p.Preis * -1)
|
|
End If
|
|
Next
|
|
|
|
rpt.DataSource = dt 'cProgramFunctions.dgridViewTods(dgvBelegPos)
|
|
Dim sum As Double = 0
|
|
'Dim cnt As Integer = 0
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
rpt.lblLeistungsNr.Text = rpt.Fields.Item("clmnAnzahl").Value()
|
|
rpt.lblLeistun.Text = rpt.Fields.Item("clmnBeschreibung").Value()
|
|
rpt.lblBetrag.Text = CDbl(rpt.Fields.Item("clmnBetrag").Value()).ToString("C")
|
|
rpt.lblEinzelpreis.Text = CDbl(rpt.Fields.Item("clmnPreis").Value()).ToString("C")
|
|
sum += rpt.Fields.Item("clmnBetrag").Value()
|
|
End Sub
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
rpt.lblBetragSum.Text = CDbl(sum).ToString("C")
|
|
Dim s As Double = IIf(IsNumeric(steuersatz), steuersatz, 0)
|
|
rpt.lblBetragSteuern.Text = CDbl(sum * s).ToString("C")
|
|
rpt.lblGesamtbetrag.Text = CDbl(sum + (sum * s)).ToString("C")
|
|
If sum < 0 Then rpt.Label2.Text = "Rechnungskorrektur Nr."
|
|
End Sub
|
|
|
|
'PaperKind = System.Drawing.Printing.PaperKind.Custom
|
|
' Me.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom
|
|
If showDok Then ' Wird angezeigt, nicht gedruckt
|
|
Dim print As New GrapeCity.ActiveReports.Viewer.Win.Viewer
|
|
print.Text = "Beleg"
|
|
Dim printForm As New frmPrintLayout
|
|
AddHandler print.LoadCompleted, Sub()
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
End Sub
|
|
printForm.Viewer.LoadDocument(rpt)
|
|
|
|
printForm.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
printForm.Show()
|
|
printForm.BringToFront()
|
|
Else
|
|
' print.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
' print.LoadDocument(rpt)
|
|
|
|
|
|
rpt.Run(False)
|
|
rpt.Document.Printer.PrinterSettings.Copies = 1
|
|
If printername <> "" Then
|
|
rpt.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
rpt.Dispose()
|
|
End If
|
|
End If
|
|
|
|
If Not rpt.Document.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
rpt.Dispose()
|
|
|
|
End If
|
|
|
|
Return True
|
|
' Me.Cursor = Cursors.Default
|
|
End Function
|
|
|
|
|
|
Public Shared Function printKundenBelegLG(BELEG As EABeleg, KASSE As cRKSV_Kasse, PERSONAL As cPersonal, printername As String, Art As String) As Boolean
|
|
|
|
'Dim print As New frmPrintLayout
|
|
Dim print As New GrapeCity.ActiveReports.Viewer.Win.Viewer
|
|
print.Text = "Beleg"
|
|
Dim rpt As New rptLeihgeldBeleg
|
|
rpt.lblRgNr.Text = BELEG.rksv_BelegId '"12345 / TR"
|
|
rpt.lblRgDatum.Text = BELEG.BelegDat.ToString("dd.MM.yyyy") ' HH:mm")
|
|
' rpt.lblKdNr.Text = IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
|
|
rpt.lblFrachtf.Text = BELEG.Ordnungsbegriff
|
|
|
|
|
|
Dim firenname = (If(BELEG.Name1, "") & If(BELEG.Name2, "")).Trim
|
|
|
|
Dim adr1 = BELEG.Straße
|
|
Dim adr2 = (BELEG.LandKz & " " & BELEG.PLZ & " " & BELEG.Ort).Trim
|
|
If adr1.Trim <> "" Then rpt.lblFrachtf.Text &= vbNewLine & adr1
|
|
If adr2.Trim <> "" Then rpt.lblFrachtf.Text &= vbNewLine & adr2
|
|
|
|
rpt.lblFirma.Text = If(BELEG.KundenNr > 0, BELEG.KundenNr & " - ", "") & If(firenname <> "", firenname, BELEG.Ordnungsbegriff) & If(adr1 <> "", vbNewLine & adr1, "") & If(adr2 <> "", vbNewLine & adr2, "")
|
|
rpt.txtFrachtfuhrer.Text = If(BELEG.FrachtführerKundenNr > 0, BELEG.FrachtführerKundenNr & " - ", "") & BELEG.Frachtführer
|
|
|
|
rpt.lblUID.Text = (BELEG.UstIdKz & " " & BELEG.UstIdNr).Trim
|
|
' rpt.lblKdNr.Text = IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
|
|
rpt.Label24.Text = "Auszahlungsbetrag"
|
|
|
|
rpt.lblFahrer.Text = BELEG.Fahrer
|
|
rpt.lblFahrer2.Text = BELEG.Fahrer
|
|
rpt.lblLKWKz.Text = BELEG.LKW_Kennzeichen
|
|
rpt.lblPassnummer.Text = BELEG.Passnummer
|
|
' If BELEG.LKW_Kennzeichen = "" Then rpt.lblKennzeichenUeberschrift.Text = "" ' = False
|
|
' If BELEG.Fahrer = "" Then rpt.lblFahrerUeberschrift.Text = "" '= False
|
|
rpt.lblTextSteuern.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull(Beschreibung,'< keine Steuerberechnung >') FROM [tblSteuersätze] WHERE Nr='" & BELEG.Steuerschlüssel & "'", "FMZOLL")
|
|
Dim steuersatz = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & BELEG.Steuerschlüssel & "' ", "FMZOLL")
|
|
|
|
rpt.lblSachbearbeiter.Text = PERSONAL.Name
|
|
rpt.lblSachbearbeiter2.Text = PERSONAL.Name
|
|
rpt.lblKbNr.Text = "( " & PERSONAL.KassenbuchNr & " )"
|
|
rpt.Label25.Visible = (BELEG.DruckDatumUhrzeit IsNot Nothing) 'KOPIE
|
|
|
|
rpt.lblBetragSum.Text = ""
|
|
rpt.lblGesamtbetrag.Text = ""
|
|
rpt.lblBetragSteuern.Text = ""
|
|
rpt.lblPosNr.Text = IIf(BELEG.FilialenNr > 0, BELEG.FilialenNr & " / ", "") & BELEG.AbfertigungsNr
|
|
|
|
If BELEG.storniert Then
|
|
rpt.Label25.Text = "**** STORNO ****"
|
|
rpt.Label25.Visible = True
|
|
rpt.lblStorno.Visible = True
|
|
rpt.lblStorno.Text = "STORNORECHNUNG" & vbNewLine & BELEG.Stornogrund
|
|
|
|
End If
|
|
|
|
If Art = "LG" Then
|
|
ElseIf Art = "A" Then
|
|
|
|
End If
|
|
|
|
If KASSE IsNot Nothing Then
|
|
Select Case KASSE.rksv_bez
|
|
Case "VERAG-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
'rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2 'Standart
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition AG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 100" & vbNewLine & "UID: ATU53187000 "
|
|
Case "VERAG-CUSTOMSSERVICE-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU68374109 "
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma VERAG Customs Service GmbH erhalten zu haben."
|
|
Case "ATILLA-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.lblFirma_Name.Text = "ATILLA Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU63158647 "
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma ATILLA Spedition GmbH erhalten zu haben."
|
|
Case "VERAG-GMBH-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Spedition_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "D 94152 Neuhaus am Inn | Hartham 6" & vbNewLine & "UID: DE813570890 "
|
|
Case "KASSE-VERWALTUNG"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-VERWALTUNG"
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "TEST-KASSE"
|
|
'Default Werte:
|
|
rpt.lblFirma_Name.Text = "TEST-KASSE"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma IMEX Customs Service GmbH erhalten zu haben."
|
|
Case "ATILLA"
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma ATILLA Spedition GmbH erhalten zu haben."
|
|
End Select
|
|
|
|
Case "IMEX-KASSE-SUB"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma IMEX Customs Service GmbH erhalten zu haben."
|
|
Case "FRONT-OFFICE-SUB-KASSE"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.FrontOfficeSUB
|
|
rpt.lblFirma_Name.Text = "Front-Office Suben eG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU74813856 "
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma Front-Office Suben eG erhalten zu haben."
|
|
End Select
|
|
|
|
|
|
If KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv Then
|
|
|
|
If BELEG.rksv_qr Is Nothing OrElse BELEG.rksv_qr = "" Then
|
|
If KASSE.rksv_KassaGuid <> "KASSE_01" Then
|
|
MsgBox("Fehler: QR-Code wurde nicht richtig erstellt!")
|
|
End If
|
|
Else
|
|
Dim bmpBytes As Byte() = Convert.FromBase64String(BELEG.rksv_qr)
|
|
Dim MS As New System.IO.MemoryStream(bmpBytes)
|
|
Dim QR_Image = Image.FromStream(MS)
|
|
rpt.QR.Image = QR_Image
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
' rpt.DataSource = cProgramFunctions.dgridViewTods(dgvBelegPos)
|
|
|
|
Dim dt As New DataTable
|
|
dt.Columns.Add("clmnAnzahl", GetType(String))
|
|
dt.Columns.Add("clmnBeschreibung", GetType(String))
|
|
dt.Columns.Add("clmnBetrag", GetType(String))
|
|
dt.Columns.Add("clmnPreis", GetType(String))
|
|
|
|
For Each p In BELEG.POS
|
|
dt.Rows.Add(p.Anzahl, p.Leistungsbeschreibung, p.Betrag, p.Preis)
|
|
Next
|
|
|
|
rpt.DataSource = dt 'cProgramFunctions.dgridViewTods(dgvBelegPos)
|
|
Dim sum As Double = 0
|
|
'Dim cnt As Integer = 0
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
rpt.lblLeistungsNr.Text = rpt.Fields.Item("clmnAnzahl").Value()
|
|
rpt.lblLeistun.Text = rpt.Fields.Item("clmnBeschreibung").Value()
|
|
rpt.lblBetrag.Text = CDbl(rpt.Fields.Item("clmnBetrag").Value()).ToString("C")
|
|
rpt.lblEinzelpreis.Text = CDbl(rpt.Fields.Item("clmnPreis").Value()).ToString("C")
|
|
sum += rpt.Fields.Item("clmnBetrag").Value()
|
|
End Sub
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
rpt.lblBetragSum.Text = CDbl(sum).ToString("C")
|
|
Dim s As Double = IIf(IsNumeric(steuersatz), steuersatz, 0)
|
|
rpt.lblBetragSteuern.Text = CDbl(sum * s).ToString("C")
|
|
rpt.lblGesamtbetrag.Text = CDbl(sum + (sum * s)).ToString("C")
|
|
|
|
End Sub
|
|
|
|
rpt.Run(False)
|
|
|
|
If printername <> "" Then
|
|
rpt.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
rpt.Dispose()
|
|
End If
|
|
End If
|
|
|
|
If Not rpt.Document.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
rpt.Dispose()
|
|
|
|
If False Then
|
|
|
|
AddHandler print.LoadCompleted, Sub()
|
|
' MsgBox("b" & printername)
|
|
' MsgBox(cboPrinter.SelectedItem.ToString)
|
|
' If cboPrinter.SelectedItem.ToString <> "" Then print.Document.Printer.PrinterName = cboPrinter.SelectedItem.ToString
|
|
If printername <> "" Then
|
|
print.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
print.Dispose()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
If printername = "" Then print.Dispose() : Exit Sub
|
|
print.Document.Printer.PrinterName = printername
|
|
If Not print.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
print.Dispose()
|
|
' print.Close()
|
|
End Sub
|
|
|
|
End If
|
|
Return True
|
|
|
|
' Me.Cursor = Cursors.Default
|
|
End Function
|
|
|
|
|
|
Public Shared Function printNULLBeleg(KASSE As cRKSV_Kasse, PERSONAL As cPersonal, AUTODRUCK As Boolean, Firma As String) As Boolean
|
|
Try
|
|
|
|
If PERSONAL Is Nothing Then
|
|
Dim FMZOLL_SQL As New FMZOLL_SQL
|
|
PERSONAL = FMZOLL_SQL.getPersonalById(274)
|
|
End If
|
|
|
|
Dim ib = ""
|
|
' If Not AUTODRUCK Then ib = InputBox("Passwort:")
|
|
' If AUTODRUCK Or (ib = "verag#2" Or ib = "supervisor") Then
|
|
' Dim PERSONAL As SDL.cPersonal = Nothing
|
|
' Dim frmSecureLoginKassenbuch As New SDL.frmSecureLoginKassenbuch
|
|
' If frmSecureLoginKassenbuch.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
|
|
'PERSONAL = frmSecureLoginKassenbuch.PERSONAL
|
|
'
|
|
|
|
Dim TESTBUCHUNG = False
|
|
Dim oldBelegZaehler = KASSE.rksv_BelegIdZaehler
|
|
Dim summe As Double = 0
|
|
Dim RKSV_Beleg_Id = KASSE.INCREASE_BELEG_UMSATZ(If(TESTBUCHUNG, 0, summe))
|
|
If RKSV_Beleg_Id < 0 Then
|
|
'Exit Function
|
|
Return False
|
|
End If
|
|
|
|
Dim BELEG As New EABeleg(PERSONAL.Mandant, PERSONAL.Niederlassung, PERSONAL.ID)
|
|
' Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ(BELEG.BelegDat))
|
|
|
|
BELEG.Ordnungsbegriff = "*** NULL-BELEG ***"
|
|
BELEG.Beleg_TYP = "0"
|
|
BELEG.Belegart = "0"
|
|
BELEG.Name1 = "*** NULL-BELEG ***"
|
|
BELEG.Steuerschlüssel = 3510
|
|
BELEG.BelegNr = cRKSV.getNewBelegNr(BELEG, Firma) 'GJ.INCREASE_BELEG() 'Vergabe der Belegnummer '
|
|
' Beleg noch nicht gespeichert.... BELEG.DEL_POS_List()' Positionen löschen, da BelegNr Neu vergeben
|
|
For Each p In BELEG.POS
|
|
p.BelegNr = BELEG.BelegNr
|
|
Next
|
|
BELEG.gebucht = True
|
|
BELEG.SAVE()
|
|
|
|
|
|
' QR_Image = Nothing
|
|
Dim QR_CodeString As String = ""
|
|
Dim LastJWS As String = ""
|
|
|
|
If KASSE.rksv_aktiv Then ' WENN für die Kasse die RKSV gilt
|
|
Dim answer = ""
|
|
|
|
If Not cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, 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)
|
|
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
|
End If
|
|
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
|
|
' Me.Cursor = Cursors.Default
|
|
'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
|
' MsgBox("Programmfehler bei der digitalen Signatur.")
|
|
|
|
Return False
|
|
End If
|
|
KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
|
End If
|
|
|
|
If KASSE.rksvDE_aktiv Then ' WENN für die Kasse die DEUTSCHLAND gilt
|
|
Dim answer = ""
|
|
|
|
'*Nullbelg-POS*
|
|
Dim POS As New EABelegPositionen
|
|
POS.Abfertigungsart = 10 '"Sonstiges"
|
|
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
|
|
' POS.AbfertigungsNr = 000
|
|
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)
|
|
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
|
End If
|
|
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
|
|
' Me.Cursor = Cursors.Default
|
|
'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
|
' MsgBox("Programmfehler bei der digitalen Signatur.")
|
|
|
|
Return False
|
|
End If
|
|
KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
|
|
|
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
If KASSE.rksv_KassaGuid = "KASSE_01" Then
|
|
BELEG.rksv_jws = Nothing
|
|
BELEG.rksv_qr = Nothing
|
|
End If
|
|
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
|
|
End If
|
|
|
|
'RKSV-Daten beim Beleg ergänzen:
|
|
BELEG.rksv_jws = LastJWS
|
|
BELEG.rksv_qr = QR_CodeString
|
|
BELEG.rksv_BelegId = RKSV_Beleg_Id
|
|
BELEG.rksv_id = KASSE.rksv_id
|
|
BELEG.rksv_umsatz = summe
|
|
BELEG.rksv_aktiv = (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv)
|
|
BELEG.SAVE()
|
|
|
|
|
|
'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken
|
|
|
|
|
|
If AUTODRUCK Then
|
|
Dim pName = ""
|
|
For Each sPrinter As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
|
|
If sPrinter = "AUTODRUCK_MAIL" Then pName = sPrinter : Exit For
|
|
Next
|
|
If pName = "" Then
|
|
Dim oPS As New System.Drawing.Printing.PrinterSettings
|
|
pName = oPS.PrinterName
|
|
End If
|
|
cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, pName, False) 'Beleg drucken
|
|
Else
|
|
cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, "", False) 'Beleg drucken
|
|
End If
|
|
|
|
Return True
|
|
' End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
|
|
Public Shared Function getCardSerialInReader(kasse_id As Integer, reader As String)
|
|
Try
|
|
Dim KASSE As New cRKSV_Kasse(kasse_id)
|
|
Dim client As RKSVWcfClient = New RKSVWcfClient()
|
|
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(KASSE))
|
|
client.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
credentials.Database = "RKSVWcfDB"
|
|
credentials.Server = "AVISO\SQLEXPRESS"
|
|
|
|
credentials.Username = "Admin"
|
|
credentials.Password = "verag#2"
|
|
' credentials.CashboxID = kasse '"VERAG-SUB-KASSE-ZOLL"
|
|
' credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
|
|
|
|
Return client.GetCardInReader(reader)
|
|
Catch ex As Exception
|
|
MsgBox("ERROR " & ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
Public Shared Function printFremdBeleg(BELEG As EABeleg, KASSE As cRKSV_Kasse, PERSONAL As cPersonal, KBEntry As cKassenbuch, KBEntryGB As cKassenbuch, printername As String) As Boolean
|
|
Dim print As New GrapeCity.ActiveReports.Viewer.Win.Viewer
|
|
print.Text = "Beleg"
|
|
Dim rpt As New rptEABeleg
|
|
'rpt.lblRgNr.Text = BELEG.rksv_BelegId '"12345 / TR"
|
|
|
|
' Dim QR As String = ""
|
|
|
|
If (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv) And BELEG.rksv_BelegId > 0 Then
|
|
If BELEG.rksv_qr Is Nothing OrElse BELEG.rksv_qr = "" Then
|
|
If KASSE.rksv_KassaGuid <> "KASSE_01" Then
|
|
MsgBox("Fehler: QR-Code wurde nicht richtig erstellt!")
|
|
End If
|
|
Else
|
|
Dim bmpBytes As Byte() = Convert.FromBase64String(BELEG.rksv_qr)
|
|
Dim MS As New System.IO.MemoryStream(bmpBytes)
|
|
Dim QR_Image = Image.FromStream(MS)
|
|
rpt.QR.Image = QR_Image
|
|
End If
|
|
|
|
End If
|
|
' Dim bmpBytes As Byte() = Convert.FromBase64String(QR)
|
|
' Dim MS As New System.IO.MemoryStream(bmpBytes)
|
|
' Dim QR_Image = Image.FromStream(MS)
|
|
' rpt.QR.Image = QR_Image
|
|
|
|
rpt.Label25.Visible = (BELEG.DruckDatumUhrzeit IsNot Nothing) 'KOPIE
|
|
rpt.lblBuchungsdatum.Text = CDate(BELEG.BelegDat).ToShortDateString
|
|
rpt.lblUhrzeit.Text = "" 'Now.ToShortTimeString
|
|
rpt.lblBuchungstext.Text = KBEntry.Buchungstext 'cboKonto.Text
|
|
rpt.lblBelegdatum.Text = CDate(KBEntry.BelegDat).ToShortDateString
|
|
rpt.lblReferenz.Text = KBEntry.Referenz 'txtReferenz.Text
|
|
rpt.lblKonto.Text = KBEntryGB.Konto 'cboKonto._value
|
|
rpt.lblBetrag.Text = CDbl(BELEG.rksv_umsatz).ToString("C2")
|
|
|
|
rpt.lblSachbearbeiter.Text = PERSONAL.Name
|
|
rpt.lblKontoSB.Text = PERSONAL.KassenbuchNr
|
|
rpt.lblRgNr.Text = BELEG.rksv_BelegId
|
|
If BELEG.Belegart = 1 Then
|
|
'Einnahme
|
|
rpt.lblTitel.Text = "KASSE - EINGANG"
|
|
Else
|
|
rpt.lblTitel.Text = "KASSE - AUSGANG"
|
|
End If
|
|
|
|
If BELEG.storniert Then
|
|
rpt.Label25.Text = "** STORNO **"
|
|
rpt.Label25.Visible = True
|
|
rpt.lblStorno.Visible = True
|
|
rpt.lblStorno.Text = "STORNO" & vbNewLine & BELEG.Stornogrund
|
|
|
|
End If
|
|
If KASSE IsNot Nothing Then
|
|
Select Case KASSE.rksv_bez
|
|
Case "VERAG-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
'rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2 'Standart
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition AG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 100" & vbNewLine & "UID: ATU53187000 "
|
|
Case "VERAG-CUSTOMSSERVICE-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU68374109 "
|
|
Case "ATILLA-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.lblFirma_Name.Text = "ATILLA Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU63158647 "
|
|
Case "VERAG-GMBH-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Spedition_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "D 94152 Neuhaus am Inn | Hartham 6" & vbNewLine & "UID: DE813570890 "
|
|
Case "KASSE-VERWALTUNG"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-VERWALTUNG"
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "TEST-KASSE"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
|
|
rpt.lblFirma_Name.Text = "TEST-KASSE"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-SUB"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "FRONT-OFFICE-SUB-KASSE"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.FrontOfficeSUB
|
|
rpt.lblFirma_Name.Text = "Front-Office Suben eG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU74813856 "
|
|
End Select
|
|
End If
|
|
|
|
rpt.Run(False)
|
|
|
|
If printername <> "" Then
|
|
rpt.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
rpt.Dispose()
|
|
End If
|
|
End If
|
|
|
|
If Not rpt.Document.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
rpt.Dispose()
|
|
|
|
If False Then
|
|
|
|
|
|
print.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.LoadDocument(rpt)
|
|
'print = FormWindowState.Minimized
|
|
'print.Visible = False
|
|
' print.Show()
|
|
|
|
|
|
AddHandler print.LoadCompleted, Sub()
|
|
If printername <> "" Then
|
|
print.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
print.Dispose()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
If printername = "" Then print.Dispose() : Exit Sub
|
|
print.Document.Printer.PrinterName = printername
|
|
|
|
If Not print.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
print.Dispose()
|
|
' print.Close()
|
|
End Sub
|
|
End If
|
|
|
|
Return True
|
|
|
|
' Me.Cursor = Cursors.Default
|
|
End Function
|
|
|
|
|
|
Public Shared Sub printAESKey(KASSE As cRKSV_Kasse, printername As String)
|
|
Dim print As New GrapeCity.ActiveReports.Viewer.Win.Viewer
|
|
print.Text = "AES-Key"
|
|
Dim rpt As New rptAESKey
|
|
rpt.lblKASSE.Text = KASSE.rksv_bez
|
|
rpt.lblDatum.Text = Now.ToString("dd.MM.yyyy") ' HH:mm")
|
|
rpt.txtAES.Text = KASSE.rksv_AesKey ' HH:mm")
|
|
|
|
Select Case KASSE.rksv_bez
|
|
Case "VERAG-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
'rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2 'Standart
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition AG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 100" & vbNewLine & "UID: ATU53187000 "
|
|
Case "VERAG-CUSTOMSSERVICE-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU68374109 "
|
|
Case "ATILLA-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.lblFirma_Name.Text = "ATILLA Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU63158647 "
|
|
Case "VERAG-GMBH-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Spedition_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "D 94152 Neuhaus am Inn | Hartham 6" & vbNewLine & "UID: DE813570890 "
|
|
Case "KASSE-VERWALTUNG"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG / BUCHHALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-VERWALTUNG"
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "TEST-KASSE"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
|
|
rpt.lblFirma_Name.Text = "TEST-KASSE"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-SUB"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "FRONT-OFFICE-SUB-KASSE"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.FrontOfficeSUB
|
|
rpt.lblFirma_Name.Text = "Front-Office Suben eG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU74813856 "
|
|
End Select
|
|
|
|
print.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.LoadDocument(rpt)
|
|
|
|
|
|
AddHandler print.LoadCompleted, Sub()
|
|
' MsgBox("b" & printername)
|
|
' MsgBox(cboPrinter.SelectedItem.ToString)
|
|
' If cboPrinter.SelectedItem.ToString <> "" Then print.Document.Printer.PrinterName = cboPrinter.SelectedItem.ToString
|
|
If printername <> "" Then
|
|
print.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
print.Dispose()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
If printername = "" Then print.Dispose() : Exit Sub
|
|
print.Document.Printer.PrinterName = printername
|
|
If Not print.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
print.Dispose()
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Shared Function GetGrenzstelle(avisoid) As String
|
|
Try
|
|
If avisoid IsNot Nothing AndAlso CInt(avisoid) > 0 Then
|
|
Dim AVISO = (New VERAG_PROG_ALLGEMEIN.cAvisoDAL).LesenAviso(avisoid, "")
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("RPT_SND_Grenzstelle") Then
|
|
If AVISO.Zollstelle IsNot Nothing AndAlso AVISO.Zollstelle <> "" Then
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
'Return "Grenze: " & SQL.getValueTxtBySql("SELECT basncd_dstnr +' - ' + [basncd_name] FROM basncd WHERE basncd_dstnr='" & AVISO.Zollstelle & "' ", "ATLAS")
|
|
Return "Grenze: " & SQL.getValueTxtBySql("SELECT Code +' - ' + [Description] FROM tbl_DY_ZollDE_C0141_Zollstellen WHERE Code='" & AVISO.Zollstelle & "' AND ((StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE())) ", "FMZOLL")
|
|
|
|
Else
|
|
Return "Grenze: " & AVISO.Grenzstelle
|
|
End If
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
Return ""
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
Public Shared Function insertToSpedBuch(PERSONAL As cPersonal, PERSONAL_LG As cPersonal, BELEG As EABeleg, Optional AvisoID As Object = Nothing, Optional SendungsID As Object = Nothing, Optional barBetrag As Double = 0.0, Optional barBelegId As Integer = 0) As Boolean
|
|
|
|
|
|
'Zuerst schaun, ob Einträge in der Tabelle tblEABelegposition vorhanden
|
|
Dim dt As DataTable = SQL.loadDgvBySql("SELECT isnull(Abfertigungsart,10) as Abfertigungsart, Sum(isnull([Anzahl],isnull([TW1],0))*Anzahlmultiplikator) AS Abfertigungsanzahl, Sum(Betrag) AS Barzahlungsbetrag" &
|
|
" FROM tblEABelegposition" &
|
|
" WHERE Mandant = '" & BELEG.Mandant & "'" &
|
|
" And Niederlassung = '" & BELEG.Niederlassung & "'" &
|
|
" And Benutzer = " & BELEG.Benutzer & "" &
|
|
" And BelegDat = '" & BELEG.BelegDat.ToShortDateString & "' " &
|
|
" And BelegNr = " & BELEG.BelegNr & "" &
|
|
" GROUP BY Abfertigungsart ", "FMZOLL")
|
|
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
|
|
MsgBox("Fehler beim Eintrag ins Speditionsbuch!")
|
|
Return False
|
|
End If
|
|
|
|
'Dann alte Einträge aus Spedbuch löschen
|
|
SQL.doSQL("DELETE FROM Speditionsbuch WHERE FilialenNr=" & BELEG.FilialenNr & " AND AbfertigungsNr=" & BELEG.AbfertigungsNr & " ", "FMZOLL")
|
|
|
|
Dim UnterNr As Integer = 0
|
|
For Each r In dt.Rows
|
|
Dim SPED As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
|
|
SPED.FilialenNr = BELEG.FilialenNr
|
|
SPED.AbfertigungsNr = BELEG.AbfertigungsNr
|
|
SPED.UnterNr = UnterNr
|
|
SPED.Abfertigungsdatum = BELEG.BelegDat.ToShortDateString
|
|
|
|
If PERSONAL.BLC = "R" Then
|
|
SPED.ErfassungsNr = BELEG.Mandant & "/" & BELEG.Niederlassung & "/" & PERSONAL.Name & "/" & BELEG.BelegDat.ToShortDateString & "/" & BELEG.rksv_BelegId 'Benutzer.Column(3)
|
|
End If
|
|
SPED.Bar = True
|
|
SPED.AvisUhrzeit = Now.ToShortTimeString
|
|
SPED.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
|
|
If PERSONAL_LG IsNot Nothing Then
|
|
SPED.Personalnummer = PERSONAL_LG.ID
|
|
Else
|
|
SPED.Personalnummer = PERSONAL.ID
|
|
End If
|
|
SPED.Vermerk = BELEG.Fahrer
|
|
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX" : SPED.Bemerkungen = GetGrenzstelle(AvisoID)
|
|
End Select
|
|
|
|
SPED.LKW_Kennzeichen = BELEG.LKW_Kennzeichen
|
|
SPED.Abfertigungsart = r("Abfertigungsart")
|
|
|
|
SPED.KdAuftragsNr = BELEG.Auftraggeber_KdAuftragsnummer
|
|
|
|
' SPED.Abfertigungsart = Nz(r("Abfertigungsart"), 10) ' wenn Abfertigungsart Null dann 10 (Sonstiges)
|
|
SPED.Abfertigungsanzahl = r("Abfertigungsanzahl")
|
|
' MsgBox(SQL.getValueTxtBySql("SELECT isnull(EpSbSgutKompl,0) FROM [Abfertigungsarten] WHERE [Abfertigungsart]=" & SPED.Abfertigungsart, "FMZOLL"))
|
|
Dim varEpSbSgutKompl As Boolean = SQL.getValueTxtBySql("SELECT isnull(EpSbSgutKompl,0) FROM [Abfertigungsarten] WHERE [Abfertigungsart]=" & SPED.Abfertigungsart, "FMZOLL")
|
|
'DLookup("[EpSbSgutKompl]", "Abfertigungsarten", "[Abfertigungsart] = " & !Abfertigungsart)
|
|
|
|
If CBool(varEpSbSgutKompl) Then
|
|
If BELEG.SgutKompl Is Nothing OrElse BELEG.SgutKompl = "" Then
|
|
If (MsgBox("Handelt es sich um Sammelgut?", vbYesNo, "Eingabeprüfung Sgut/Kompl")) = vbYes Then
|
|
SPED.SgutKompl = "S"
|
|
Else
|
|
SPED.SgutKompl = "K"
|
|
End If
|
|
Else
|
|
SPED.SgutKompl = BELEG.SgutKompl
|
|
End If
|
|
Else
|
|
SPED.SgutKompl = Nothing
|
|
End If
|
|
|
|
SPED.Zollsystem = "A"
|
|
SPED.VermittlerKundenNr = If(BELEG.KundenNr > 0, BELEG.KundenNr, Nothing)
|
|
SPED.Vermittler = BELEG.Ordnungsbegriff
|
|
SPED.FrachtführerKundenNr = If(BELEG.FrachtführerKundenNr > 0, BELEG.FrachtführerKundenNr, Nothing)
|
|
SPED.Frachtführer = BELEG.Frachtführer
|
|
Dim AD = New VERAG_PROG_ALLGEMEIN.cAvisoDAL
|
|
If AvisoID IsNot Nothing Then
|
|
Dim aviso_tmp As VERAG_PROG_ALLGEMEIN.cAviso = AD.LesenAviso(AvisoID, "")
|
|
If aviso_tmp.Grenzstelle IsNot Nothing AndAlso aviso_tmp.Grenzstelle <> "" Then SPED.Grenzstelle = aviso_tmp.Grenzstelle
|
|
End If
|
|
|
|
SPED.AvisoID = AvisoID
|
|
If SendungsID IsNot Nothing Then SPED.SendungID = SendungsID
|
|
Dim anz = SPED.Abfertigungsanzahl
|
|
If SPED.Abfertigungsart Then
|
|
SPED.AnzahlZA = IIf(SPED.Abfertigungsart = 1, anz, "0")
|
|
SPED.AnzahlZAFremd = IIf(SPED.Abfertigungsart = 2, anz, "0")
|
|
SPED.AnzahlZnV = IIf(SPED.Abfertigungsart = 3, anz, "0")
|
|
SPED.AnzahlZnVFremd = IIf(SPED.Abfertigungsart = 4, anz, "0")
|
|
SPED.AnzahlT1 = IIf(SPED.Abfertigungsart = 5, anz, "0")
|
|
SPED.AnzahlT2 = IIf(SPED.Abfertigungsart = 6, anz, "0")
|
|
SPED.AnzahlAE = IIf(SPED.Abfertigungsart = 7, anz, "0")
|
|
SPED.AnzahlCarnetTIR = IIf(SPED.Abfertigungsart = 8, anz, "0")
|
|
SPED.AnzahlBarvorlagen = IIf(SPED.Abfertigungsart = 9, anz, "0")
|
|
SPED.AnzahlSonstiges = IIf(SPED.Abfertigungsart = 10, anz, "0")
|
|
SPED.AnzahlGrenzgebühren = IIf(SPED.Abfertigungsart = 11, anz, "0")
|
|
End If
|
|
|
|
Select Case BELEG.Belegart
|
|
Case 1 ' Einnahme
|
|
If PERSONAL.BLC = "R" Then
|
|
SPED.Barzahlungsbetrag = r("Barzahlungsbetrag")
|
|
Else
|
|
SPED.Barzahlungsbetrag = 0.0
|
|
End If
|
|
Case 2 ' Ausgabe
|
|
SPED.Barzahlungsbetrag = barBetrag
|
|
If PERSONAL.BLC = "R" Then
|
|
SPED.ErfassungsNr = SPED.ErfassungsNr & "/" & FormatCurrency(r("Barzahlungsbetrag"))
|
|
End If
|
|
End Select
|
|
' .Update()
|
|
' rst2.MoveNext()
|
|
' intUnterNr = intUnterNr + 1
|
|
|
|
SPED.SAVE()
|
|
|
|
UnterNr += 1
|
|
Next
|
|
Return True
|
|
End Function
|
|
|
|
Public Shared Function SpedBuchExists(BELEG As EABeleg) As Boolean
|
|
Return (CInt(SQL.getValueTxtBySql("SELECT count(*) FROM Speditionsbuch WHERE FilialenNr=" & BELEG.FilialenNr & " AND AbfertigungsNr=" & BELEG.AbfertigungsNr & " ", "FMZOLL")) > 0)
|
|
End Function
|
|
Public Shared Function SpedBuchExists(FilialenNr As Integer, AbfertigungsNr As Integer) As Boolean
|
|
Return (CInt(SQL.getValueTxtBySql("SELECT count(*) FROM Speditionsbuch WHERE FilialenNr=" & FilialenNr & " AND AbfertigungsNr=" & AbfertigungsNr & " ", "FMZOLL")) > 0)
|
|
End Function
|
|
|
|
Public Shared Function getNewBelegNr(BELEG As EABeleg, Firma As String) As Integer
|
|
Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma))
|
|
Return GJ.INCREASE_BELEG()
|
|
End Function
|
|
Public Shared Function getNewJournalNr(BELEG As EABeleg, Firma As String) As Integer
|
|
Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma))
|
|
Return GJ.INCREASE_JOURNAL()
|
|
End Function
|
|
|
|
Public Shared Function insertKB(PERSONAL As cPersonal, BELEG As EABeleg, RKSV_id As Integer, RKSV_Beleg_Id As Integer, RKSV_aktiv As Integer, ByRef JournalNr As Integer, Firma As String, POSFIBU As Integer, Optional Finanzwege As String = "Bar")
|
|
Try
|
|
If BELEG.POS.Count = 0 Then
|
|
MsgBox("Keine Positionen gefunden")
|
|
cRKSV.STORNO(BELEG, "Programmfehler: Keine Beleg-Pos. gefunden.", Firma)
|
|
Return False
|
|
End If
|
|
' Belegnr!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
' Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ(BELEG.BelegDat))
|
|
|
|
BELEG.BelegNr = getNewBelegNr(BELEG, Firma) ' GJ.INCREASE_BELEG() 'Vergabe der Belegnummer'
|
|
' Beleg noch nicht gespeichert.... BELEG.DEL_POS_List()' Positionen löschen, da BelegNr Neu vergeben
|
|
|
|
For Each p In BELEG.POS
|
|
p.BelegNr = BELEG.BelegNr
|
|
Next
|
|
BELEG.SAVE()
|
|
'BELEG.SAVE_POS_List()
|
|
|
|
If BELEG.POS.Count > 0 Then
|
|
' Dim tb As DataRow = tbKBEintrag.Rows(0)
|
|
If Not BELEG.gebucht Then 'CBool(tbKBEintrag.Rows(0)("gebucht")) Then 'wenn nicht bereits gebucht
|
|
Dim dtBetraege = SQL.loadDgvBySql(" SELECT isnull(Sum(tblEABelegposition.Betrag),0) AS Nettobetrag, " &
|
|
" isnull(Sum(CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END),0) AS SteuerpflichtigerBetrag, " &
|
|
" isnull(Sum(cast((CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END)* [Steuersatz] as decimal(8,2))),0) AS SteuerBetrag, " &
|
|
" isnull(Sum(tblEABelegposition.Betrag+cast((CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END)* [Steuersatz] as decimal(8,2))),0) AS Bruttobetrag " &
|
|
" FROM tblEABelegnummer INNER JOIN tblSteuersätze ON tblEABelegnummer.Steuerschlüssel = tblSteuersätze.Nr INNER JOIN tblEABelegposition INNER JOIN Leistungen ON tblEABelegposition.LeistungsNr = Leistungen.LeistungsNr ON tblEABelegnummer.Mandant = tblEABelegposition.Mandant AND tblEABelegnummer.Niederlassung = tblEABelegposition.Niederlassung AND tblEABelegnummer.Benutzer = tblEABelegposition.Benutzer AND tblEABelegnummer.BelegDat = tblEABelegposition.BelegDat AND tblEABelegnummer.BelegNr = tblEABelegposition.BelegNr " &
|
|
" WHERE tblEABelegposition.Mandant='" & BELEG.Mandant & "' AND tblEABelegposition.Niederlassung='" & BELEG.Niederlassung & "' AND tblEABelegposition.Benutzer='" & BELEG.Benutzer & "' AND tblEABelegposition.BelegDat='" & BELEG.BelegDat.ToShortDateString & "' AND tblEABelegposition.BelegNr='" & BELEG.BelegNr & "'", "FMZOLL")
|
|
|
|
If dtBetraege.Rows.Count = 0 Then
|
|
MsgBox("ERROR: Beleg - Eintrag nicht gefunden. Abbruch!")
|
|
cRKSV.STORNO(BELEG, "Programmfehler: Beleg - Eintrag nicht gefunden.", Firma)
|
|
|
|
Return False
|
|
End If
|
|
Dim Bruttobetrag As Double = dtBetraege.Rows(0)("Bruttobetrag")
|
|
Dim Nettobetrag As Double = dtBetraege.Rows(0)("Nettobetrag")
|
|
Dim SteuerBetrag As Double = dtBetraege.Rows(0)("SteuerBetrag")
|
|
|
|
'################
|
|
' EINTRAG: Kassenbuch
|
|
'################
|
|
Dim KBEntry As New cKassenbuch(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), JournalNr)
|
|
KBEntry.JournalNr = getNewJournalNr(BELEG, Firma) ' GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
' KBEntry.JournalNr = fktJournalNr(rst1!Mandant, rst1!Niederlassung, rst1!Benutzer, rst1!BelegDat)
|
|
KBEntry.Konto = PERSONAL.KassenbuchNr
|
|
If BELEG.FilialenNr = -1 Or BELEG.AbfertigungsNr = -1 Then
|
|
If If(BELEG.LKW_Id, -1) > 0 Then
|
|
KBEntry.Buchungstext = Trim("LKW-Id: " & BELEG.LKW_Id)
|
|
Else
|
|
KBEntry.Buchungstext = "-"
|
|
End If
|
|
Else
|
|
KBEntry.Buchungstext = Trim("Pos. " & BELEG.FilialenNr & "/" & Format(BELEG.AbfertigungsNr, "00000000"))
|
|
End If
|
|
|
|
KBEntry.Buchungsdatum = Now.ToShortDateString
|
|
KBEntry.BelegDat = BELEG.BelegDat.ToShortDateString
|
|
KBEntry.BelegNr = BELEG.BelegNr
|
|
KBEntry.Belegart = BELEG.Belegart
|
|
If BELEG.Belegart = 1 Then
|
|
KBEntry.Soll = Bruttobetrag
|
|
ElseIf BELEG.Belegart = 2 Then
|
|
KBEntry.Haben = Bruttobetrag
|
|
End If
|
|
KBEntry.rksv_id = RKSV_id
|
|
KBEntry.rksv_aktiv = RKSV_aktiv
|
|
KBEntry.rksv_BelegId = RKSV_Beleg_Id
|
|
|
|
KBEntry.Belegverbuchung = True
|
|
KBEntry.gebucht = True
|
|
KBEntry.Finanzwege = Finanzwege
|
|
|
|
If Not KBEntry.INSERT() Then
|
|
Return False
|
|
End If
|
|
|
|
'################
|
|
' EINTRAG: Gegenbuchung
|
|
'################
|
|
|
|
Dim curSteuerbetrag As Double = 0
|
|
For Each p In BELEG.POS
|
|
Dim dtBetraegeGB = SQL.loadDgvBySql(" SELECT " & getGl_account(KBEntry.rksv_id) & " AS Gegenkonto, isnull(tblEABelegposition.Betrag,0) AS Nettobetrag, " &
|
|
" isnull((cast((CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END)* [Steuersatz] as decimal(8,2))),0) AS Steuerbetrag " &
|
|
" FROM tblSteuersätze INNER JOIN tblEABelegnummer ON tblSteuersätze.Nr = tblEABelegnummer.Steuerschlüssel INNER JOIN tblEABelegposition INNER JOIN Leistungen ON tblEABelegposition.LeistungsNr = Leistungen.LeistungsNr ON tblEABelegnummer.Mandant = tblEABelegposition.Mandant AND tblEABelegnummer.Niederlassung = tblEABelegposition.Niederlassung AND tblEABelegnummer.Benutzer = tblEABelegposition.Benutzer AND tblEABelegnummer.BelegDat = tblEABelegposition.BelegDat AND tblEABelegnummer.BelegNr = tblEABelegposition.BelegNr " &
|
|
" WHERE tblEABelegposition.Mandant='" & BELEG.Mandant & "' AND tblEABelegposition.Niederlassung='" & BELEG.Niederlassung & "' AND tblEABelegposition.Benutzer='" & BELEG.Benutzer & "' AND tblEABelegposition.BelegDat='" & BELEG.BelegDat.ToShortDateString & "' AND tblEABelegposition.BelegNr='" & BELEG.BelegNr & "' AND tblEABelegposition.LeistungsNr=" & p.LeistungsNr & " AND tblEABelegposition.PreislistenPos='" & p.PreislistenPos & "' " &
|
|
" AND tblEABelegposition.FilialenNr='" & p.FilialenNr & "' AND tblEABelegposition.AbfertigungsNr='" & p.AbfertigungsNr & "'", "FMZOLL")
|
|
If dtBetraegeGB.Rows.Count = 0 Then
|
|
MsgBox("ERROR: Beleg-Position - Eintrag nicht gefunden. Abbruch!")
|
|
cRKSV.STORNO(BELEG, "Programmfehler: Beleg - Eintrag nicht gefunden.", Firma)
|
|
|
|
Return False
|
|
End If
|
|
If Not IsNumeric(dtBetraegeGB.Rows(0)("Gegenkonto")) OrElse dtBetraegeGB.Rows(0)("Gegenkonto") <= 0 Then
|
|
MsgBox("ERROR: Gegenkonto nicht vorhanden. Abbruch!")
|
|
cRKSV.STORNO(BELEG, "Programmfehler: Gegenkonto nicht vorhanden.", Firma)
|
|
Return False
|
|
End If
|
|
|
|
Dim KBEntryGB As New cKassenbuch(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), JournalNr)
|
|
KBEntryGB.JournalNr = getNewJournalNr(BELEG, Firma) 'GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
KBEntryGB.Konto = dtBetraegeGB.Rows(0)("Gegenkonto")
|
|
KBEntryGB.Buchungstext = p.LeistungsBez
|
|
KBEntryGB.Buchungsdatum = Now.ToShortDateString
|
|
KBEntryGB.BelegDat = p.BelegDat.ToShortDateString
|
|
KBEntryGB.Steuer = IIf(IsNumeric(BELEG.Steuerschlüssel) AndAlso BELEG.Steuerschlüssel > 0, BELEG.Steuerschlüssel, 0)
|
|
KBEntryGB.BelegNr = BELEG.BelegNr
|
|
KBEntryGB.Belegart = BELEG.Belegart
|
|
If BELEG.Belegart = 1 Then
|
|
KBEntryGB.Haben = dtBetraegeGB.Rows(0)("Nettobetrag")
|
|
ElseIf BELEG.Belegart = 2 Then
|
|
KBEntryGB.Soll = dtBetraegeGB.Rows(0)("Nettobetrag")
|
|
End If
|
|
|
|
KBEntryGB.Steuerbetrag = dtBetraegeGB.Rows(0)("SteuerBetrag")
|
|
curSteuerbetrag = curSteuerbetrag + dtBetraegeGB.Rows(0)("SteuerBetrag")
|
|
KBEntryGB.rksv_id = RKSV_id
|
|
KBEntryGB.rksv_aktiv = RKSV_aktiv
|
|
KBEntryGB.rksv_BelegId = RKSV_Beleg_Id
|
|
|
|
KBEntryGB.Belegverbuchung = True
|
|
KBEntryGB.gebucht = True
|
|
KBEntryGB.Finanzwege = Finanzwege
|
|
|
|
If Not KBEntryGB.INSERT() Then
|
|
Return False
|
|
End If
|
|
Next
|
|
|
|
'################
|
|
' EINTRAG: Steuerbuchung
|
|
'################
|
|
|
|
If IsNumeric(BELEG.Steuerschlüssel) AndAlso BELEG.Steuerschlüssel > 0 And SteuerBetrag - curSteuerbetrag <> 0 Then
|
|
Dim KBEntryST As New cKassenbuch(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), JournalNr)
|
|
|
|
KBEntryST.JournalNr = getNewJournalNr(BELEG, Firma) 'GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
KBEntryST.Konto = 8490
|
|
KBEntryST.Buchungstext = "Rundungsdifferenz in Steuer"
|
|
KBEntryST.Buchungsdatum = Now.ToShortDateString
|
|
KBEntryST.BelegDat = BELEG.BelegDat.ToShortDateString
|
|
KBEntryST.Steuer = IIf(IsNumeric(BELEG.Steuerschlüssel) AndAlso BELEG.Steuerschlüssel > 0, BELEG.Steuerschlüssel, 0)
|
|
KBEntryST.BelegNr = BELEG.BelegNr
|
|
KBEntryST.Belegart = BELEG.Belegart
|
|
If KBEntryST.Belegart = 1 Then
|
|
KBEntryST.Haben = SteuerBetrag - curSteuerbetrag
|
|
ElseIf KBEntryST.Belegart = 2 Then
|
|
KBEntryST.Soll = SteuerBetrag - curSteuerbetrag
|
|
End If
|
|
KBEntryST.rksv_id = RKSV_id
|
|
KBEntryST.rksv_aktiv = RKSV_aktiv
|
|
KBEntryST.rksv_BelegId = RKSV_Beleg_Id
|
|
|
|
KBEntryST.Belegverbuchung = True
|
|
KBEntryST.gebucht = True
|
|
|
|
If Not KBEntryST.INSERT() Then
|
|
Return False
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
'################
|
|
' EINTRAG: Umbuchung bei EC-Zahlung
|
|
'################
|
|
If Finanzwege = "EC" Then
|
|
|
|
For i = 0 To 1
|
|
|
|
Dim KBEntryEC As New cKassenbuch(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), JournalNr)
|
|
KBEntryEC.JournalNr = getNewJournalNr(BELEG, Firma)
|
|
If i = 0 Then
|
|
|
|
KBEntryEC.Konto = POSFIBU
|
|
Else
|
|
KBEntryEC.Konto = PERSONAL.KassenbuchNr
|
|
End If
|
|
|
|
KBEntryEC.Buchungstext = "Umb. BK/KASSA"
|
|
|
|
KBEntryEC.Buchungsdatum = Now.ToShortDateString
|
|
KBEntryEC.BelegDat = BELEG.BelegDat.ToShortDateString
|
|
KBEntryEC.Belegart = 3
|
|
KBEntryEC.BelegNr = BELEG.BelegNr & KBEntryEC.Belegart 'zur Generierung von eigenem Buchungssatz
|
|
If BELEG.Belegart = 1 Then
|
|
If i = 0 Then
|
|
KBEntryEC.Soll = Bruttobetrag
|
|
Else
|
|
KBEntryEC.Haben = Bruttobetrag
|
|
End If
|
|
|
|
ElseIf BELEG.Belegart = 2 Then
|
|
If i = 0 Then
|
|
KBEntryEC.Haben = Bruttobetrag
|
|
Else
|
|
KBEntryEC.Soll = Bruttobetrag
|
|
End If
|
|
|
|
End If
|
|
KBEntryEC.rksv_id = RKSV_id
|
|
KBEntryEC.rksv_aktiv = RKSV_aktiv
|
|
KBEntryEC.rksv_BelegId = RKSV_Beleg_Id
|
|
|
|
KBEntryEC.Belegverbuchung = True
|
|
KBEntryEC.gebucht = True
|
|
KBEntryEC.Finanzwege = Finanzwege
|
|
|
|
If Not KBEntryEC.INSERT() Then
|
|
Return False
|
|
End If
|
|
|
|
Next
|
|
End If
|
|
|
|
'################
|
|
' Buchung im EABeleg eintragen.
|
|
'################
|
|
BELEG.gebucht = True
|
|
BELEG.SAVE()
|
|
|
|
End If
|
|
End If
|
|
|
|
Return True
|
|
|
|
Catch ex As Exception
|
|
MsgBox("ERROR: " & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
cRKSV.STORNO(BELEG, "Programmfehler!", Firma)
|
|
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Public Shared Function getGl_account(rksv_id)
|
|
If rksv_id = 1 Then Return "Leistungen.Gl_account" ' VERAG-Kasse bei IMEX
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX" : Return "Leistungen.IMEX_Gl_account"
|
|
Case Else : Return "Leistungen.Gl_account"
|
|
End Select
|
|
End Function
|
|
End Class
|
|
|
|
|
|
|
|
Public Class cRKSV_DE__TEST
|
|
Shared SQL As New SQL
|
|
|
|
Shared Function getBelegSting_BAR(summeBRUTTO As Double, steuerSchluessel As Integer) As String
|
|
|
|
|
|
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.19, summeBRUTTO, 0.0)
|
|
Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
|
|
Dim BetragSatzNull = IIf(steuersatz = 0, summeBRUTTO, 0.0)
|
|
|
|
|
|
BetragSatzNormal += IIf(steuersatz = 0.16, summeBRUTTO, 0.0)
|
|
BetragSatzErm1 += IIf(steuersatz = 0.05, summeBRUTTO, 0.0)
|
|
BetragSatzNormal += IIf(steuersatz = 0.2, summeBRUTTO, 0.0) ' Eig Nur AT
|
|
'Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe
|
|
'Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
|
|
'Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
|
|
|
|
Dim sum = BetragSatzNormal
|
|
sum += BetragSatzErm1
|
|
sum += BetragSatzNull
|
|
MsgBox("Beleg^" & BetragSatzNormal.ToString("0.00") & "_" & BetragSatzErm1.ToString("0.00") & "_0.00_0.00_" & BetragSatzNull.ToString("0.00") & "^" & sum.ToString("0.00") & ":Bar")
|
|
Return "Beleg^" & BetragSatzNormal.ToString("0.00") & "_" & BetragSatzErm1.ToString("0.00") & "_0.00_0.00_" & BetragSatzNull.ToString("0.00") & "^" & sum.ToString("0.00") & ":Bar"
|
|
|
|
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")
|
|
|
|
' Try
|
|
|
|
|
|
|
|
' ' 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)
|
|
|
|
' 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
|
|
|
|
' 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 !!!
|
|
|
|
' '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
|
|
|
|
|
|
|
|
' ' BeginTransaction: für jede neue Rechnung wird eine Transaktion gestartet
|
|
|
|
' 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
|
|
|
|
|
|
|
|
' ' UpdateTransaction: processData bleibt leer
|
|
|
|
' result = m_ksv.UpdateTransaction(transactionNumber, "", "KassenBeleg-V1")
|
|
|
|
' 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
|
|
|
|
' 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
|
|
|
|
|
|
|
|
' ' QR-Code und weitere Werte, die auf der Rechnung angedruckt werden müssen
|
|
|
|
' ' QR-Code wird als base64 kodiertes bitmap geliefert
|
|
|
|
' Dim qrCode As String = String.Empty
|
|
|
|
' ' 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)
|
|
|
|
' 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)
|
|
|
|
' 'If result <> &H0 Then
|
|
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' 'End If
|
|
|
|
|
|
|
|
' '' Export der TSE-Daten im TAR-Format
|
|
|
|
' 'result = m_ksv.ExportAsTarFile("d:\export.tar")
|
|
|
|
' '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
|
|
|
|
' ''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
|
|
|
|
|
|
|
|
' 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
|
|
|
|
|
|
Public Class cRKSV_DE
|
|
Shared SQL As New SQL
|
|
|
|
|
|
|
|
'Shared Function getBelegSting_BAR(summeBRUTTO As Double, steuerSchluessel As Integer) As String
|
|
|
|
|
|
' 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.19, summeBRUTTO, 0.0)
|
|
' Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
|
|
' Dim BetragSatzNull = IIf(steuersatz = 0, summeBRUTTO, 0.0)
|
|
|
|
|
|
' BetragSatzNormal += IIf(steuersatz = 0.16, summeBRUTTO, 0.0)
|
|
' BetragSatzErm1 += IIf(steuersatz = 0.05, summeBRUTTO, 0.0)
|
|
' BetragSatzNormal += IIf(steuersatz = 0.2, summeBRUTTO, 0.0) ' Eig Nur AT
|
|
' 'Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe
|
|
' 'Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
|
|
' 'Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
|
|
|
|
' Dim sum = BetragSatzNormal
|
|
' sum += BetragSatzErm1
|
|
' sum += BetragSatzNull
|
|
' MsgBox("Beleg^" & BetragSatzNormal.ToString("0.00") & "_" & BetragSatzErm1.ToString("0.00") & "_0.00_0.00_" & BetragSatzNull.ToString("0.00") & "^" & sum.ToString("0.00") & ":Bar")
|
|
' Return "Beleg^" & BetragSatzNormal.ToString("0.00") & "_" & BetragSatzErm1.ToString("0.00") & "_0.00_0.00_" & BetragSatzNull.ToString("0.00") & "^" & sum.ToString("0.00") & ":Bar"
|
|
|
|
'End Function
|
|
Shared Function stornoRKSV_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
|
|
|
|
Return insertRKSV_DE(PERSONAL, BELEG, kasse, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TEST, answer, 1)
|
|
|
|
End Function
|
|
|
|
Shared Function getRKSVLink(ByVal kasse As cRKSV_Kasse) As String
|
|
Return kasse.rksv_ipAdresse
|
|
'Return getRKSVLink(kasse.rksv_bez)
|
|
End Function
|
|
|
|
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 DSFinVKServerClient = New DSFinVKServerClient() 'PROBLEM??
|
|
|
|
|
|
' Dim [error] = "" 'm_com.InitializeLibrary(tbLicense.Text, "D:\Database\DSFinVK\dsfinvkdb.db3", "Administrator", "test", cashbox)
|
|
Dim [error] = m_com.InitializeLibrary("SQLGUIDE01.verag.ost.dmn", "itg_RKSV_DE", "dsfinvk", "dsfinvk#1337", cashbox)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
|
|
Dim BON_ID As Integer = 0
|
|
[error] = m_com.GetNextBON_ID(cashbox, BON_ID)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
|
|
|
|
|
|
'Rechnung beginnen
|
|
|
|
Dim bonkopfBegin As VERAG_PROG_ALLGEMEIN.DSFinVKService.BonKopfBegin = New VERAG_PROG_ALLGEMEIN.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
|
|
|
|
[error] = m_com.BeginReceipt(cashbox, bonkopfBegin, transactionNumber)
|
|
|
|
Dim cntZeile = 1
|
|
Dim GES_BRUTTO As Double = 0
|
|
For Each POS In BELEG.POS
|
|
|
|
'Bonposition hinzufügen
|
|
Dim position As VERAG_PROG_ALLGEMEIN.DSFinVKService.BonPosition = New VERAG_PROG_ALLGEMEIN.DSFinVKService.BonPosition()
|
|
|
|
position.AGENTUR_ID = "" '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.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)
|
|
|
|
[error] = m_com.AddPositionToReceipt(cashbox, position, position_vat, transactionNumber)
|
|
cntZeile += 1
|
|
GES_BRUTTO += position_vat.POS_BRUTTO
|
|
|
|
Next
|
|
|
|
'Rechnung abschließen
|
|
|
|
Dim bonkopfFinish As VERAG_PROG_ALLGEMEIN.DSFinVKService.BonKopfFinish = New VERAG_PROG_ALLGEMEIN.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}
|
|
|
|
[error] = m_com.FinishReceipt(cashbox, bonkopfFinish, transactionNumber)
|
|
|
|
' 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);
|
|
|
|
'}
|
|
|
|
Dim transactionNumberRet As String
|
|
Dim serialNumber As String
|
|
Dim signature As String
|
|
Dim transactionStart As Date
|
|
Dim transactionFinish As Date
|
|
Dim sigCounter As String
|
|
m_com.GetLastReceiptValues(cashbox, transactionNumberRet, serialNumber, signature, transactionStart, transactionFinish, sigCounter)
|
|
|
|
|
|
Dim qrCode As String = String.Empty
|
|
Dim mimeType As String = String.Empty
|
|
m_com.GetLastReceiptQrCode(cashbox, qrCode, mimeType)
|
|
|
|
|
|
QR_CodeString = qrCode
|
|
LastJWS = signature
|
|
|
|
|
|
|
|
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(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
|
|
|
|
' MsgBox("0: ")
|
|
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??
|
|
m_com.Url = "http://ymgk028055.verag.ost.dmn:8733/DSFinVKService"
|
|
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
|
|
If [error].ToString() <> "CASHBOX_ALREADY_MANAGED" Then '--> CASHBOX_ALREADY_MANAGED --> der Fehler darf auftreten, die Cashbox wird Serverseitig initialisert, hier nur der Versuch, falls das nciht geschehen ist... lt. Jan Mika / AITG
|
|
MessageBox.Show([error].ToString(), "Error1", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
' MsgBox("2")
|
|
|
|
|
|
|
|
'BelegNr wird von RKSV übernommen
|
|
Dim BON_ID As Integer = 0
|
|
If False Then
|
|
|
|
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(), "Error2", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
Else
|
|
' MsgBox(RKSV_Beleg_Id)
|
|
BON_ID = RKSV_Beleg_Id
|
|
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 = bonkopfBegin.BON_ID
|
|
|
|
bonkopfBegin.BON_STORNO = storno 'If(cbBON_STORNO.Checked, "1", "0")
|
|
|
|
bonkopfBegin.BON_TYP = "Beleg" 'cmbBON_TYP.SelectedItem.ToString()
|
|
|
|
bonkopfBegin.KUNDE_ID = If(BELEG.KundenNr > 0, BELEG.KundenNr, "") 'tbKUNDE_ID.Text
|
|
|
|
bonkopfBegin.KUNDE_LAND = If(BELEG.LandKz, "") 'tbKUNDE_LAND.Text
|
|
|
|
bonkopfBegin.KUNDE_NAME = If(BELEG.Frachtführer, "") 'tbKUNDE_NAME.Text
|
|
|
|
bonkopfBegin.KUNDE_ORT = If(BELEG.Ort, "") 'tbKUNDE_ORT.Text
|
|
|
|
bonkopfBegin.KUNDE_PLZ = If(BELEG.PLZ, "") 'tbKUNDE_PLZ.Text
|
|
|
|
bonkopfBegin.KUNDE_STRASSE = If(BELEG.Straße, "") ' tbKUNDE_STRASSE.Text
|
|
|
|
bonkopfBegin.KUNDE_TYP = "" ' tbKUNDE_TYP.Text
|
|
|
|
bonkopfBegin.KUNDE_USTID = If(BELEG.UstIdKz, "") & If(BELEG.UstIdNr, "") ' 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)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error3", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
' 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
|
|
' MsgBox(POS.Anzahl)
|
|
' MsgBox(POS.Betrag)
|
|
|
|
position_vat.UST_SCHLUESSEL = steuersatzID 'm_com.GetTaxIds(cashbox,) 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["UST_SCHLUESSEL"].Value)
|
|
Dim steuerBetrag As Double = POS.Betrag * steuersatz
|
|
position_vat.POS_BRUTTO = Convert.ToDecimal(POS.Betrag + steuerBetrag) 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_BRUTTO"].Value)
|
|
position_vat.POS_NETTO = Convert.ToDecimal(POS.Betrag) 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_NETTO"].Value)
|
|
|
|
position_vat.POS_UST = Convert.ToDecimal(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: " & GES_BRUTTO)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error4", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
'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
|
|
|
|
Try
|
|
bonkopfFinish.UMS_BRUTTO = Convert.ToDecimal(GES_BRUTTO)
|
|
Catch ex As Exception
|
|
bonkopfFinish.UMS_BRUTTO = 0.00
|
|
End Try
|
|
|
|
'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 = {GES_BRUTTO} '{0.0} 'BETRAG"!!!!!!!!!!!!
|
|
|
|
' MsgBox("6,1: ")
|
|
|
|
Dim FinishReceiptResult As Boolean = True
|
|
Dim FinishReceiptResultSpecified As Boolean
|
|
m_com.FinishReceipt(cashbox, bonkopfFinish, transactionNumber, FinishReceiptResult, [error], FinishReceiptResultSpecified)
|
|
' MsgBox("6,2: ")
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error5", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
' 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")
|
|
If QR_CodeString.Length > 50 And LastJWS.Length > 50 Then
|
|
Return True
|
|
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
|
|
|
|
'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
|
|
' Dim xCom As New VERAG_PROG_ALLGEMEIN.RKSV_DE.DSFinVKServerClient
|
|
' Dim ret As Long
|
|
' Dim bonkopfBegin As New VERAG_PROG_ALLGEMEIN.RKSV_DE.BonKopfBegin
|
|
' Dim bonkopfFinish As New VERAG_PROG_ALLGEMEIN.RKSV_DE.BonKopfFinish
|
|
' Dim bonpos As New VERAG_PROG_ALLGEMEIN.RKSV_DE.BonPosition
|
|
' Dim bonpos_ust As New VERAG_PROG_ALLGEMEIN.RKSV_DE.BonPosition_Ust
|
|
|
|
' Dim transactionNumber As Long
|
|
' Dim bonId As Long
|
|
' Dim bonNr As Long
|
|
' Dim poszeile As Integer
|
|
|
|
' ' zwingend erforderliche Felder:
|
|
|
|
|
|
' Dim tbCashbox = kasse.rksv_KassaGuid ' VERAG_GMBH_KASSE_01
|
|
' bonkopfBegin.Z_KASSE_ID = tbCashbox
|
|
' bonkopfBegin.BON_ID = bonId
|
|
' bonkopfBegin.BON_NR = bonId
|
|
' bonkopfBegin.BON_TYP = "Beleg" 'tbBonTyp
|
|
' bonkopfBegin.BON_NAME = "" 'tbBonName
|
|
|
|
' bonkopfBegin.BON_STORNO = "0"
|
|
' bonkopfBegin.BEDIENER_ID = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID 'tbBedienerId
|
|
' bonkopfBegin.BEDIENER_NAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME ' tbBedienerName
|
|
|
|
|
|
|
|
' Dim tbBonStart = Format(Now(), "yyyy-mm-ddThh:MM:ss")
|
|
|
|
|
|
|
|
' poszeile = 1
|
|
|
|
|
|
|
|
' bonkopfBegin.BON_START = tbBonStart
|
|
|
|
' ' optionale Felder:
|
|
|
|
|
|
|
|
' ' bonkopfBegin.KUNDE_NAME = tbKundeName
|
|
|
|
' ' bonkopfBegin.KUNDE_ID = tbKundeId
|
|
|
|
' ' bonkopfBegin.KUNDE_TYP = tbKundeTyp
|
|
|
|
' ' bonkopfBegin.KUNDE_USTID = tbKundeUstId
|
|
|
|
' ' bonkopfBegin.KUNDE_STRASSE = tbKundeStrasse
|
|
|
|
' ' bonkopfBegin.KUNDE_PLZ = tbKundePlz
|
|
|
|
' ' bonkopfBegin.KUNDE_ORT = tbKundeOrt
|
|
|
|
' ' bonkopfBegin.KUNDE_LAND = tbKundeLand
|
|
|
|
|
|
|
|
' ret = xCom.BeginReceipt(tbCashbox, bonkopfBegin, transactionNumber)
|
|
|
|
' If ret <> 0 Then
|
|
|
|
' MsgBox("Es ist ein Fehler aufgetreten! ErrorCode = " + Str$(ret))
|
|
|
|
' Else
|
|
|
|
' tbTransNr = transactionNumber
|
|
|
|
' End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
' Dim qrCode As String = String.Empty
|
|
|
|
' ' 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)
|
|
|
|
' 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)
|
|
|
|
' 'If result <> &H0 Then
|
|
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' 'End If
|
|
|
|
|
|
|
|
' '' Export der TSE-Daten im TAR-Format
|
|
|
|
' 'result = m_ksv.ExportAsTarFile("d:\export.tar")
|
|
|
|
' '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
|
|
|
|
' ''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
|
|
|
|
|
|
|
|
' 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 |