Compare commits
7 Commits
9dfe655953
...
newMaster2
| Author | SHA1 | Date | |
|---|---|---|---|
| 09c666e239 | |||
| 6016fa4a5a | |||
| 7c0c1ea1a3 | |||
| 43257416fd | |||
| 9a0f22e07d | |||
| 4ffc3dce9f | |||
| 6fa1349b4e |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -261,5 +261,3 @@ __pycache__/
|
|||||||
*.pyc
|
*.pyc
|
||||||
/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente
|
/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente
|
||||||
/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj
|
/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj
|
||||||
/SDL/SDL.vbproj
|
|
||||||
/SDL/SDL.vbproj
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
Imports Chilkat
|
Imports Chilkat
|
||||||
|
Imports io.konik.zugferd.unqualified
|
||||||
Imports QRCoder
|
Imports QRCoder
|
||||||
Imports VERAG_PROG_ALLGEMEIN
|
Imports VERAG_PROG_ALLGEMEIN
|
||||||
|
|
||||||
@@ -19,6 +20,10 @@ Public Class FtReceiptCases
|
|||||||
Public Const YearlyClosing As Long = &H4445000000000006L
|
Public Const YearlyClosing As Long = &H4445000000000006L
|
||||||
Public Const DailyClosing As Long = &H4445000000000007L
|
Public Const DailyClosing As Long = &H4445000000000007L
|
||||||
|
|
||||||
|
' Kasseneinzahlung / Kassenauszahlung / Geldtransfer
|
||||||
|
Public Const CashDepositOrWithdrawal As Long = &H4445000000000011L
|
||||||
|
|
||||||
|
|
||||||
' Flags
|
' Flags
|
||||||
Public Const ImplicitTransaction As Long = &H100000000L
|
Public Const ImplicitTransaction As Long = &H100000000L
|
||||||
Public Const ReversalReceipt As Long = &H40000L
|
Public Const ReversalReceipt As Long = &H40000L
|
||||||
@@ -34,11 +39,29 @@ End Class
|
|||||||
|
|
||||||
Public Class FtChargeItemCase
|
Public Class FtChargeItemCase
|
||||||
|
|
||||||
'DE
|
' DE – Verkaufsbelege
|
||||||
Public Const RevenueNormal As Long = &H4445000000000001L ' 19 %
|
Public Const RevenueNormal As Long = &H4445000000000001L ' 19 % Regelsteuersatz
|
||||||
Public Const RevenueReduced As Long = &H4445000000000002L ' 7 %
|
|
||||||
Public Const RevenueNotTaxable As Long = &H4445000000000005L 'nicht steuerbar
|
Public Const RevenueReduced As Long = &H4445000000000002L ' 7 % ermäßigter Steuersatz
|
||||||
Public Const RevenueTaxFree As Long = &H4445000000000006L '0%
|
|
||||||
|
Public Const RevenueNotTaxable As Long = &H4445000000000005L ' Nicht steuerbar
|
||||||
|
|
||||||
|
Public Const RevenueTaxFree As Long = &H4445000000000006L ' Umsatzsteuerfrei, 0 %
|
||||||
|
|
||||||
|
' DE – Kassenbewegungen
|
||||||
|
Public Const Anfangsbestand As Long = &H4445000000000090L ' Anfangsbestand
|
||||||
|
|
||||||
|
Public Const Privatentnahme As Long = &H4445000000000091L ' Privatentnahme
|
||||||
|
|
||||||
|
Public Const Privateinlage As Long = &H4445000000000092L ' Privateinlage
|
||||||
|
|
||||||
|
Public Const Geldtransit As Long = &H4445000000000093L ' Geldtransit
|
||||||
|
|
||||||
|
Public Const Lohnzahlung As Long = &H4445000000000094L ' Lohnzahlung
|
||||||
|
|
||||||
|
Public Const Einzahlung As Long = &H4445000000000095L ' Einzahlung
|
||||||
|
|
||||||
|
Public Const Auszahlung As Long = &H4445000000000096L ' Auszahlung
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
@@ -53,10 +76,26 @@ End Class
|
|||||||
|
|
||||||
Public Class ReceiptCaseIntern
|
Public Class ReceiptCaseIntern
|
||||||
|
|
||||||
|
Public Const STORNO As String = "Storno"
|
||||||
Public Const VERKAUF As String = "Verkauf"
|
Public Const VERKAUF As String = "Verkauf"
|
||||||
Public Const EINGANG As String = "Eingang"
|
Public Const EINGANG As String = "Eingang"
|
||||||
Public Const AUSGANG As String = "Ausgang"
|
Public Const AUSGANG As String = "Ausgang"
|
||||||
Public Const WIEDERHOLUNG As String = "Retry"
|
Public Const WIEDERHOLUNG As String = "Retry"
|
||||||
|
Public Const NULLBELEG As String = "NULL-BELEG"
|
||||||
|
Public Const STARTBELEG As String = "START-BELEG"
|
||||||
|
Public Const OUTOFOPERATIONBELEG As String = "END-BELEG"
|
||||||
|
Public Const TEMP_OUTOFOPERATIONBELEG As String = "TEMP-AUSFALL"
|
||||||
|
Public Const DAILYCLOSING As String = "TAGESABSCHLUSS"
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
Public Class PayItemCasesIntern
|
||||||
|
|
||||||
|
Public Const Cash As String = "Cash"
|
||||||
|
Public Const DebitCard As String = "DebitCard"
|
||||||
|
Public Const Kasseneinzahlungen_Auszahlungen As String = "Kasseneinzahlungen_Auszahlungen"
|
||||||
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
@@ -81,6 +120,9 @@ Public Class FtPayItemCases
|
|||||||
' Gutschein
|
' Gutschein
|
||||||
Public Const Voucher As Long = &H4445000000000007L
|
Public Const Voucher As Long = &H4445000000000007L
|
||||||
|
|
||||||
|
'Cash transfer from/to cash book
|
||||||
|
Public Const Kasseineinzahlung_Auszahlung As Long = &H4445000000000016L
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class cFiskaltrustClient_chilkat
|
Public Class cFiskaltrustClient_chilkat
|
||||||
@@ -387,21 +429,23 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
|
|
||||||
json.UpdateString("cbReceiptMoment", DateTime.UtcNow.ToString("o"))
|
json.UpdateString("cbReceiptMoment", DateTime.UtcNow.ToString("o"))
|
||||||
|
|
||||||
Dim receipCase
|
Dim receiptCaseValue As Long
|
||||||
|
|
||||||
|
|
||||||
If _receiptCase = "Storno" Then
|
If _receiptCase = "Storno" Then
|
||||||
|
|
||||||
|
' Neue Referenz für den Stornobeleg
|
||||||
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
|
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
|
||||||
|
' Referenz auf den ursprünglichen Beleg
|
||||||
json.UpdateString("cbPreviousReceiptReference", _reference)
|
json.UpdateString("cbPreviousReceiptReference", _reference)
|
||||||
|
|
||||||
If TSEisOnline Then
|
If TSEisOnline Then
|
||||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction
|
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction
|
||||||
Else
|
Else
|
||||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
|
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
|
||||||
End If
|
End If
|
||||||
|
|
||||||
ElseIf _receiptCase = "Retry" Then
|
ElseIf _receiptCase = ReceiptCaseIntern.WIEDERHOLUNG Then
|
||||||
|
|
||||||
'Receipt-Request nach Kommunikationsfehler
|
'Receipt-Request nach Kommunikationsfehler
|
||||||
'dieselbe cbReceiptReference verwenden
|
'dieselbe cbReceiptReference verwenden
|
||||||
@@ -409,87 +453,115 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
'optional dieselbe cbTerminalID
|
'optional dieselbe cbTerminalID
|
||||||
|
|
||||||
json.UpdateString("cbReceiptReference", _reference)
|
json.UpdateString("cbReceiptReference", _reference)
|
||||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReceiptRequest
|
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.ReceiptRequest
|
||||||
|
|
||||||
|
' Kasseneinzahlung (ohne Positionen) / Kassenauszahlung (ohne Positionen)
|
||||||
|
ElseIf (_receiptCase = ReceiptCaseIntern.EINGANG OrElse _receiptCase = ReceiptCaseIntern.AUSGANG) AndAlso POS.Count = 0 Then
|
||||||
|
kindOfPayment = PayItemCasesIntern.Kasseneinzahlungen_Auszahlungen
|
||||||
|
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
|
||||||
|
|
||||||
|
If TSEisOnline Then
|
||||||
|
receiptCaseValue = FtReceiptCases.CashDepositOrWithdrawal Or FtReceiptCases.ImplicitTransaction
|
||||||
|
Else
|
||||||
|
receiptCaseValue = FtReceiptCases.CashDepositOrWithdrawal Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
Else
|
Else
|
||||||
|
|
||||||
' New reference for a normal receipt
|
' New reference for a normal receipt
|
||||||
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
|
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
|
||||||
If TSEisOnline Then
|
If TSEisOnline Then
|
||||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction
|
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction
|
||||||
Else
|
Else
|
||||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
|
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
json.UpdateString("ftReceiptCase", receipCase.ToString())
|
json.UpdateString("ftReceiptCase", receiptCaseValue.ToString())
|
||||||
|
|
||||||
Dim chargeItems = json.AppendArray("cbChargeItems")
|
Dim chargeItems = json.AppendArray("cbChargeItems")
|
||||||
|
|
||||||
For Each p In POS
|
If POS.Count > 0 Then
|
||||||
|
|
||||||
If chargeItems.AddObjectAt(-1) Then
|
For Each p In POS
|
||||||
|
|
||||||
|
If chargeItems.AddObjectAt(-1) Then
|
||||||
|
|
||||||
|
|
||||||
Dim quantity As Double = p.Anzahl
|
Dim quantity As Double = p.Anzahl
|
||||||
Dim unitPrice As Double = p.Preis
|
Dim unitPrice As Double = p.Preis
|
||||||
Dim lineAmount As Double = p.Betrag
|
Dim lineAmount As Double = p.Betrag
|
||||||
|
|
||||||
'bei Storno negieren (BEI DE nur einen Teil)!
|
'bei Storno negieren (BEI DE nur einen Teil)!
|
||||||
'To cancel a receipt, resend it with this flag added to the ftReceiptCase and inverse the cbPayItems OR cbChargeItems (This is not the same behavior as described in the general part — in Germany, this flag requires only one of cbPayItems or cbChargeItems to be negative, and both must not be negative at the same time)'
|
'To cancel a receipt, resend it with this flag added to the ftReceiptCase and inverse the cbPayItems OR cbChargeItems (This is not the same behavior as described in the general part — in Germany, this flag requires only one of cbPayItems or cbChargeItems to be negative, and both must not be negative at the same time)'
|
||||||
'https://docs.fiskaltrust.cloud/docs/poscreators/middleware-doc/germany/reference-tables/ftreceiptcase
|
'https://docs.fiskaltrust.cloud/docs/poscreators/middleware-doc/germany/reference-tables/ftreceiptcase
|
||||||
|
|
||||||
If _receiptCase = "Storno" Then
|
If _receiptCase = ReceiptCaseIntern.STORNO Then
|
||||||
quantity = quantity * -1
|
quantity = quantity * -1
|
||||||
lineAmount = lineAmount * -1
|
lineAmount = lineAmount * -1
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
|
||||||
|
item.UpdateInt("Quantity", quantity)
|
||||||
|
item.UpdateNumber("Amount", lineAmount)
|
||||||
|
item.UpdateNumber("VATRate", vat)
|
||||||
|
item.UpdateString("Description", p.LeistungsBez)
|
||||||
|
|
||||||
|
Dim ChargeItemCase As Long
|
||||||
|
Select Case vat
|
||||||
|
|
||||||
|
Case 19D
|
||||||
|
ChargeItemCase = FtChargeItemCase.RevenueNormal
|
||||||
|
|
||||||
|
Case 7D
|
||||||
|
ChargeItemCase = FtChargeItemCase.RevenueReduced
|
||||||
|
|
||||||
|
Case 0D
|
||||||
|
ChargeItemCase = FtChargeItemCase.RevenueTaxFree
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
Throw New Exception("Unbekannter Steuersatz")
|
||||||
|
End Select
|
||||||
|
|
||||||
|
|
||||||
|
item.UpdateString("ftChargeItemCase", ChargeItemCase)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
|
|
||||||
item.UpdateInt("Quantity", quantity)
|
|
||||||
item.UpdateNumber("Amount", lineAmount)
|
|
||||||
item.UpdateNumber("VATRate", vat)
|
|
||||||
item.UpdateString("Description", p.LeistungsBez)
|
|
||||||
|
|
||||||
Dim ChargeItemCase As Long
|
Next
|
||||||
Select Case vat
|
|
||||||
|
|
||||||
Case 19D
|
End If
|
||||||
ChargeItemCase = FtChargeItemCase.RevenueNormal
|
|
||||||
|
|
||||||
Case 7D
|
|
||||||
ChargeItemCase = FtChargeItemCase.RevenueReduced
|
|
||||||
|
|
||||||
Case 0D
|
|
||||||
ChargeItemCase = FtChargeItemCase.RevenueTaxFree
|
|
||||||
|
|
||||||
Case Else
|
|
||||||
Throw New Exception("Unbekannter Steuersatz")
|
|
||||||
End Select
|
|
||||||
|
|
||||||
|
|
||||||
item.UpdateString("ftChargeItemCase", ChargeItemCase)
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Next
|
|
||||||
|
|
||||||
Dim payItems = json.AppendArray("cbPayItems")
|
Dim payItems = json.AppendArray("cbPayItems")
|
||||||
payItems.AddObjectAt(-1)
|
payItems.AddObjectAt(-1)
|
||||||
Dim pay As Chilkat.JsonObject = payItems.ObjectAt(payItems.Size - 1)
|
Dim pay As Chilkat.JsonObject = payItems.ObjectAt(payItems.Size - 1)
|
||||||
pay.UpdateInt("Quantity", 1)
|
pay.UpdateInt("Quantity", 1)
|
||||||
pay.UpdateNumber("Amount", amount.ToString().Replace(",", "."))
|
pay.UpdateNumber("Amount", amount.ToString().Replace(",", "."))
|
||||||
pay.UpdateString("Description", kindOfPayment)
|
Dim Description As String = ""
|
||||||
|
|
||||||
Select Case kindOfPayment
|
Select Case kindOfPayment
|
||||||
Case "Cash"
|
Case PayItemCasesIntern.Cash
|
||||||
pay.UpdateString("ftPayItemCase", FtPayItemCases.Cash)
|
pay.UpdateString("ftPayItemCase", FtPayItemCases.Cash)
|
||||||
Case "Card"
|
Description = "Bar"
|
||||||
|
Case PayItemCasesIntern.DebitCard
|
||||||
pay.UpdateString("ftPayItemCase", FtPayItemCases.DebitCard)
|
pay.UpdateString("ftPayItemCase", FtPayItemCases.DebitCard)
|
||||||
|
Description = "ECKarte"
|
||||||
|
Case PayItemCasesIntern.Kasseneinzahlungen_Auszahlungen
|
||||||
|
pay.UpdateString("ftPayItemCase", FtPayItemCases.Kasseineinzahlung_Auszahlung)
|
||||||
|
If amount > 0 Then
|
||||||
|
Description = "Kasseneingang"
|
||||||
|
ElseIf amount < 0 Then
|
||||||
|
Description = "Kassenausgang"
|
||||||
|
End If
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
|
|
||||||
|
pay.UpdateString("Description", Description)
|
||||||
|
|
||||||
|
|
||||||
Return json
|
Return json
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
Imports GrapeCity.ActiveReports
|
|
||||||
|
Imports GrapeCity.ActiveReports
|
||||||
Imports SDL.RKSVServer
|
Imports SDL.RKSVServer
|
||||||
Imports VERAG_PROG_ALLGEMEIN.DSFinVKService
|
Imports VERAG_PROG_ALLGEMEIN.DSFinVKService
|
||||||
Imports VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService
|
Imports VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService
|
||||||
@@ -122,25 +123,37 @@ Public Class cRKSV
|
|||||||
|
|
||||||
Dim kindOfPayment As String = getKindOfPayment(beleg_temp)
|
Dim kindOfPayment As String = getKindOfPayment(beleg_temp)
|
||||||
|
|
||||||
If False Then
|
|
||||||
'Dim client As New cFiskaltrustClient(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
|
|
||||||
|
|
||||||
'Dim result = Await client.SignReceiptAsync(summeBRUTTO, steuersatz, POS, "Cash", kasse.rksv_id)
|
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
|
||||||
'If result <> "" Then
|
|
||||||
' Return client.saveRKSV_FT(result, QR_CodeString)
|
Dim result As String = ""
|
||||||
'Else
|
|
||||||
' Return False
|
Select Case typOfReceiptCase
|
||||||
'End If
|
Case ReceiptCaseIntern.NULLBELEG
|
||||||
Else
|
result = client.SignNullReceipt(kasse.rksv_id)
|
||||||
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
|
|
||||||
Dim result = client.SignReceipt(summeBRUTTO, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id, typOfReceiptCase, reference, TSEisOnline)
|
Case ReceiptCaseIntern.STARTBELEG
|
||||||
If result <> "" Then
|
result = client.SignInitialOperationReceipt(kasse.rksv_id)
|
||||||
|
|
||||||
|
Case ReceiptCaseIntern.OUTOFOPERATIONBELEG
|
||||||
|
result = client.SignOutOfOrderReceipt(kasse.rksv_id)
|
||||||
|
|
||||||
|
Case ReceiptCaseIntern.TEMP_OUTOFOPERATIONBELEG
|
||||||
|
result = client.SignTempOutOfOrderReceipt(kasse.rksv_id)
|
||||||
|
|
||||||
|
Case ReceiptCaseIntern.DAILYCLOSING
|
||||||
|
result = client.SignClosingReceipt("daily", kasse.rksv_id, "daily")
|
||||||
|
Case Else
|
||||||
|
result = client.SignReceipt(summeBRUTTO, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id, typOfReceiptCase, reference, TSEisOnline)
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If result <> "" Then
|
||||||
Return client.saveRKSV_FT(result, QR_CodeString, beleg_temp, False)
|
Return client.saveRKSV_FT(result, QR_CodeString, beleg_temp, False)
|
||||||
Else
|
Else
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
@@ -1826,6 +1839,188 @@ Public Class cRKSV
|
|||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function printStatusBelegFiskaltrust(KASSE As cRKSV_Kasse, PERSONAL As cPersonal, AUTODRUCK As Boolean, Firma As String, fiskaltrustReceiptCasTypIntern 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 = ""
|
||||||
|
|
||||||
|
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 belegBez As String = fiskaltrustReceiptCasTypIntern
|
||||||
|
|
||||||
|
|
||||||
|
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 = "*** " & belegBez & " ***"
|
||||||
|
BELEG.Beleg_TYP = "0"
|
||||||
|
BELEG.Belegart = "0"
|
||||||
|
BELEG.Name1 = "*** " & belegBez & " ***"
|
||||||
|
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 = ""
|
||||||
|
Dim isFiskaltrust As Boolean = False
|
||||||
|
Dim verarbeitet As Boolean = False
|
||||||
|
If KASSE.rksv_aktiv Then ' WENN für die Kasse die RKSV gilt
|
||||||
|
Dim answer = ""
|
||||||
|
|
||||||
|
If KASSE IsNot Nothing AndAlso KASSE.rksv_FT_RestServiceURL IsNot Nothing AndAlso KASSE.rksv_FT_CashboxID IsNot Nothing AndAlso KASSE.rksv_FT_AccessToken IsNot Nothing AndAlso KASSE.rksv_FT_Country IsNot Nothing Then
|
||||||
|
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
|
||||||
|
isFiskaltrust = client_chilkat.isFiskaltrust()
|
||||||
|
End If
|
||||||
|
|
||||||
|
If isFiskaltrust Then
|
||||||
|
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, 0, TESTBUCHUNG, QR_CodeString, LastJWS, fiskaltrustReceiptCasTypIntern)
|
||||||
|
verarbeitet = result
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
If Not verarbeitet Then
|
||||||
|
|
||||||
|
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
|
||||||
|
' If Not isFiskaltrust Then 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 = belegBez
|
||||||
|
POS.Leistungsbeschreibung = belegBez
|
||||||
|
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()
|
||||||
|
|
||||||
|
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
|
||||||
|
|
||||||
|
Select Case fiskaltrustReceiptCasTypIntern
|
||||||
|
Case ReceiptCaseIntern.NULLBELEG
|
||||||
|
rksv.SET_NULLBELEG()
|
||||||
|
Case ReceiptCaseIntern.STARTBELEG
|
||||||
|
rksv.SET_INITIALSTARTBELEG()
|
||||||
|
Case ReceiptCaseIntern.OUTOFOPERATIONBELEG
|
||||||
|
rksv.SET_OUTOFORDERBELEG()
|
||||||
|
Case ReceiptCaseIntern.TEMP_OUTOFOPERATIONBELEG
|
||||||
|
rksv.SET_OUTOFORDERBELEG()
|
||||||
|
Case ReceiptCaseIntern.DAILYCLOSING
|
||||||
|
SQL.doSQL("UPDATE [tblRKSV_FT] set ftEndOfDayReceipt = getDate() where Day(ftReceiptMoment) = Day(GETDATE()) and ftEndOfDayReceipt is null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "' ", "FMZOLL")
|
||||||
|
End Select
|
||||||
|
|
||||||
|
|
||||||
|
If isFiskaltrust Then
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
'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)
|
Public Shared Function getCardSerialInReader(kasse_id As Integer, reader As String)
|
||||||
Try
|
Try
|
||||||
|
|||||||
5937
SDL/SDL.vbproj
Normal file
5937
SDL/SDL.vbproj
Normal file
File diff suppressed because it is too large
Load Diff
@@ -394,7 +394,7 @@ Public Class usrCntlUSTV
|
|||||||
If Not col.ColumnName.Contains(colName) Then col.ColumnName = col.ColumnName.Replace("UStVAn_", "")
|
If Not col.ColumnName.Contains(colName) Then col.ColumnName = col.ColumnName.Replace("UStVAn_", "")
|
||||||
Next
|
Next
|
||||||
|
|
||||||
cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K1:K" & (dtNew.Rows.Count + 1), "O1:T" & (dtNew.Rows.Count + 1)},,,,, True)
|
cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K1:K" & (dtNew.Rows.Count + 1), "O1:T" & (dtNew.Rows.Count + 1)},,,, "", True)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -1203,7 +1203,7 @@ Public Class usrCntlUSTV
|
|||||||
|
|
||||||
If dtVorschau.Columns.Contains("LandNr") Then dtVorschau.Columns.Remove("LandNr")
|
If dtVorschau.Columns.Contains("LandNr") Then dtVorschau.Columns.Remove("LandNr")
|
||||||
|
|
||||||
cProgramFunctions.genExcelFromDT_NEW(dtVorschau, {"G1:G" & (dtVorschau.Rows.Count + 1)},,,,, True)
|
cProgramFunctions.genExcelFromDT_NEW(dtVorschau, {"G1:G" & (dtVorschau.Rows.Count + 1)},,,, "", True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1320,7 +1320,7 @@ Public Class usrCntlUSTV
|
|||||||
If dtVorschau.Columns.Contains("E-Mail") Then dtVorschau.Columns.Remove("E-Mail")
|
If dtVorschau.Columns.Contains("E-Mail") Then dtVorschau.Columns.Remove("E-Mail")
|
||||||
If dtVorschau.Columns.Contains("E-Mail2") Then dtVorschau.Columns.Remove("E-Mail2")
|
If dtVorschau.Columns.Contains("E-Mail2") Then dtVorschau.Columns.Remove("E-Mail2")
|
||||||
|
|
||||||
cProgramFunctions.genExcelFromDT_NEW(dtVorschau,,,,,, True)
|
cProgramFunctions.genExcelFromDT_NEW(dtVorschau,,,,, "", True)
|
||||||
|
|
||||||
ElseIf item.Name = "mail" Then
|
ElseIf item.Name = "mail" Then
|
||||||
|
|
||||||
@@ -1482,7 +1482,7 @@ Public Class usrCntlUSTV
|
|||||||
|
|
||||||
If item.Name = "excel" Then
|
If item.Name = "excel" Then
|
||||||
|
|
||||||
cProgramFunctions.genExcelFromDT_NEW(dtVorschau_3470, {"F1:F" & (dtVorschau_3470.Rows.Count + 1)}, False,,,, True)
|
cProgramFunctions.genExcelFromDT_NEW(dtVorschau_3470, {"F1:F" & (dtVorschau_3470.Rows.Count + 1)}, False,,, "", True)
|
||||||
|
|
||||||
ElseIf item.Name = "mail" Then
|
ElseIf item.Name = "mail" Then
|
||||||
|
|
||||||
@@ -1750,7 +1750,7 @@ Public Class usrCntlUSTV
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
cProgramFunctions.genExcelFromDT_NEW(dtVorauszahlung,,,,,, True)
|
cProgramFunctions.genExcelFromDT_NEW(dtVorauszahlung,,,,, "", True)
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ Public Class frmFremdbeleg
|
|||||||
Else
|
Else
|
||||||
|
|
||||||
If cRKSV.isforbiddenDate Then
|
If cRKSV.isforbiddenDate Then
|
||||||
MsgBox("Die Kasse wir am Monatsende abgeschlossen. Es dürfen keine weiteren Belege erstellt werden. Bitte veruchen Sie den Vorgang nach Mitternacht erneut.")
|
MsgBox("Die Kasse wir am Monatsende abgeschlossen. Es dürfen keine weiteren Belege erstellt werden. Bitte versuchen Sie den Vorgang nach Mitternacht erneut.")
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -225,14 +225,19 @@ Public Class frmFremdbeleg
|
|||||||
|
|
||||||
Dim answer = ""
|
Dim answer = ""
|
||||||
|
|
||||||
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
|
Dim isFiskaltrust = False
|
||||||
Dim isFiskaltrust As Boolean = client_chilkat.isFiskaltrust()
|
|
||||||
|
If KASSE IsNot Nothing AndAlso KASSE.rksv_FT_RestServiceURL IsNot Nothing AndAlso KASSE.rksv_FT_CashboxID IsNot Nothing AndAlso KASSE.rksv_FT_AccessToken IsNot Nothing AndAlso KASSE.rksv_FT_Country IsNot Nothing Then
|
||||||
|
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
|
||||||
|
isFiskaltrust = client_chilkat.isFiskaltrust()
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
If KASSE.rksv_aktiv Then
|
If KASSE.rksv_aktiv Then
|
||||||
|
|
||||||
Dim verarbeitet As Boolean = False
|
Dim verarbeitet As Boolean = False
|
||||||
|
|
||||||
If KASSE.rksv_FT_RestServiceURL <> "" Then
|
If isFiskaltrust Then
|
||||||
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, IIf(Art = 1, ReceiptCaseIntern.EINGANG, ReceiptCaseIntern.AUSGANG))
|
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, IIf(Art = 1, ReceiptCaseIntern.EINGANG, ReceiptCaseIntern.AUSGANG))
|
||||||
'result.Wait()
|
'result.Wait()
|
||||||
verarbeitet = result
|
verarbeitet = result
|
||||||
@@ -243,8 +248,25 @@ Public Class frmFremdbeleg
|
|||||||
|
|
||||||
If Not verarbeitet Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
If Not verarbeitet Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
||||||
|
|
||||||
If Not isFiskaltrust Then
|
If Not isFiskaltrust Then
|
||||||
|
|
||||||
|
If Not TESTBUCHUNG Then
|
||||||
|
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, BELEG.rksv_umsatz * -1)
|
||||||
|
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
||||||
|
End If
|
||||||
|
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
|
||||||
|
' BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
||||||
|
'MsgBox("Programmfehler bei der digitalen Signatur.")
|
||||||
|
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
|
||||||
|
Else
|
||||||
|
BELEG.FT_MissingSignature = True 'nachträgliche Signierung, Beleg NICHT löschen!!
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If KASSE.rksvDE_aktiv Then
|
||||||
|
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
||||||
If Not TESTBUCHUNG Then
|
If Not TESTBUCHUNG Then
|
||||||
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, BELEG.rksv_umsatz * -1)
|
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, BELEG.rksv_umsatz * -1)
|
||||||
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
||||||
@@ -253,49 +275,32 @@ Public Class frmFremdbeleg
|
|||||||
' BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
' BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
||||||
'MsgBox("Programmfehler bei der digitalen Signatur.")
|
'MsgBox("Programmfehler bei der digitalen Signatur.")
|
||||||
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
|
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
|
||||||
Else
|
|
||||||
BELEG.FT_MissingSignature = True 'nachträgliche Signierung, Beleg NICHT löschen!!
|
|
||||||
End If
|
End If
|
||||||
|
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
If KASSE.rksv_KassaGuid = "KASSE_01" Then
|
||||||
|
BELEG.rksv_jws = Nothing
|
||||||
|
BELEG.rksv_qr = Nothing
|
||||||
|
End If
|
||||||
|
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If KASSE.rksvDE_aktiv Then
|
|
||||||
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
||||||
If Not TESTBUCHUNG Then
|
|
||||||
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, BELEG.rksv_umsatz * -1)
|
'RKSV-Daten beim Beleg ergänzen:
|
||||||
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
BELEG.rksv_jws = LastJWS
|
||||||
End If
|
BELEG.rksv_qr = QR_CodeString
|
||||||
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
|
BELEG.rksv_BelegId = RKSV_Beleg_Id
|
||||||
' BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
BELEG.rksv_id = KASSE.rksv_id
|
||||||
'MsgBox("Programmfehler bei der digitalen Signatur.")
|
BELEG.SAVE()
|
||||||
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
|
|
||||||
End If
|
If cbxBelegDrucken.Checked Then cRKSV.printFremdBeleg(BELEG, KASSE, PERSONAL, KBEntry, KBEntryGB, cboPrinter.SelectedItem.ToString)
|
||||||
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
||||||
If KASSE.rksv_KassaGuid = "KASSE_01" Then
|
Me.Cursor = Cursors.Default
|
||||||
BELEG.rksv_jws = Nothing
|
|
||||||
BELEG.rksv_qr = Nothing
|
|
||||||
End If
|
|
||||||
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
Me.Close()
|
||||||
|
|
||||||
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
|
||||||
|
|
||||||
'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.SAVE()
|
|
||||||
|
|
||||||
If cbxBelegDrucken.Checked Then cRKSV.printFremdBeleg(BELEG, KASSE, PERSONAL, KBEntry, KBEntryGB, cboPrinter.SelectedItem.ToString)
|
|
||||||
|
|
||||||
Me.Cursor = Cursors.Default
|
|
||||||
|
|
||||||
End If
|
|
||||||
Me.Close()
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
MsgBox("Allgemeiner Programmfehler - Belegerfassung wird geschlossen!")
|
MsgBox("Allgemeiner Programmfehler - Belegerfassung wird geschlossen!")
|
||||||
|
|||||||
@@ -206,8 +206,6 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
lbldailyCashboxClosing.Text = ""
|
|
||||||
|
|
||||||
If PERSONAL.cRKSV_Kasse IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_Country IsNot Nothing Then
|
If PERSONAL.cRKSV_Kasse IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_Country IsNot Nothing Then
|
||||||
|
|
||||||
Dim client_chilkat As New cFiskaltrustClient_chilkat(PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL, PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID, PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken, PERSONAL.cRKSV_Kasse.rksv_FT_Country)
|
Dim client_chilkat As New cFiskaltrustClient_chilkat(PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL, PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID, PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken, PERSONAL.cRKSV_Kasse.rksv_FT_Country)
|
||||||
@@ -253,8 +251,7 @@ Public Class frmKassenbuch
|
|||||||
TSEIsOnline = False
|
TSEIsOnline = False
|
||||||
MiddlewareIsOnline = False
|
MiddlewareIsOnline = False
|
||||||
|
|
||||||
InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated)
|
End If
|
||||||
|
|
||||||
|
|
||||||
InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated)
|
InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated)
|
||||||
|
|
||||||
@@ -267,7 +264,7 @@ Public Class frmKassenbuch
|
|||||||
ElseIf OutOfOrderIsCreated Then
|
ElseIf OutOfOrderIsCreated Then
|
||||||
diasableBarverkauf("OUTOFORDER")
|
diasableBarverkauf("OUTOFORDER")
|
||||||
Else
|
Else
|
||||||
lbldailyCashboxClosing.Text = ""
|
|
||||||
If Not TSEIsOnline Then
|
If Not TSEIsOnline Then
|
||||||
lbldailyCashboxClosing.Text = "TSE ist OFFLINE: Belege werden nachträglich signiert!"
|
lbldailyCashboxClosing.Text = "TSE ist OFFLINE: Belege werden nachträglich signiert!"
|
||||||
End If
|
End If
|
||||||
@@ -280,17 +277,24 @@ Public Class frmKassenbuch
|
|||||||
btnBelegLeihgeld.Enabled = True
|
btnBelegLeihgeld.Enabled = True
|
||||||
btnStorno.Enabled = True
|
btnStorno.Enabled = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Else
|
|
||||||
lbldailyCashboxClosing.Visible = False
|
|
||||||
Button11.Visible = False
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
lbldailyCashboxClosing.Text = ""
|
||||||
|
Button11.Visible = False
|
||||||
|
lblFiskaltrustHeader.Visible = False
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
' Label9.Text = PERSONAL.Name
|
|
||||||
DataGridView2.ClearSelection()
|
|
||||||
|
' Label9.Text = PERSONAL.Name
|
||||||
|
DataGridView2.ClearSelection()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub diasableBarverkauf(status)
|
Private Sub diasableBarverkauf(status)
|
||||||
@@ -367,7 +371,7 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
.SET_SQL("SELECT b.rksv_BelegId, b.BelegDat, CASE WHEN b.Belegart=1 THEN 'E' ELSE 'A' END as Belegart,CASE WHEN b.Beleg_TYP='E' THEN rksv_umsatz ELSE (SELECT sum( betrag ) FROM tblEABelegposition WHERE (b.BelegNr = tblEABelegposition.BelegNr) AND (b.BelegDat = tblEABelegposition.BelegDat) AND (b.Benutzer = tblEABelegposition.Benutzer) AND (b.Niederlassung = tblEABelegposition.Niederlassung) AND (b.Mandant = tblEABelegposition.Mandant ) ) END as Betrag, b.Ordnungsbegriff, b.BelegNr, b.Frachtführer, " &
|
.SET_SQL("SELECT b.rksv_BelegId, b.BelegDat, CASE WHEN b.Belegart=1 THEN 'E' ELSE 'A' END as Belegart,CASE WHEN b.Beleg_TYP='E' THEN rksv_umsatz ELSE (SELECT sum( betrag ) FROM tblEABelegposition WHERE (b.BelegNr = tblEABelegposition.BelegNr) AND (b.BelegDat = tblEABelegposition.BelegDat) AND (b.Benutzer = tblEABelegposition.Benutzer) AND (b.Niederlassung = tblEABelegposition.Niederlassung) AND (b.Mandant = tblEABelegposition.Mandant ) ) END as Betrag, b.Ordnungsbegriff, b.BelegNr, b.Frachtführer, " &
|
||||||
" CASE WHEN b.storniert=1 THEN 'JA' ELSE '' END as [storniert], b.Beleg_TYP ,b.Benutzer " & benutzerBezTMP & lgTxt & ", b.ECZahlungsPerAPI as EC,b.ECZahlungsNr as ECNr, mit_username as kassiert" &
|
" CASE WHEN b.storniert=1 THEN 'JA' ELSE '' END as [storniert], b.Beleg_TYP ,b.Benutzer " & benutzerBezTMP & lgTxt & ", b.ECZahlungsPerAPI as EC,b.ECZahlungsNr as ECNr, mit_username as kassiert" &
|
||||||
" FROM tblEABelegnummer as b LEFT JOIN " & VERAG_PROG_ALLGEMEIN.cAllgemein.AVISO_SERVER & " .[ADMIN].[dbo].[tblMitarbeiter] on durchfuehrender_Benutzer = mit_id WHERE b.Mandant='" & PERSONAL.Mandant & "' AND b.Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' " &
|
" FROM tblEABelegnummer as b LEFT JOIN " & VERAG_PROG_ALLGEMEIN.cAllgemein.AVISO_SERVER & " .[ADMIN].[dbo].[tblMitarbeiter] on durchfuehrender_Benutzer = mit_id WHERE b.Mandant='" & PERSONAL.Mandant & "' AND b.Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' and b.rksv_BelegId >= 0 " &
|
||||||
" ORDER BY b.rksv_BelegId DESC, b.[upsize_ts] desc;", "FMZOLL")
|
" ORDER BY b.rksv_BelegId DESC, b.[upsize_ts] desc;", "FMZOLL")
|
||||||
' .DataSource = SQL.loadDgvBySql("SELECT b.rksv_BelegId, b.BelegDat, CASE WHEN b.Belegart=1 THEN 'E' ELSE 'A' END as Belegart,CASE WHEN b.Beleg_TYP='E' THEN rksv_umsatz ELSE (SELECT sum( betrag ) FROM tblEABelegposition WHERE (b.BelegNr = tblEABelegposition.BelegNr) AND (b.BelegDat = tblEABelegposition.BelegDat) AND (b.Benutzer = tblEABelegposition.Benutzer) AND (b.Niederlassung = tblEABelegposition.Niederlassung) AND (b.Mandant = tblEABelegposition.Mandant ) ) END as Betrag, b.Ordnungsbegriff, b.BelegNr, b.Frachtführer, " &
|
' .DataSource = SQL.loadDgvBySql("SELECT b.rksv_BelegId, b.BelegDat, CASE WHEN b.Belegart=1 THEN 'E' ELSE 'A' END as Belegart,CASE WHEN b.Beleg_TYP='E' THEN rksv_umsatz ELSE (SELECT sum( betrag ) FROM tblEABelegposition WHERE (b.BelegNr = tblEABelegposition.BelegNr) AND (b.BelegDat = tblEABelegposition.BelegDat) AND (b.Benutzer = tblEABelegposition.Benutzer) AND (b.Niederlassung = tblEABelegposition.Niederlassung) AND (b.Mandant = tblEABelegposition.Mandant ) ) END as Betrag, b.Ordnungsbegriff, b.BelegNr, b.Frachtführer, " &
|
||||||
' " CASE WHEN b.storniert=1 THEN 'JA' ELSE '' END as [storniert], b.Beleg_TYP ,b.Benutzer " & benutzerBezTMP &
|
' " CASE WHEN b.storniert=1 THEN 'JA' ELSE '' END as [storniert], b.Beleg_TYP ,b.Benutzer " & benutzerBezTMP &
|
||||||
@@ -1359,16 +1363,17 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
Dim KASSE As New cRKSV_Kasse(cboKassen._value) 'Laden der Kasse anhand der Auswahlbox
|
Dim KASSE As New cRKSV_Kasse(cboKassen._value) 'Laden der Kasse anhand der Auswahlbox
|
||||||
|
|
||||||
If KASSE.rksv_FT_RestServiceURL <> "" Then
|
If KASSE.rksv_FT_Country IsNot Nothing AndAlso KASSE.rksv_FT_Country = "DE" Then
|
||||||
Dim client As New cFiskaltrustClient(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
|
|
||||||
Dim result = Await client.SignNullReceiptAsync(RKSV.rksv_id)
|
cRKSV.printStatusBelegFiskaltrust(KASSE, PERSONAL, True, KASSE.rksv_firma, ReceiptCaseIntern.NULLBELEG)
|
||||||
Dim QR_CodeString As String = ""
|
|
||||||
client.saveRKSV_FT(result, QR_CodeString)
|
|
||||||
Else
|
Else
|
||||||
cRKSV.printNULLBeleg(KASSE, PERSONAL, True, KASSE.rksv_firma)
|
cRKSV.printNULLBeleg(KASSE, PERSONAL, True, KASSE.rksv_firma)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
init()
|
||||||
|
|
||||||
|
|
||||||
' End If
|
' End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -1600,11 +1605,11 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("null") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then
|
'If Not cm_FT.Items.ContainsKey("null") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then
|
||||||
Dim plose = New ToolStripMenuItem() With {.Text = "Nullbeleg", .Name = "null", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
' Dim plose = New ToolStripMenuItem() With {.Text = "Nullbeleg", .Name = "null", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||||
cm_FT.Items.Add(plose)
|
' cm_FT.Items.Add(plose)
|
||||||
AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked
|
' AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("outoforder") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then
|
If Not cm_FT.Items.ContainsKey("outoforder") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then
|
||||||
Dim plose = New ToolStripMenuItem() With {.Text = "Out Of Order", .Name = "outoforder", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
Dim plose = New ToolStripMenuItem() With {.Text = "Out Of Order", .Name = "outoforder", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||||
@@ -1695,31 +1700,7 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
Dim client_chilkat As New cFiskaltrustClient_chilkat(PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL, PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID, PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken, PERSONAL.cRKSV_Kasse.rksv_FT_Country)
|
Dim client_chilkat As New cFiskaltrustClient_chilkat(PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL, PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID, PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken, PERSONAL.cRKSV_Kasse.rksv_FT_Country)
|
||||||
|
|
||||||
If item.Name = "null" Then
|
If item.Name = "setMissingSignatures" Then
|
||||||
|
|
||||||
Dim info As String = "Möchten Sie einen 0-Beleg an die TSE schicken?"
|
|
||||||
|
|
||||||
If NULLBelegIsCreated Then
|
|
||||||
info = "Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein 0-Beleg erstellt, sind Sie wirklich sicher?"
|
|
||||||
End If
|
|
||||||
|
|
||||||
If vbYes = MsgBox(info, vbYesNoCancel) Then
|
|
||||||
|
|
||||||
Dim result As String = client_chilkat.SignNullReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
|
|
||||||
|
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
|
|
||||||
rksv.SET_NULLBELEG()
|
|
||||||
init()
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
ElseIf item.Name = "setMissingSignatures" Then
|
|
||||||
|
|
||||||
Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM [tblEABelegnummer] WHERE [rksv_id]='" & PERSONAL.cRKSV_KasseID & "' AND isnull(FT_MissingSignature,0)=1", "FMZOLL")
|
Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM [tblEABelegnummer] WHERE [rksv_id]='" & PERSONAL.cRKSV_KasseID & "' AND isnull(FT_MissingSignature,0)=1", "FMZOLL")
|
||||||
|
|
||||||
@@ -1793,16 +1774,8 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie einen temp. Ausfall an die TSE schicken?" & vbNewLine & "Falls die TSE zwar Online ist, jedoch ein technischer Fehler beim Signieren besteht", vbYesNoCancel) Then
|
If vbYes = MsgBox("Möchten Sie einen temp. Ausfall an die TSE schicken?" & vbNewLine & "Falls die TSE zwar Online ist, jedoch ein technischer Fehler beim Signieren besteht", vbYesNoCancel) Then
|
||||||
|
|
||||||
Dim result As String = client_chilkat.SignOutOfOrderReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
|
cRKSV.printStatusBelegFiskaltrust(PERSONAL.cRKSV_Kasse, PERSONAL, True, PERSONAL.cRKSV_Kasse.rksv_firma, ReceiptCaseIntern.TEMP_OUTOFOPERATIONBELEG)
|
||||||
|
init()
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
|
|
||||||
rksv.SET_OUTOFORDERBELEG()
|
|
||||||
init()
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -1812,18 +1785,9 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie einen OutOfOrder an die TSE schicken?" & vbNewLine & "Die Queue wird dauerhaft geschlossen und kann NICHT reaktiviert werden!", vbYesNoCancel) Then
|
If vbYes = MsgBox("Möchten Sie einen OutOfOrder an die TSE schicken?" & vbNewLine & "Die Queue wird dauerhaft geschlossen und kann NICHT reaktiviert werden!", vbYesNoCancel) Then
|
||||||
|
cRKSV.printStatusBelegFiskaltrust(PERSONAL.cRKSV_Kasse, PERSONAL, True, PERSONAL.cRKSV_Kasse.rksv_firma, ReceiptCaseIntern.OUTOFOPERATIONBELEG)
|
||||||
|
init()
|
||||||
|
|
||||||
Dim result As String = client_chilkat.SignOutOfOrderReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
|
|
||||||
|
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
|
|
||||||
rksv.SET_OUTOFORDERBELEG()
|
|
||||||
init()
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -1833,17 +1797,8 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie einen Start an die TSE schicken?", vbYesNoCancel) Then
|
If vbYes = MsgBox("Möchten Sie einen Start an die TSE schicken?", vbYesNoCancel) Then
|
||||||
|
|
||||||
Dim result As String = client_chilkat.SignInitialOperationReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
|
cRKSV.printStatusBelegFiskaltrust(PERSONAL.cRKSV_Kasse, PERSONAL, True, PERSONAL.cRKSV_Kasse.rksv_firma, ReceiptCaseIntern.STARTBELEG)
|
||||||
|
init()
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
|
|
||||||
rksv.SET_INITIALSTARTBELEG()
|
|
||||||
init()
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -1940,22 +1895,18 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie einen Tagesabschluss durchführen, anschließend kann heute kein Beleg mehr signiert werden!", vbYesNoCancel) Then
|
If vbYes = MsgBox("Möchten Sie einen Tagesabschluss durchführen, anschließend kann heute kein Beleg mehr signiert werden!", vbYesNoCancel) Then
|
||||||
If PERSONAL.cRKSV_Kasse.rksv_FT_Country = "DE" Then
|
If PERSONAL.cRKSV_Kasse.rksv_FT_Country = "DE" Then
|
||||||
Dim result As String = client_chilkat.SignClosingReceipt(item.Name, PERSONAL.cRKSV_Kasse.rksv_id, item.Name)
|
|
||||||
|
|
||||||
If result <> "" Then
|
cRKSV.printStatusBelegFiskaltrust(PERSONAL.cRKSV_Kasse, PERSONAL, True, PERSONAL.cRKSV_Kasse.rksv_firma, ReceiptCaseIntern.DAILYCLOSING)
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
init()
|
||||||
|
|
||||||
SQL.doSQL("UPDATE [tblRKSV_FT] set ftEndOfDayReceipt = getDate() where Day(ftReceiptMoment) = Day(GETDATE()) and ftEndOfDayReceipt is null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "' ", "FMZOLL")
|
|
||||||
init()
|
|
||||||
End If
|
|
||||||
Else
|
Else
|
||||||
MsgBox("nicht für AT-Kassen möglich!")
|
MsgBox("nicht für AT-Kassen möglich!")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Else
|
|
||||||
MsgBox("Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein Tagesabschluss erstellt!")
|
MsgBox("Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein Tagesabschluss erstellt!")
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|||||||
@@ -364,7 +364,7 @@ Public Class frmNacherfassungLeihgeld
|
|||||||
Dim QR_CodeString As String = ""
|
Dim QR_CodeString As String = ""
|
||||||
Dim LastJWS As String = ""
|
Dim LastJWS As String = ""
|
||||||
Dim isFiskaltrust As Boolean = False
|
Dim isFiskaltrust As Boolean = False
|
||||||
If KASSE.rksv_FT_RestServiceURL IsNot Nothing AndAlso KASSE.rksv_FT_CashboxID IsNot Nothing AndAlso KASSE.rksv_FT_AccessToken IsNot Nothing AndAlso KASSE.rksv_FT_Country IsNot Nothing Then
|
If KASSE IsNot Nothing AndAlso KASSE.rksv_FT_RestServiceURL IsNot Nothing AndAlso KASSE.rksv_FT_CashboxID IsNot Nothing AndAlso KASSE.rksv_FT_AccessToken IsNot Nothing AndAlso KASSE.rksv_FT_Country IsNot Nothing Then
|
||||||
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
|
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
|
||||||
isFiskaltrust = client_chilkat.isFiskaltrust()
|
isFiskaltrust = client_chilkat.isFiskaltrust()
|
||||||
End If
|
End If
|
||||||
@@ -375,9 +375,9 @@ Public Class frmNacherfassungLeihgeld
|
|||||||
|
|
||||||
Dim verarbeitet As Boolean = False
|
Dim verarbeitet As Boolean = False
|
||||||
If isFiskaltrust Then
|
If isFiskaltrust Then
|
||||||
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, "Verkauf")
|
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, ReceiptCaseIntern.VERKAUF)
|
||||||
'result.Wait()
|
'result.Wait()
|
||||||
verarbeitet = result
|
verarbeitet = result
|
||||||
Else
|
Else
|
||||||
verarbeitet = cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
verarbeitet = cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -953,6 +953,16 @@ Public Class cUTA
|
|||||||
Sub New()
|
Sub New()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Sub New(RechnungsNr, KundenNr, Datum, DocumentTyp)
|
||||||
|
Me.RechnungsNr = RechnungsNr
|
||||||
|
Me.KundenNr = KundenNr
|
||||||
|
Me.Datum = Datum
|
||||||
|
Me.DocumentTyp = DocumentTyp
|
||||||
|
LOAD(RechnungsNr, KundenNr, Datum, DocumentTyp)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||||
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Id", Id,, True))
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Id", Id,, True))
|
||||||
@@ -978,6 +988,38 @@ Public Class cUTA
|
|||||||
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Sub LOAD(RechnungsNr As String, KundenNr As Integer, Datum As Date, DocumentTyp As String)
|
||||||
|
Try
|
||||||
|
hasEntry = False
|
||||||
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||||
|
Using cmd As New SqlCommand("Select * FROM tblUTADocuments WHERE Datum=@Datum AND KundenNr = @KundenNr AND RechnungsNr=@RechnungsNr AND DocumentTyp = @DocumentTyp ", conn)
|
||||||
|
cmd.Parameters.AddWithValue("@Datum", Datum)
|
||||||
|
cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
|
||||||
|
cmd.Parameters.AddWithValue("@RechnungsNr", RechnungsNr)
|
||||||
|
cmd.Parameters.AddWithValue("@DocumentTyp", DocumentTyp)
|
||||||
|
|
||||||
|
Dim dr = cmd.ExecuteReader()
|
||||||
|
If dr.Read Then
|
||||||
|
For Each li In getParameterList()
|
||||||
|
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
|
||||||
|
|
||||||
|
If dr.Item(li.Text) Is DBNull.Value Then
|
||||||
|
propInfo.SetValue(Me, Nothing)
|
||||||
|
Else
|
||||||
|
propInfo.SetValue(Me, dr.Item(li.Text))
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
hasEntry = True
|
||||||
|
End If
|
||||||
|
dr.Close()
|
||||||
|
End Using
|
||||||
|
End Using
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
Public Sub LOAD()
|
Public Sub LOAD()
|
||||||
Try
|
Try
|
||||||
hasEntry = False
|
hasEntry = False
|
||||||
|
|||||||
@@ -6,15 +6,44 @@ Public Class cSyska_Interface
|
|||||||
|
|
||||||
'STAMMDATEN
|
'STAMMDATEN
|
||||||
Shared Function getStammdaten(FiBuSchnittstelleNr) As DataTable
|
Shared Function getStammdaten(FiBuSchnittstelleNr) As DataTable
|
||||||
Dim sqlStr = " Select KundenNrZentrale As [Konto-Nr],isnull([Name 1],'') as Name,isnull([Name 2],'') as [Name2],(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],isnull(UstIdGeprüft,'') as [UID-Datum],[Strasse],Adressen.landkz ,PLZ,LTRIM([Ort]) as Ort,isnull(BLZ,'') as [BLZ],isnull(KTO,'') as [KTO], CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],/*'' as [SPz],'' as [STg],*/isnull([E-Mail],'') as [mail],'' AS Info1,'' AS Inf2, Zahlungsziel2, Zahlungsziel3,[E-Mail],[Telefon] ,Telefax "
|
|
||||||
sqlStr &= " ,Ordnungsbegriff ,Kunden.Währungscode,Anrede,Ansprechpartner,Lastschrift,Kunden.[Eingegeben am] as EingegebenAm"
|
Dim SQLString = "Select Top(100)
|
||||||
sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr "
|
KundenNrZentrale As [Konto-Nr],
|
||||||
sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr "
|
isnull([Name 1],'') as Name,
|
||||||
sqlStr &= " LEFT JOIN [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz "
|
isnull([Name 2],'') as [Name2],
|
||||||
sqlStr &= " LEFT JOIN Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel "
|
(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],
|
||||||
sqlStr &= " WHERE FiBuSchnittstelle=1 AND Auswahl='A' AND FiBuSchnittstelleNr='" & FiBuSchnittstelleNr & "' "
|
isnull(UstIdGeprüft,'') as [UID-Datum],
|
||||||
sqlStr &= " Order by [Konto-Nr] "
|
[Strasse],
|
||||||
Return SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
Adressen.landkz ,
|
||||||
|
PLZ,LTRIM([Ort]) as Ort,
|
||||||
|
isnull(BLZ,'') as [BLZ],
|
||||||
|
isnull(KTO,'') as [KTO],
|
||||||
|
CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],
|
||||||
|
isnull([E-Mail],'') as [mail],
|
||||||
|
'' AS Info1,
|
||||||
|
'' AS Inf2,
|
||||||
|
Zahlungsziel2,
|
||||||
|
Zahlungsziel3,
|
||||||
|
[E-Mail],
|
||||||
|
[Telefon] ,
|
||||||
|
Telefax,Ordnungsbegriff,
|
||||||
|
Kunden.Währungscode,
|
||||||
|
Anrede,
|
||||||
|
Ansprechpartner,
|
||||||
|
Lastschrift,
|
||||||
|
Kunden.[Eingegeben am] as EingegebenAm,
|
||||||
|
isnull(tblKundenErweitert.kde_BezFIBU,'') as [Kürzel],
|
||||||
|
2811 as [präf. Bank],
|
||||||
|
isnull(tblKundenErweitert.kde_Fakturierung_Sprache,'') as Sprache,
|
||||||
|
isnull(Adressen.Steuernummer,'')as [SteuerNr],
|
||||||
|
isnull(tblKundenErweitert.kde_betreuer,'') as Betreuer
|
||||||
|
FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr
|
||||||
|
Left Join tblKundenErweitert ON KundenNr=kde_KundenNr
|
||||||
|
Left Join [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz
|
||||||
|
Left Join Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel
|
||||||
|
WHERE FiBuSchnittstelle = 0 And Auswahl ='A' AND FiBuSchnittstelleNr='" & FiBuSchnittstelleNr & "' and KundenNr = 203152 Order by [Konto-Nr]"
|
||||||
|
|
||||||
|
Return SQL.loadDgvBySql(SQLString, "FMZOLL")
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
' Shared Function getStammdatenTEST(FiBuSchnittstelleNr) As DataTable
|
' Shared Function getStammdatenTEST(FiBuSchnittstelleNr) As DataTable
|
||||||
@@ -80,9 +109,6 @@ Public Class cSyska_Interface
|
|||||||
Dim cleanStringName As String = Regex.Replace(row("Name"), "[^A-Za-z0-9\-/]", "").Replace(" ", "").ToUpper
|
Dim cleanStringName As String = Regex.Replace(row("Name"), "[^A-Za-z0-9\-/]", "").Replace(" ", "").ToUpper
|
||||||
|
|
||||||
Dim Lastschrift = CBool(row("Lastschrift"))
|
Dim Lastschrift = CBool(row("Lastschrift"))
|
||||||
'If FormatStringSYS(row("Name2"), 50) <> "" Then
|
|
||||||
' MsgBox(FormatStringSYS(row("Name2"), 50) & vbTab)
|
|
||||||
'End If
|
|
||||||
getPersonenKto = ""
|
getPersonenKto = ""
|
||||||
getPersonenKto &= row("Konto-Nr") & vbTab
|
getPersonenKto &= row("Konto-Nr") & vbTab
|
||||||
getPersonenKto &= FormatStringSYS(cleanStringName, 2) & row("Konto-Nr") & vbTab
|
getPersonenKto &= FormatStringSYS(cleanStringName, 2) & row("Konto-Nr") & vbTab
|
||||||
@@ -113,7 +139,73 @@ Public Class cSyska_Interface
|
|||||||
getPersonenKto &= FormatStringSYS(row("Telefax")) & vbTab
|
getPersonenKto &= FormatStringSYS(row("Telefax")) & vbTab
|
||||||
getPersonenKto &= FormatStringSYS(row("E-Mail")) & vbTab
|
getPersonenKto &= FormatStringSYS(row("E-Mail")) & vbTab
|
||||||
getPersonenKto &= vbTab
|
getPersonenKto &= vbTab
|
||||||
' getPersonenKto &= vbTab
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
Public Shared Function getPersonenKto_MDM(row As DataRow) As String
|
||||||
|
|
||||||
|
Dim LandKz = row("LandKz")
|
||||||
|
Dim Gegenkontonummer = ""
|
||||||
|
Dim Gegenkontonummer2 = ""
|
||||||
|
If LandKz Is DBNull.Value Or LandKz.trim = "" Or LandKz = "A" Then
|
||||||
|
Gegenkontonummer = "4000" ' Erl. 20%
|
||||||
|
Gegenkontonummer2 = "4000" ' Erl. 20%
|
||||||
|
Else
|
||||||
|
If CBool(SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & LandKz & "'", "FMZOLL", False)) Then
|
||||||
|
Gegenkontonummer = "4020" ' Erl. 0% EU
|
||||||
|
Gegenkontonummer2 = "4020" ' Erl. 0% EU
|
||||||
|
Else
|
||||||
|
Gegenkontonummer = "4021" ' Erl. 0% 3.Land
|
||||||
|
Gegenkontonummer2 = "4021" ' Erl. 0% 3.Land
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim cleanStringName As String = Regex.Replace(row("Name"), "[^A-Za-z0-9\-/]", "").Replace(" ", "").ToUpper
|
||||||
|
|
||||||
|
Dim SteuerNr As String = ""
|
||||||
|
|
||||||
|
If Not IsDBNull(row("SteuerNr")) Then
|
||||||
|
SteuerNr = Regex.Replace(row("SteuerNr").ToString(), "[^0-9]", "")
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim Lastschrift = CBool(row("Lastschrift"))
|
||||||
|
getPersonenKto_MDM = ""
|
||||||
|
getPersonenKto_MDM &= row("Konto-Nr") & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Kürzel"), 24) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Name"), 50) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Name2"), 50) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Strasse"), 50) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("PLZ"), 20) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Ort"), 50) & vbTab
|
||||||
|
getPersonenKto_MDM &= cProgramFunctions.getISO2Land(FormatStringSYS(LandKz, 5)) & vbTab
|
||||||
|
getPersonenKto_MDM &= CDate(row("EingegebenAm")).ToShortDateString & vbTab 'Eröffnungsdatum
|
||||||
|
'getPersonenKto_MDM &= Gegenkontonummer & vbTab
|
||||||
|
getPersonenKto_MDM &= vbTab 'Bankname
|
||||||
|
getPersonenKto_MDM &= If(Lastschrift, row("BLZ"), "") & vbTab
|
||||||
|
getPersonenKto_MDM &= If(Lastschrift, row("KTO"), "") & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Name"), 50) & vbTab 'Inhaber
|
||||||
|
getPersonenKto_MDM &= "00" & vbTab 'Skontotage
|
||||||
|
getPersonenKto_MDM &= If(row("ZZiel") IsNot DBNull.Value AndAlso row("ZZiel") <> String.Empty, CDbl(row("ZZiel")).ToString("00"), "") & vbTab
|
||||||
|
getPersonenKto_MDM &= "00,00" & vbTab 'Skonto
|
||||||
|
getPersonenKto_MDM &= "01" & vbTab 'Mahnkennung
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("UST-Id-Nummer"), 50) & vbTab
|
||||||
|
'getPersonenKto_MDM &= vbTab
|
||||||
|
getPersonenKto_MDM &= row("Währungscode") & vbTab
|
||||||
|
'getPersonenKto_MDM &= vbTab 'Forderungsonto
|
||||||
|
'getPersonenKto_MDM &= vbTab
|
||||||
|
'getPersonenKto_MDM &= Gegenkontonummer2 & vbTab 'Platzhalter??
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Anrede") & " " & row("Ansprechpartner"), 100) & vbTab
|
||||||
|
'getPersonenKto_MDM &= vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Telefon")) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Telefax")) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("E-Mail")) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("präf. Bank")) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Sprache")) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(SteuerNr) & vbTab
|
||||||
|
getPersonenKto_MDM &= FormatStringSYS(row("Betreuer")) & vbTab
|
||||||
|
|
||||||
|
getPersonenKto_MDM &= vbTab
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -146,43 +238,50 @@ Public Class cSyska_Interface
|
|||||||
If True Then 'boolKunden Then
|
If True Then 'boolKunden Then
|
||||||
'----------------- STAMMDATEN -----------------
|
'----------------- STAMMDATEN -----------------
|
||||||
Dim dt_Stamm As DataTable = getStammdaten(FiBuSchnittstelleNr)
|
Dim dt_Stamm As DataTable = getStammdaten(FiBuSchnittstelleNr)
|
||||||
|
Dim postfix As String = ""
|
||||||
If dt_Stamm IsNot Nothing AndAlso dt_Stamm.Rows.Count > 0 Then
|
If dt_Stamm IsNot Nothing AndAlso dt_Stamm.Rows.Count > 0 Then
|
||||||
|
If FiBuSchnittstelleNr = 19 Then postfix = "MDM_"
|
||||||
Dim fileKD As System.IO.StreamWriter
|
Dim fileKD As System.IO.StreamWriter
|
||||||
Dim DateinameKD = "AVISO_DEBI_" & Now.ToString("ddMMyyyy_HHmm") & ".txt"
|
Dim DateinameKD = "AVISO_DEBI_" & postfix & Now.ToString("ddMMyyyy_HHmm") & ".txt"
|
||||||
fileKD = My.Computer.FileSystem.OpenTextFileWriter(pathKD & DateinameKD, True, System.Text.Encoding.GetEncoding("iso-8859-15"))
|
fileKD = My.Computer.FileSystem.OpenTextFileWriter(pathKD & DateinameKD, True, System.Text.Encoding.GetEncoding("iso-8859-15"))
|
||||||
|
|
||||||
|
|
||||||
'fileKD.WriteLine(genStammdatenBeginn())
|
'fileKD.WriteLine(genStammdatenBeginn())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
initKDNr(dt_Stamm)
|
initKDNr(dt_Stamm)
|
||||||
For Each r In dt_Stamm.Rows
|
For Each r In dt_Stamm.Rows
|
||||||
fileKD.WriteLine(getPersonenKto(r))
|
If FiBuSchnittstelleNr = 19 Then
|
||||||
|
fileKD.WriteLine(getPersonenKto_MDM(r))
|
||||||
|
Else
|
||||||
|
fileKD.WriteLine(getPersonenKto(r))
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
bool_DatenVorhanden = True
|
bool_DatenVorhanden = True
|
||||||
|
|
||||||
|
|
||||||
fileKD.Close()
|
fileKD.Close()
|
||||||
|
|
||||||
|
'In Archiv sichern
|
||||||
|
If pathArchivKD <> "" Then
|
||||||
|
If Not System.IO.Directory.Exists(pathArchivKD) Then System.IO.Directory.CreateDirectory(pathArchivKD)
|
||||||
|
If pathKD <> pathArchivKD Then System.IO.File.Copy(pathKD & DateinameKD, pathArchivKD & DateinameKD)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If bool_DatenVorhanden Then
|
||||||
|
If OpenFile Then Process.Start(pathKD & DateinameKD)
|
||||||
|
Else
|
||||||
|
System.IO.File.Delete(pathKD & DateinameKD)
|
||||||
|
End If
|
||||||
|
|
||||||
|
'NOCH NICHT!!!
|
||||||
|
updateFibu(FiBuSchnittstelleNr) ' UPDATE FiBuSchnittstelle --> 0
|
||||||
|
|
||||||
'In Archiv sichern
|
|
||||||
If pathArchivKD <> "" Then
|
|
||||||
If Not System.IO.Directory.Exists(pathArchivKD) Then System.IO.Directory.CreateDirectory(pathArchivKD)
|
|
||||||
If pathKD <> pathArchivKD Then System.IO.File.Copy(pathKD & DateinameKD, pathArchivKD & DateinameKD)
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If bool_DatenVorhanden Then
|
|
||||||
If OpenFile Then Process.Start(pathKD & DateinameKD)
|
|
||||||
Else
|
|
||||||
System.IO.File.Delete(pathKD & DateinameKD)
|
|
||||||
End If
|
|
||||||
|
|
||||||
'NOCH NICHT!!!
|
|
||||||
updateFibu(FiBuSchnittstelleNr) ' UPDATE FiBuSchnittstelle --> 0
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user