merge
This commit is contained in:
@@ -284,6 +284,8 @@ Public Class EABeleg
|
|||||||
Property EC_daid As Integer = 0
|
Property EC_daid As Integer = 0
|
||||||
Property FT_ReceiptReference As Object = Nothing
|
Property FT_ReceiptReference As Object = Nothing
|
||||||
Property FT_ReceiptReference_Storno As Object = Nothing
|
Property FT_ReceiptReference_Storno As Object = Nothing
|
||||||
|
Property FT_MissingSignature As Boolean = False
|
||||||
|
Property FT_setMissingSignatureFailed As Boolean = False
|
||||||
|
|
||||||
|
|
||||||
Property POS As New List(Of EABelegPositionen)
|
Property POS As New List(Of EABelegPositionen)
|
||||||
@@ -364,8 +366,13 @@ Public Class EABeleg
|
|||||||
Me.ECZahlungsPerAPI = cSqlDb.checkNullReturnValue(dr.Item("ECZahlungsPerAPI"), Nothing)
|
Me.ECZahlungsPerAPI = cSqlDb.checkNullReturnValue(dr.Item("ECZahlungsPerAPI"), Nothing)
|
||||||
Me.ECTerminalreturnCode = cSqlDb.checkNullReturnValue(dr.Item("ECTerminalreturnCode"), Nothing)
|
Me.ECTerminalreturnCode = cSqlDb.checkNullReturnValue(dr.Item("ECTerminalreturnCode"), Nothing)
|
||||||
Me.EC_daid = cSqlDb.checkNullReturnValue(dr.Item("EC_daid"), Nothing)
|
Me.EC_daid = cSqlDb.checkNullReturnValue(dr.Item("EC_daid"), Nothing)
|
||||||
|
|
||||||
|
'Fiskaltrust
|
||||||
|
|
||||||
Me.FT_ReceiptReference = cSqlDb.checkNullReturnValue(dr.Item("FT_ReceiptReference"), Nothing)
|
Me.FT_ReceiptReference = cSqlDb.checkNullReturnValue(dr.Item("FT_ReceiptReference"), Nothing)
|
||||||
Me.FT_ReceiptReference_Storno = cSqlDb.checkNullReturnValue(dr.Item("FT_ReceiptReference_Storno"), Nothing)
|
Me.FT_ReceiptReference_Storno = cSqlDb.checkNullReturnValue(dr.Item("FT_ReceiptReference_Storno"), Nothing)
|
||||||
|
Me.FT_MissingSignature = cSqlDb.checkNullReturnValue(dr.Item("FT_MissingSignature"), False)
|
||||||
|
Me.FT_MissingSignature = cSqlDb.checkNullReturnValue(dr.Item("FT_setMissingSignatureFailed"), False)
|
||||||
|
|
||||||
If loadPosAswell Then POS = LOAD_POS_List(Mandant, Niederlassung, Benutzer, BelegNr, BelegDat)
|
If loadPosAswell Then POS = LOAD_POS_List(Mandant, Niederlassung, Benutzer, BelegNr, BelegDat)
|
||||||
' MsgBox(POS.Count)
|
' MsgBox(POS.Count)
|
||||||
@@ -551,8 +558,12 @@ Public Class EABeleg
|
|||||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECZahlungsPerAPI", ECZahlungsPerAPI))
|
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECZahlungsPerAPI", ECZahlungsPerAPI))
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECTerminalreturnCode", ECTerminalreturnCode))
|
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECTerminalreturnCode", ECTerminalreturnCode))
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("EC_daid", EC_daid))
|
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("EC_daid", EC_daid))
|
||||||
|
|
||||||
|
'FISKALTRUST
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_ReceiptReference", FT_ReceiptReference))
|
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_ReceiptReference", FT_ReceiptReference))
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_ReceiptReference_Storno", FT_ReceiptReference_Storno))
|
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_ReceiptReference_Storno", FT_ReceiptReference_Storno))
|
||||||
|
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_MissingSignature", FT_MissingSignature))
|
||||||
|
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_setMissingSignatureFailed", FT_setMissingSignatureFailed))
|
||||||
|
|
||||||
'For Each p As System.Reflection.PropertyInfo In Me.GetType().GetProperties()
|
'For Each p As System.Reflection.PropertyInfo In Me.GetType().GetProperties()
|
||||||
'If p.CanRead Then
|
'If p.CanRead Then
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ Public Class FtReceiptCases
|
|||||||
' Test-/Nullbeleg
|
' Test-/Nullbeleg
|
||||||
Public Const ZeroReceipt As Long = &H4445000000000002L
|
Public Const ZeroReceipt As Long = &H4445000000000002L
|
||||||
|
|
||||||
|
' Kassenlebenszyklus
|
||||||
Public Const InitialOperation As Long = &H4445000000000003L
|
Public Const InitialOperation As Long = &H4445000000000003L
|
||||||
Public Const OutOfOperation As Long = &H4445000000000004L
|
Public Const OutOfOperation As Long = &H4445000000000004L
|
||||||
|
|
||||||
@@ -22,6 +23,12 @@ Public Class FtReceiptCases
|
|||||||
Public Const ImplicitTransaction As Long = &H100000000L
|
Public Const ImplicitTransaction As Long = &H100000000L
|
||||||
Public Const ReversalReceipt As Long = &H40000L
|
Public Const ReversalReceipt As Long = &H40000L
|
||||||
Public Const TrainingReceipt As Long = &H20000L
|
Public Const TrainingReceipt As Long = &H20000L
|
||||||
|
' aktiviert den Late-Signing-Modus
|
||||||
|
Public Const FailedReceipt As Long = &H10000L
|
||||||
|
|
||||||
|
' Receipt-Request:
|
||||||
|
' bereits verarbeiteten Beleg anhand cbReceiptReference abrufen
|
||||||
|
Public Const ReceiptRequest As Long = &H800000000000L
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
@@ -44,6 +51,17 @@ Public Class FtJournalType
|
|||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
Public Class ReceiptCaseIntern
|
||||||
|
|
||||||
|
Public Const VERKAUF As String = "Verkauf"
|
||||||
|
Public Const EINGANG As String = "Eingang"
|
||||||
|
Public Const AUSGANG As String = "Ausgang"
|
||||||
|
Public Const WIEDERHOLUNG As String = "Retry"
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Public Class FtPayItemCases
|
Public Class FtPayItemCases
|
||||||
|
|
||||||
'DE
|
'DE
|
||||||
@@ -71,25 +89,31 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
Private ReadOnly _cashboxId As String
|
Private ReadOnly _cashboxId As String
|
||||||
Private ReadOnly _accessToken As String
|
Private ReadOnly _accessToken As String
|
||||||
Private ReadOnly _country As String
|
Private ReadOnly _country As String
|
||||||
|
Private ReadOnly _isFiskaltrust As Boolean = False
|
||||||
|
|
||||||
Public Sub New(baseUrl As String, cashboxId As String, accessToken As String, country As String)
|
Public Sub New(baseUrl As String, cashboxId As String, accessToken As String, country As String)
|
||||||
_baseUrl = baseUrl.TrimEnd("/"c)
|
_baseUrl = baseUrl.TrimEnd("/"c)
|
||||||
_cashboxId = cashboxId
|
_cashboxId = cashboxId
|
||||||
_accessToken = accessToken
|
_accessToken = accessToken
|
||||||
_country = country
|
_country = country
|
||||||
|
|
||||||
|
If _cashboxId <> "" AndAlso baseUrl <> "" AndAlso _accessToken <> "" AndAlso _country <> "" Then
|
||||||
|
_isFiskaltrust = True
|
||||||
|
Else
|
||||||
|
_isFiskaltrust = False
|
||||||
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Function SignReceipt(amount As Decimal, vat As Decimal, POS As List(Of EABelegPositionen), kindOfPayment As String, posSystemId As String, typOfReceiptCase As String) As String
|
Public Function isFiskaltrust() As Boolean
|
||||||
|
Return _isFiskaltrust
|
||||||
Dim payload As JsonObject = BuildPayloadReceipt(amount, vat, POS, kindOfPayment, posSystemId, typOfReceiptCase, "")
|
|
||||||
|
|
||||||
Return SendChilkat(GetEndpoint("payment"), payload.Emit())
|
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Public Function SignReceipt_test(posSystemId As String) As String
|
|
||||||
|
|
||||||
|
Public Function SignReceipt_test(posSystemId As String, TSEisOnline As Boolean) As String
|
||||||
|
|
||||||
Dim LIST = New List(Of EABelegPositionen)
|
Dim LIST = New List(Of EABelegPositionen)
|
||||||
Dim p = New EABelegPositionen
|
Dim p = New EABelegPositionen
|
||||||
@@ -110,81 +134,134 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
Dim vat = 0
|
Dim vat = 0
|
||||||
Dim POS = LIST
|
Dim POS = LIST
|
||||||
Dim kindOfPayment = "Cash"
|
Dim kindOfPayment = "Cash"
|
||||||
|
Try
|
||||||
|
Dim payload As JsonObject = BuildPayloadReceipt(amount, vat, POS, kindOfPayment, posSystemId, "Verkauf", "", TSEisOnline)
|
||||||
|
|
||||||
Dim payload As JsonObject = BuildPayloadReceipt(amount, vat, POS, kindOfPayment, posSystemId, "Verkauf", "")
|
Return SendChilkat(GetEndpoint("payment"), payload.Emit())
|
||||||
|
Catch ex As Exception
|
||||||
Return SendChilkat(GetEndpoint("payment"), payload.Emit())
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Public Function ChancelReceipt(reference As String, amount As Decimal, vat As Decimal, POS As List(Of EABelegPositionen), kindOfPayment As String, posSystemId As String) As String
|
|
||||||
|
|
||||||
Dim payload As JsonObject = BuildPayloadReceipt(amount, vat, POS, kindOfPayment, posSystemId, "Storno", reference)
|
|
||||||
|
|
||||||
Return SendChilkat(GetEndpoint("storno"), payload.Emit())
|
Public Function ChancelReceipt_test(reference As String, posSystemId As String, TSEisOnline As Boolean) As String
|
||||||
|
|
||||||
|
Try
|
||||||
|
Dim LIST = New List(Of EABelegPositionen)
|
||||||
|
Dim p = New EABelegPositionen
|
||||||
|
p.Mandant = "VERA"
|
||||||
|
p.Niederlassung = "SUB"
|
||||||
|
p.Benutzer = 74
|
||||||
|
p.BelegDat = Now
|
||||||
|
p.BelegNr = 1
|
||||||
|
p.PreislistenNr = 1
|
||||||
|
p.PreislistenPos = 1
|
||||||
|
p.LeistungsNr = 300
|
||||||
|
p.LeistungsBez = "TEST"
|
||||||
|
p.Preis = 10
|
||||||
|
p.Anzahl = 1
|
||||||
|
LIST.Add(p)
|
||||||
|
|
||||||
|
Dim amount = 100
|
||||||
|
Dim vat = 0
|
||||||
|
Dim POS = LIST
|
||||||
|
Dim kindOfPayment = "Cash"
|
||||||
|
|
||||||
|
Dim payload As JsonObject = BuildPayloadReceipt(amount, vat, POS, kindOfPayment, posSystemId, "Storno", reference, TSEisOnline)
|
||||||
|
|
||||||
|
Return SendChilkat(GetEndpoint("storno"), payload.Emit())
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function ChancelReceipt_test(reference As String, posSystemId As String) As String
|
Public Function SignReceipt(amount As Decimal, vat As Decimal, POS As List(Of EABelegPositionen), kindOfPayment As String, posSystemId As String, typOfReceiptCase As String, reference As String, TESisOnline As Boolean) As String
|
||||||
|
Try
|
||||||
|
Dim payload As JsonObject = BuildPayloadReceipt(amount, vat, POS, kindOfPayment, posSystemId, typOfReceiptCase, reference, TESisOnline)
|
||||||
|
|
||||||
Dim LIST = New List(Of EABelegPositionen)
|
Return SendChilkat(GetEndpoint("payment"), payload.Emit())
|
||||||
Dim p = New EABelegPositionen
|
Catch ex As Exception
|
||||||
p.Mandant = "VERA"
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
p.Niederlassung = "SUB"
|
End Try
|
||||||
p.Benutzer = 74
|
|
||||||
p.BelegDat = Now
|
|
||||||
p.BelegNr = 1
|
|
||||||
p.PreislistenNr = 1
|
|
||||||
p.PreislistenPos = 1
|
|
||||||
p.LeistungsNr = 300
|
|
||||||
p.LeistungsBez = "TEST"
|
|
||||||
p.Preis = 10
|
|
||||||
p.Anzahl = 1
|
|
||||||
LIST.Add(p)
|
|
||||||
|
|
||||||
Dim amount = 100
|
|
||||||
Dim vat = 0
|
|
||||||
Dim POS = LIST
|
|
||||||
Dim kindOfPayment = "Cash"
|
|
||||||
|
|
||||||
Dim payload As JsonObject = BuildPayloadReceipt(amount, vat, POS, kindOfPayment, posSystemId, "Storno", reference)
|
|
||||||
|
|
||||||
Return SendChilkat(GetEndpoint("storno"), payload.Emit())
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
Public Function SignNullReceipt(posSystemId As String) As String
|
Public Function SignNullReceipt(posSystemId As String) As String
|
||||||
Return SendChilkat(GetEndpoint("payment"), BuildPayloadNullReceipt(posSystemId, _country).Emit())
|
Try
|
||||||
|
Return SendChilkat(GetEndpoint("payment"), BuildPayloadNullReceipt(posSystemId, _country).Emit())
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function ChancelReceipt(reference As String, amount As Decimal, vat As Decimal, POS As List(Of EABelegPositionen), kindOfPayment As String, posSystemId As String, TSEisOnline As Boolean) As String
|
||||||
|
Try
|
||||||
|
Dim payload As JsonObject = BuildPayloadReceipt(amount, vat, POS, kindOfPayment, posSystemId, "Storno", reference, TSEisOnline)
|
||||||
|
|
||||||
|
Return SendChilkat(GetEndpoint("storno"), payload.Emit())
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function SignOutOfOrderReceipt(posSystemId As String) As String
|
Public Function SignOutOfOrderReceipt(posSystemId As String) As String
|
||||||
Return SendChilkat(GetEndpoint("payment"), BuildPayloadOutOfOperationReceipt(posSystemId, _country).Emit())
|
Try
|
||||||
|
Return SendChilkat(GetEndpoint("payment"), BuildPayloadOutOfOperationReceipt(posSystemId, _country).Emit())
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function SignOInitialOperationReceipt(posSystemId As String) As String
|
Public Function SignTempOutOfOrderReceipt(posSystemId As String) As String
|
||||||
Return SendChilkat(GetEndpoint("payment"), BuildPayloadInitialOperationReceipt(posSystemId, _country).Emit())
|
Try
|
||||||
|
Return SendChilkat(GetEndpoint("payment"), BuildPayloadOutOfOperationReceipt(posSystemId, _country).Emit())
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function SignInitialOperationReceipt(posSystemId As String) As String
|
||||||
|
Try
|
||||||
|
Return SendChilkat(GetEndpoint("payment"), BuildPayloadInitialOperationReceipt(posSystemId, _country).Emit())
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function SignClosingReceipt(receiptType As String, posSystemId As String, kind As String) As String
|
Public Function SignClosingReceipt(receiptType As String, posSystemId As String, kind As String) As String
|
||||||
Return SendChilkat(GetEndpoint("payment"), BuildPayloadClosingReceipt(receiptType, posSystemId, kind).Emit())
|
Try
|
||||||
|
Return SendChilkat(GetEndpoint("payment"), BuildPayloadClosingReceipt(receiptType, posSystemId, kind).Emit())
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function Echo(kassenName As String) As String
|
Public Function Echo(kassenName As String) As String
|
||||||
|
Try
|
||||||
|
Dim json As New JsonObject()
|
||||||
|
json.UpdateString("Message", kassenName & " - VERBINDUNG OK")
|
||||||
|
|
||||||
Dim json As New JsonObject()
|
Return SendChilkat(GetEndpoint("test"), json.Emit())
|
||||||
json.UpdateString("Message", kassenName & " - VERBINDUNG OK")
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
Return SendChilkat(GetEndpoint("test"), json.Emit())
|
End Try
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function Journal(ftJournalType As Integer) As String
|
Public Function Journal(ftJournalType As Integer) As String
|
||||||
|
Try
|
||||||
|
|
||||||
Dim endpoint = GetEndpoint("journal")
|
Dim endpoint = GetEndpoint("journal")
|
||||||
|
|
||||||
endpoint &= "?type=" & ftJournalType
|
endpoint &= "?type=" & ftJournalType
|
||||||
|
|
||||||
Return SendChilkat(endpoint, "")
|
Return SendChilkat(endpoint, "")
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
@@ -289,9 +366,12 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
|
|
||||||
Throw lastEx
|
Throw lastEx
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function BuildPayloadReceipt(amount As Decimal, vat As Decimal, POS As List(Of EABelegPositionen), kindOfPayment As String, posSystemId As String, _receiptCase As String, _reference As String) As JsonObject
|
Private Function BuildPayloadReceipt(amount As Decimal, vat As Decimal, POS As List(Of EABelegPositionen), kindOfPayment As String, posSystemId As String, _receiptCase As String, _reference As String, TSEisOnline As Boolean) As JsonObject
|
||||||
|
|
||||||
Dim json As New JsonObject()
|
Dim json As New JsonObject()
|
||||||
|
|
||||||
@@ -312,49 +392,64 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
|
|
||||||
If _receiptCase = "Storno" Then
|
If _receiptCase = "Storno" Then
|
||||||
|
|
||||||
' New reference for the Storno receipt
|
|
||||||
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
|
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
|
||||||
|
|
||||||
' Reference to the original receipt from the database
|
|
||||||
json.UpdateString("cbPreviousReceiptReference", _reference)
|
json.UpdateString("cbPreviousReceiptReference", _reference)
|
||||||
|
|
||||||
' Storno = POS receipt + reversal + implicit transaction
|
If TSEisOnline Then
|
||||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction
|
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction
|
||||||
|
Else
|
||||||
|
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
|
||||||
|
End If
|
||||||
|
|
||||||
|
ElseIf _receiptCase = "Retry" Then
|
||||||
|
|
||||||
|
'Receipt-Request nach Kommunikationsfehler
|
||||||
|
'dieselbe cbReceiptReference verwenden
|
||||||
|
'dieselben cbChargeItems und cbPayItems mitsenden
|
||||||
|
'optional dieselbe cbTerminalID
|
||||||
|
|
||||||
|
json.UpdateString("cbReceiptReference", _reference)
|
||||||
|
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReceiptRequest
|
||||||
|
|
||||||
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
|
||||||
' Normal sale
|
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction
|
||||||
|
Else
|
||||||
'Select Case _receiptCase
|
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
|
||||||
' Case "Eingang"
|
End If
|
||||||
' receipCase = FtReceiptCases.CashIn Or FtReceiptCases.ImplicitTransaction
|
|
||||||
' Case "Ausgang"
|
|
||||||
' receipCase = FtReceiptCases.CashOut Or FtReceiptCases.ImplicitTransaction
|
|
||||||
' Case Else
|
|
||||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction
|
|
||||||
'End Select
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
json.UpdateString("ftReceiptCase", receipCase.ToString())
|
json.UpdateString("ftReceiptCase", receipCase.ToString())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dim chargeItems = json.AppendArray("cbChargeItems")
|
Dim chargeItems = json.AppendArray("cbChargeItems")
|
||||||
|
|
||||||
For Each p In POS
|
For Each p In POS
|
||||||
|
|
||||||
If chargeItems.AddObjectAt(-1) Then
|
If chargeItems.AddObjectAt(-1) Then
|
||||||
|
|
||||||
|
|
||||||
|
Dim quantity As Double = p.Anzahl
|
||||||
|
Dim unitPrice As Double = p.Preis
|
||||||
|
Dim lineAmount As Double = p.Betrag
|
||||||
|
|
||||||
|
'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)'
|
||||||
|
'https://docs.fiskaltrust.cloud/docs/poscreators/middleware-doc/germany/reference-tables/ftreceiptcase
|
||||||
|
|
||||||
|
If _receiptCase = "Storno" Then
|
||||||
|
quantity = quantity * -1
|
||||||
|
lineAmount = lineAmount * -1
|
||||||
|
End If
|
||||||
|
|
||||||
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
|
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
|
||||||
item.UpdateInt("Quantity", p.Anzahl)
|
item.UpdateInt("Quantity", quantity)
|
||||||
item.UpdateNumber("Amount", p.Preis.ToString().Replace(",", "."))
|
item.UpdateNumber("Amount", lineAmount)
|
||||||
item.UpdateNumber("VATRate", vat.ToString().Replace(",", "."))
|
item.UpdateNumber("VATRate", vat)
|
||||||
item.UpdateString("Description", p.LeistungsBez)
|
item.UpdateString("Description", p.LeistungsBez)
|
||||||
|
|
||||||
Dim ChargeItemCase As Long
|
Dim ChargeItemCase As Long
|
||||||
@@ -430,8 +525,6 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
json.UpdateString("cbUser", "Admin")
|
json.UpdateString("cbUser", "Admin")
|
||||||
json.UpdateString("ftReceiptCaseData", "")
|
json.UpdateString("ftReceiptCaseData", "")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dim chargeItems = json.AppendArray("cbChargeItems")
|
Dim chargeItems = json.AppendArray("cbChargeItems")
|
||||||
Dim payItems = json.AppendArray("cbPayItems")
|
Dim payItems = json.AppendArray("cbPayItems")
|
||||||
|
|
||||||
@@ -573,7 +666,14 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
.ftReceiptIdentification = json.StringOf("ftReceiptIdentification")
|
.ftReceiptIdentification = json.StringOf("ftReceiptIdentification")
|
||||||
.ftReceiptMoment = ftReceiptMoment.GetAsTimestamp(getAsLocal)
|
.ftReceiptMoment = ftReceiptMoment.GetAsTimestamp(getAsLocal)
|
||||||
.ftState = json.StringOf("ftState")
|
.ftState = json.StringOf("ftState")
|
||||||
.ftBeleg_ID = beleg_temp.BelegNr
|
|
||||||
|
If beleg_temp Is Nothing Then
|
||||||
|
.ftBeleg_ID = -1
|
||||||
|
Else
|
||||||
|
.ftBeleg_ID = beleg_temp.BelegNr
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
saved = .SAVE()
|
saved = .SAVE()
|
||||||
|
|
||||||
If saved AndAlso beleg_temp IsNot Nothing Then
|
If saved AndAlso beleg_temp IsNot Nothing Then
|
||||||
@@ -594,8 +694,8 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
|
|
||||||
Dim num As Integer = json.SizeOfArray("ftSignatures")
|
Dim num As Integer = json.SizeOfArray("ftSignatures")
|
||||||
If num = 0 Then
|
If num = 0 Then
|
||||||
MsgBox("Signatureinheit liefert keine (gültige) Signatur, Signatureinheit ausgefallen!")
|
MsgBox("Signatureinheit liefert keine (gültige) Signatur, Signatureinheit ausgefallen" & vbNewLine & "Beleg kann nachträglich signiert werden!")
|
||||||
Return True
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim Signatures As Chilkat.JsonArray = json.ArrayOf("ftSignatures")
|
Dim Signatures As Chilkat.JsonArray = json.ArrayOf("ftSignatures")
|
||||||
@@ -714,15 +814,8 @@ Public Class cFiskaltrustClient_chilkat
|
|||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
Private Sub Log(message As String)
|
|
||||||
Console.WriteLine(message)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Function PrettyPrintJson(jsonText As String) As String
|
Public Function PrettyPrintJson(jsonText As String) As String
|
||||||
|
|
||||||
Dim json As New Chilkat.JsonObject()
|
Dim json As New Chilkat.JsonObject()
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ Public Class cRKSV
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
Shared Function insertRKSVFiskaltrustAsync(ByVal kasse As cRKSV_Kasse, beleg_temp As EABeleg, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, TEST As Boolean, ByRef QR_CodeString As String, ByRef LastJWS As String, ByRef typOfReceiptCase As String) As Boolean
|
Shared Function insertRKSVFiskaltrustAsync(ByVal kasse As cRKSV_Kasse, beleg_temp As EABeleg, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, TEST As Boolean, ByRef QR_CodeString As String, ByRef LastJWS As String, ByRef typOfReceiptCase As String, Optional reference As String = "", Optional TSEisOnline As Boolean = True) As Boolean
|
||||||
Try
|
Try
|
||||||
|
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ Public Class cRKSV
|
|||||||
'End If
|
'End If
|
||||||
Else
|
Else
|
||||||
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
|
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)
|
Dim result = client.SignReceipt(summeBRUTTO, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id, typOfReceiptCase, reference, TSEisOnline)
|
||||||
If result <> "" Then
|
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
|
||||||
@@ -968,7 +968,7 @@ Public Class cRKSV
|
|||||||
End Try
|
End Try
|
||||||
Return False
|
Return False
|
||||||
End Function
|
End Function
|
||||||
Shared Function stornoRKSV_FT(ByVal kasse As cRKSV_Kasse, ByVal beleg_temp As EABeleg, ByRef QR_CodeString As String, ByRef LastJWS As String, ByRef answer As String) As Boolean
|
Shared Function stornoRKSV_FT(ByVal kasse As cRKSV_Kasse, ByVal beleg_temp As EABeleg, ByRef QR_CodeString As String, ByRef LastJWS As String, ByRef answer As String, TSEisOnline As Boolean) As Boolean
|
||||||
Try
|
Try
|
||||||
|
|
||||||
If beleg_temp.rksv_BelegId <= 0 Then
|
If beleg_temp.rksv_BelegId <= 0 Then
|
||||||
@@ -1013,7 +1013,7 @@ Public Class cRKSV
|
|||||||
|
|
||||||
Else
|
Else
|
||||||
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
|
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.ChancelReceipt(beleg_temp.FT_ReceiptReference, beleg_temp.rksv_umsatz, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id)
|
Dim result = client.ChancelReceipt(beleg_temp.FT_ReceiptReference, beleg_temp.rksv_umsatz, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id, TSEisOnline)
|
||||||
If result <> "" Then
|
If result <> "" Then
|
||||||
client.saveRKSV_FT(result, QR_CodeString, beleg_temp, True)
|
client.saveRKSV_FT(result, QR_CodeString, beleg_temp, True)
|
||||||
Else
|
Else
|
||||||
|
|||||||
@@ -404,6 +404,12 @@ Public Class cAutomailversand
|
|||||||
Subject = Subject.Replace("%Belegtyp%", belegtyp)
|
Subject = Subject.Replace("%Belegtyp%", belegtyp)
|
||||||
Subject = Subject.Replace("%BelegNr%", txtRgNr)
|
Subject = Subject.Replace("%BelegNr%", txtRgNr)
|
||||||
|
|
||||||
|
If RECHNUNG IsNot Nothing Then
|
||||||
|
Subject = Subject.Replace("%FilialNr%%AbfertigungsNr%-%UnterNr%", RECHNUNG.FilialenNr & "-" & RECHNUNG.AbfertigungsNr & "-" & RECHNUNG.UnterNr)
|
||||||
|
Else
|
||||||
|
Subject = Subject.Replace("%FilialNr%%AbfertigungsNr%-%UnterNr%", "")
|
||||||
|
End If
|
||||||
|
|
||||||
TextHTML &= r.txt_text
|
TextHTML &= r.txt_text
|
||||||
|
|
||||||
TextHTML = TextHTML.Replace("%Belegtyp%", belegtyp)
|
TextHTML = TextHTML.Replace("%Belegtyp%", belegtyp)
|
||||||
|
|||||||
@@ -3058,6 +3058,9 @@ Public Class cFakturierung
|
|||||||
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(RECHNUNG.Firma_ID)
|
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(RECHNUNG.Firma_ID)
|
||||||
Dim desc As InvoiceDescriptor = InvoiceDescriptor.CreateInvoice(addYeartoRgNr(FIRMA.Firma_ID, RECHNUNG.Buchungsjahr) & RECHNUNG.RechnungsNr, RECHNUNG.RechnungsDatum, IIf(FIRMA.Firma_ID = 26, CurrencyCodes.GBP, CurrencyCodes.EUR))
|
Dim desc As InvoiceDescriptor = InvoiceDescriptor.CreateInvoice(addYeartoRgNr(FIRMA.Firma_ID, RECHNUNG.Buchungsjahr) & RECHNUNG.RechnungsNr, RECHNUNG.RechnungsDatum, IIf(FIRMA.Firma_ID = 26, CurrencyCodes.GBP, CurrencyCodes.EUR))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Select Case RECHNUNG.BelegartenKz
|
Select Case RECHNUNG.BelegartenKz
|
||||||
Case "AR"
|
Case "AR"
|
||||||
desc.Name = "SPEDITIONSRECHNUNG"
|
desc.Name = "SPEDITIONSRECHNUNG"
|
||||||
@@ -3108,29 +3111,34 @@ Public Class cFakturierung
|
|||||||
|
|
||||||
' Optionally, to support Peppol-----------------------------
|
' Optionally, to support Peppol-----------------------------
|
||||||
|
|
||||||
|
If RECHNUNG.FilialenNr > 0 AndAlso RECHNUNG.AbfertigungsNr > 0 Then
|
||||||
|
Dim lrn = RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr
|
||||||
|
desc.AddAdditionalReferencedDocument(lrn, AdditionalReferencedDocumentTypeCode.ReferenceDocument)
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
If Not IsDBNull(RECHNUNG.RechnungsUstIdNr) AndAlso RECHNUNG.RechnungsUstIdNr IsNot Nothing AndAlso Not IsDBNull(RECHNUNG.RechnungsUstIdKz) AndAlso RECHNUNG.RechnungsUstIdKz IsNot Nothing Then
|
If Not IsDBNull(RECHNUNG.RechnungsUstIdNr) AndAlso RECHNUNG.RechnungsUstIdNr IsNot Nothing AndAlso Not IsDBNull(RECHNUNG.RechnungsUstIdKz) AndAlso RECHNUNG.RechnungsUstIdKz IsNot Nothing Then
|
||||||
desc.AddBuyerTaxRegistration(RECHNUNG.RechnungsUstIdKz & RECHNUNG.RechnungsUstIdNr, TaxRegistrationSchemeID.VA)
|
desc.AddBuyerTaxRegistration(RECHNUNG.RechnungsUstIdKz & RECHNUNG.RechnungsUstIdNr, TaxRegistrationSchemeID.VA)
|
||||||
If vatBuyer Then
|
If vatBuyer Then
|
||||||
desc.SetBuyerElectronicAddress(RECHNUNG.RechnungsUstIdKz & RECHNUNG.RechnungsUstIdNr, vatBuyer)
|
desc.SetBuyerElectronicAddress(RECHNUNG.RechnungsUstIdKz & RECHNUNG.RechnungsUstIdNr, vatBuyer)
|
||||||
desc.SetSellerElectronicAddress(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), vatSeller)
|
desc.SetSellerElectronicAddress(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), vatSeller)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
'-----------------------------
|
||||||
|
desc.ActualDeliveryDate = (RECHNUNG.Abfertigungsdatum)
|
||||||
|
|
||||||
|
Dim steuerProzent As Double = SQL.DLookup(" isnull([Steuersatz %],0)", "[Steuertabelle] ", "[Steuerschlüssel]='" & checkNull(RECHNUNG.Steuerschlüssel) & "'", "FMZOLL", 0)
|
||||||
|
Dim steuerProzenFaktor As Double = 0
|
||||||
|
If steuerProzent > 0 AndAlso steuerProzent < 1 Then
|
||||||
|
steuerProzenFaktor = steuerProzent * 100
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
|
||||||
'-----------------------------
|
|
||||||
desc.ActualDeliveryDate = (RECHNUNG.Abfertigungsdatum)
|
|
||||||
|
|
||||||
Dim steuerProzent As Double = SQL.DLookup(" isnull([Steuersatz %],0)", "[Steuertabelle] ", "[Steuerschlüssel]='" & checkNull(RECHNUNG.Steuerschlüssel) & "'", "FMZOLL", 0)
|
Dim sumNetto As Double = 0
|
||||||
Dim steuerProzenFaktor As Double = 0
|
For Each p In RECHNUNG.POSITIONEN
|
||||||
If steuerProzent > 0 AndAlso steuerProzent < 1 Then
|
|
||||||
steuerProzenFaktor = steuerProzent * 100
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem(
|
||||||
Dim sumNetto As Double = 0
|
|
||||||
For Each p In RECHNUNG.POSITIONEN
|
|
||||||
|
|
||||||
Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem(
|
|
||||||
name:=p.LeistungsBez,
|
name:=p.LeistungsBez,
|
||||||
billedQuantity:=Convert.ToDecimal(p.Anzahl),
|
billedQuantity:=Convert.ToDecimal(p.Anzahl),
|
||||||
unitCode:=QuantityCodes.C62, ' immer in Stück
|
unitCode:=QuantityCodes.C62, ' immer in Stück
|
||||||
@@ -3140,27 +3148,27 @@ Public Class cFakturierung
|
|||||||
taxPercent:=IIf(p.Steuerpflichtig, Convert.ToDecimal(RECHNUNG.Steuersatz_Proz * 100), 0),
|
taxPercent:=IIf(p.Steuerpflichtig, Convert.ToDecimal(RECHNUNG.Steuersatz_Proz * 100), 0),
|
||||||
taxType:=IIf(p.Steuerpflichtig, TaxTypes.VAT, TaxTypes.VAT)
|
taxType:=IIf(p.Steuerpflichtig, TaxTypes.VAT, TaxTypes.VAT)
|
||||||
)
|
)
|
||||||
Dim netUnitPrice = Convert.ToDecimal(p.Preis)
|
Dim netUnitPrice = Convert.ToDecimal(p.Preis)
|
||||||
Dim grossUnitPrice = IIf(p.Steuerpflichtig, Convert.ToDecimal(p.Preis * (1 + RECHNUNG.Steuersatz_Proz)), Convert.ToDecimal(p.Preis))
|
Dim grossUnitPrice = IIf(p.Steuerpflichtig, Convert.ToDecimal(p.Preis * (1 + RECHNUNG.Steuersatz_Proz)), Convert.ToDecimal(p.Preis))
|
||||||
Dim netPricePos = netUnitPrice * Convert.ToDecimal(p.Anzahl)
|
Dim netPricePos = netUnitPrice * Convert.ToDecimal(p.Anzahl)
|
||||||
sumNetto += netPricePos
|
sumNetto += netPricePos
|
||||||
Next
|
Next
|
||||||
|
|
||||||
'Summe aller Rechnungspositions-Nettobeträge der Rechnung
|
'Summe aller Rechnungspositions-Nettobeträge der Rechnung
|
||||||
Dim lineTotalAmont = sumNetto
|
Dim lineTotalAmont = sumNetto
|
||||||
'Der Gesamtbetrag der Umsatzsteuer für die Rechnung,
|
'Der Gesamtbetrag der Umsatzsteuer für die Rechnung,
|
||||||
'IIf(RECHNUNG.SteuerpflichtigerGesamtbetrag <> 0, Math.Round(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2), 0) ??????????????????
|
'IIf(RECHNUNG.SteuerpflichtigerGesamtbetrag <> 0, Math.Round(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2), 0) ??????????????????
|
||||||
Dim taxTotalAmount = IIf(RECHNUNG.SteuerpflichtigerGesamtbetrag <> 0, Math.Round(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2, MidpointRounding.AwayFromZero), 0)
|
Dim taxTotalAmount = IIf(RECHNUNG.SteuerpflichtigerGesamtbetrag <> 0, Math.Round(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2, MidpointRounding.AwayFromZero), 0)
|
||||||
' Die Gesamtsumme der Rechnung ohne Umsatzsteuer ' RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0
|
' Die Gesamtsumme der Rechnung ohne Umsatzsteuer ' RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0
|
||||||
Dim taxBasisAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0 - taxTotalAmount)
|
Dim taxBasisAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0 - taxTotalAmount)
|
||||||
'Der Gesamtbetrag der Rechnung mit Umsatzsteuer
|
'Der Gesamtbetrag der Rechnung mit Umsatzsteuer
|
||||||
'Dim grandTotalAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + taxTotalAmount)
|
'Dim grandTotalAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + taxTotalAmount)
|
||||||
Dim grandTotalAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
|
Dim grandTotalAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
|
||||||
'Der ausstehende Betrag, um dessen Zahlung gebeten wird. Dieser Betrag ist der Rechnungsgesamtbetrag einschließlich Umsatzsteuer abzüglich des im Voraus gezahlten Betrages.Im Falle einer vollständig beglichenen Rechnung ist dieser Betrag gleich null. Der Betrag kann negativ sein; In diesem Fall schuldet der Verkäufer dem Käufer den Betrag
|
'Der ausstehende Betrag, um dessen Zahlung gebeten wird. Dieser Betrag ist der Rechnungsgesamtbetrag einschließlich Umsatzsteuer abzüglich des im Voraus gezahlten Betrages.Im Falle einer vollständig beglichenen Rechnung ist dieser Betrag gleich null. Der Betrag kann negativ sein; In diesem Fall schuldet der Verkäufer dem Käufer den Betrag
|
||||||
'Dim duePayableAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + taxTotalAmount)
|
'Dim duePayableAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + taxTotalAmount)
|
||||||
Dim duePayableAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
|
Dim duePayableAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
|
||||||
|
|
||||||
desc.SetTotals(
|
desc.SetTotals(
|
||||||
lineTotalAmount:=Convert.ToDecimal(lineTotalAmont),
|
lineTotalAmount:=Convert.ToDecimal(lineTotalAmont),
|
||||||
chargeTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Zuschläge der Dokumentenebene
|
chargeTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Zuschläge der Dokumentenebene
|
||||||
allowanceTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Abschläge der Dokumenteneben
|
allowanceTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Abschläge der Dokumenteneben
|
||||||
@@ -3173,96 +3181,96 @@ Public Class cFakturierung
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
desc.AddTradePaymentTerms(RECHNUNG.TextZZ, zahlungszieldatum)
|
desc.AddTradePaymentTerms(RECHNUNG.TextZZ, zahlungszieldatum)
|
||||||
|
|
||||||
'If RECHNUNG.TextZZ.ToString.Contains("Abbuchungsauftrag") Then
|
'If RECHNUNG.TextZZ.ToString.Contains("Abbuchungsauftrag") Then
|
||||||
' desc.SetPaymentMeansSepaDirectDebit("", "")
|
' desc.SetPaymentMeansSepaDirectDebit("", "")
|
||||||
'Else
|
'Else
|
||||||
desc.SetPaymentMeans(PaymentMeansTypeCodes.SEPACreditTransfer, RECHNUNG.TextZZ)
|
desc.SetPaymentMeans(PaymentMeansTypeCodes.SEPACreditTransfer, RECHNUNG.TextZZ)
|
||||||
'End If
|
'End If
|
||||||
|
|
||||||
Dim isReverseCharge = isReverseChargeSumme(FIRMA, RECHNUNG)
|
Dim isReverseCharge = isReverseChargeSumme(FIRMA, RECHNUNG)
|
||||||
If isReverseCharge Then
|
If isReverseCharge Then
|
||||||
Select Case RECHNUNG.RechnungSprache
|
Select Case RECHNUNG.RechnungSprache
|
||||||
Case "EN" : desc.AddNote("The VAT liability is transferred to the recipient of the service (reverse charge system).", SubjectCodes.AAI)
|
Case "EN" : desc.AddNote("The VAT liability is transferred to the recipient of the service (reverse charge system).", SubjectCodes.AAI)
|
||||||
Case Else : desc.AddNote("Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren).", SubjectCodes.AAI)
|
Case Else : desc.AddNote("Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren).", SubjectCodes.AAI)
|
||||||
End Select
|
End Select
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If RECHNUNG.SteuerfreierGesamtbetrag > 0 Then
|
If RECHNUNG.SteuerfreierGesamtbetrag > 0 Then
|
||||||
desc.AddApplicableTradeTax(Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag), 0, 0, TaxTypes.VAT, TaxCategoryCodes.Z)
|
desc.AddApplicableTradeTax(Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag), 0, 0, TaxTypes.VAT, TaxCategoryCodes.Z)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If RECHNUNG.SteuerpflichtigerGesamtbetrag > 0 Then
|
If RECHNUNG.SteuerpflichtigerGesamtbetrag > 0 Then
|
||||||
desc.AddApplicableTradeTax(Convert.ToDecimal(taxBasisAmount - RECHNUNG.SteuerfreierGesamtbetrag), Convert.ToDecimal(steuerProzenFaktor), Convert.ToDecimal(taxTotalAmount), TaxTypes.VAT, IIf(isReverseCharge, TaxCategoryCodes.AE, TaxCategoryCodes.S))
|
desc.AddApplicableTradeTax(Convert.ToDecimal(taxBasisAmount - RECHNUNG.SteuerfreierGesamtbetrag), Convert.ToDecimal(steuerProzenFaktor), Convert.ToDecimal(taxTotalAmount), TaxTypes.VAT, IIf(isReverseCharge, TaxCategoryCodes.AE, TaxCategoryCodes.S))
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Select Case FIRMA.Firma_ID
|
Select Case FIRMA.Firma_ID
|
||||||
Case 21, 22, 23 '"UNISPED"
|
Case 21, 22, 23 '"UNISPED"
|
||||||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||||||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||||||
|
|
||||||
|
|
||||||
Case 26 'VERAG-UNISPED"
|
Case 26 'VERAG-UNISPED"
|
||||||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||||||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||||||
|
|
||||||
Case 24 'AMBAR"
|
Case 24 'AMBAR"
|
||||||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||||||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||||||
'Änderung Ticket_Nr.: 6983
|
'Änderung Ticket_Nr.: 6983
|
||||||
'desc.AddCreditorFinancialAccount("TR90 0006 2001 6040 0009 0804 66", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto")
|
'desc.AddCreditorFinancialAccount("TR90 0006 2001 6040 0009 0804 66", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto")
|
||||||
desc.AddCreditorFinancialAccount("TR67 0006 2000 5440 0009 0513 57", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto")
|
desc.AddCreditorFinancialAccount("TR67 0006 2000 5440 0009 0513 57", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto")
|
||||||
|
|
||||||
Case 20 '"IMEX"
|
Case 20 '"IMEX"
|
||||||
If RECHNUNG.RechnungsLandKz = "TR" Then
|
If RECHNUNG.RechnungsLandKz = "TR" Then
|
||||||
desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "",,, "Garanti Bank")
|
desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "",,, "Garanti Bank")
|
||||||
Else
|
|
||||||
If hasVK(RECHNUNG) Then
|
|
||||||
desc.AddCreditorFinancialAccount("AT35 4480 0365 7822 0002", "VBOEATWWOOE",,, "Volksbank Oberösterreich AG")
|
|
||||||
Else
|
Else
|
||||||
If hasEUSTZOLL(RECHNUNG.RechnungsNr) Then
|
If hasVK(RECHNUNG) Then
|
||||||
desc.AddCreditorFinancialAccount("AT62 4480 0365 7822 0001", "VBOEATWWOOE", )
|
desc.AddCreditorFinancialAccount("AT35 4480 0365 7822 0002", "VBOEATWWOOE",,, "Volksbank Oberösterreich AG")
|
||||||
Else
|
Else
|
||||||
desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "VBOEATWWOOE", ,, "Volksbank Oberösterreich AG")
|
If hasEUSTZOLL(RECHNUNG.RechnungsNr) Then
|
||||||
|
desc.AddCreditorFinancialAccount("AT62 4480 0365 7822 0001", "VBOEATWWOOE", )
|
||||||
|
Else
|
||||||
|
desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "VBOEATWWOOE", ,, "Volksbank Oberösterreich AG")
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Case 19
|
Case 19
|
||||||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||||||
|
|
||||||
Case Else 'VERAG,ATILLA
|
Case Else 'VERAG,ATILLA
|
||||||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||||||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
|
|
||||||
Dim tmpPathZugpferd = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("ZUGFeRD_Invoice_" & RECHNUNG.RechnungsNr, ".xml", True, False)
|
Dim tmpPathZugpferd = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("ZUGFeRD_Invoice_" & RECHNUNG.RechnungsNr, ".xml", True, False)
|
||||||
|
|
||||||
Using stream As New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write, FileShare.None)
|
Using stream As New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write, FileShare.None)
|
||||||
desc.Save(stream, ZUGFeRDVersion.Version20, Profile.Comfort)
|
desc.Save(stream, ZUGFeRDVersion.Version20, Profile.Comfort)
|
||||||
End Using
|
End Using
|
||||||
|
|
||||||
Return tmpPathZugpferd
|
Return tmpPathZugpferd
|
||||||
|
|
||||||
'Dim stream As FileStream = New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write)
|
'Dim stream As FileStream = New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write)
|
||||||
'desc.Save(stream, ZUGFeRDVersion.Version20, Profile.Comfort)
|
'desc.Save(stream, ZUGFeRDVersion.Version20, Profile.Comfort)
|
||||||
|
|
||||||
'stream.Flush()
|
'stream.Flush()
|
||||||
'stream.Close()
|
'stream.Close()
|
||||||
'Return tmpPathZugpferd
|
'Return tmpPathZugpferd
|
||||||
|
|
||||||
ElseIf Not einzelrechnung AndAlso SR_DT IsNot Nothing Then
|
ElseIf Not einzelrechnung AndAlso SR_DT IsNot Nothing Then
|
||||||
|
|
||||||
'---------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------
|
||||||
'--------------------------------SAMMELRECHNUNG-----------------------------------
|
'--------------------------------SAMMELRECHNUNG-----------------------------------
|
||||||
'---------------------------------------------------------------------------------
|
'---------------------------------------------------------------------------------
|
||||||
|
|
||||||
Dim ROW As DataRow = SR_DT.Rows(0)
|
Dim ROW As DataRow = SR_DT.Rows(0)
|
||||||
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(ROW("Firma_ID"))
|
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(ROW("Firma_ID"))
|
||||||
|
|
||||||
Dim RECHNUNG_AD As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
|
Dim RECHNUNG_AD As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
|
||||||
@@ -3297,6 +3305,17 @@ Public Class cFakturierung
|
|||||||
End Select
|
End Select
|
||||||
|
|
||||||
|
|
||||||
|
If Not IsDBNull(ROW("FilialenNr")) AndAlso Not IsDBNull(ROW("AbfertigungsNr")) Then
|
||||||
|
|
||||||
|
Dim filialenNr As String = ROW("FilialenNr").ToString().Trim()
|
||||||
|
Dim abfertigungsNr As String = ROW("AbfertigungsNr").ToString().Trim()
|
||||||
|
|
||||||
|
If filialenNr <> String.Empty AndAlso abfertigungsNr <> String.Empty Then
|
||||||
|
Dim lrn As String = filialenNr & "/" & abfertigungsNr
|
||||||
|
desc.AddAdditionalReferencedDocument(lrn, AdditionalReferencedDocumentTypeCode.ReferenceDocument)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
'Die „Berechnung BT-10“ bezieht sich auf das Feld BT-10 „Buyer reference“ (Käuferreferenz) in der elektronischen Rechnung, speziell im XRechnung-Standard. Dieses Feld dient zur Angabe der Leitweg-ID
|
'Die „Berechnung BT-10“ bezieht sich auf das Feld BT-10 „Buyer reference“ (Käuferreferenz) in der elektronischen Rechnung, speziell im XRechnung-Standard. Dieses Feld dient zur Angabe der Leitweg-ID
|
||||||
'für öffentliche Auftraggeber oder anderer Referenzinformationen für interne Zuordnungsprozesse.
|
'für öffentliche Auftraggeber oder anderer Referenzinformationen für interne Zuordnungsprozesse.
|
||||||
'Die Leitweg-ID ist in Deutschland eine Pflichtangabe für elektronische Rechnungen an die Bundesverwaltung und muss vom Rechnungssteller vom Auftraggeber erhalten werden.
|
'Die Leitweg-ID ist in Deutschland eine Pflichtangabe für elektronische Rechnungen an die Bundesverwaltung und muss vom Rechnungssteller vom Auftraggeber erhalten werden.
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ Imports System.Reflection
|
|||||||
Imports System.Text.RegularExpressions
|
Imports System.Text.RegularExpressions
|
||||||
Imports System.Windows.Documents
|
Imports System.Windows.Documents
|
||||||
Imports com.sun.tools.internal.ws.wsdl.document.mime
|
Imports com.sun.tools.internal.ws.wsdl.document.mime
|
||||||
|
Imports DAKOSY_Worker.Abgabenbescheid_008
|
||||||
Imports GrapeCity.ActiveReports
|
Imports GrapeCity.ActiveReports
|
||||||
|
Imports GrapeCity.DataVisualization.TypeScript
|
||||||
Imports itextsharp.text.pdf
|
Imports itextsharp.text.pdf
|
||||||
Imports Microsoft.Office.Interop
|
Imports Microsoft.Office.Interop
|
||||||
Imports VERAG_PROG_ALLGEMEIN
|
Imports VERAG_PROG_ALLGEMEIN
|
||||||
@@ -1171,136 +1173,136 @@ Public Class frmFormulare
|
|||||||
|
|
||||||
|
|
||||||
For Each c In MyFlowLayoutPanel1.Controls
|
For Each c In MyFlowLayoutPanel1.Controls
|
||||||
Dim pfadList As List(Of String) = FormularManagerNEU.genPDF(c,,,,, listMail)
|
Dim pfadList As List(Of String) = FormularManagerNEU.genPDF(c,,,,, listMail)
|
||||||
For Each pfad In pfadList
|
For Each pfad In pfadList
|
||||||
If pfad <> "" Then list.Add(pfad)
|
If pfad <> "" Then list.Add(pfad)
|
||||||
Next
|
|
||||||
Next
|
Next
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
Dim dest_path = ""
|
Dim dest_path = ""
|
||||||
If list.Count = 0 Then Me.Cursor = Cursors.Default : Exit Sub
|
If list.Count = 0 Then Me.Cursor = Cursors.Default : Exit Sub
|
||||||
|
|
||||||
If list.Count = 1 Then
|
If list.Count = 1 Then
|
||||||
dest_path = list(0)
|
dest_path = list(0)
|
||||||
Else
|
Else
|
||||||
dest_path = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & attachmentName & ".pdf", ".pdf", False, False)
|
dest_path = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & attachmentName & ".pdf", ".pdf", False, False)
|
||||||
If Not FormularManagerNEU.MergePdfFiles(list, dest_path) Then
|
If Not FormularManagerNEU.MergePdfFiles(list, dest_path) Then
|
||||||
dest_path = "" : MsgBox("Fehler PDF")
|
dest_path = "" : MsgBox("Fehler PDF")
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If dest_path <> "" Then
|
If dest_path <> "" Then
|
||||||
If sender Is Button2 Then
|
If sender Is Button2 Then
|
||||||
Process.Start(dest_path)
|
Process.Start(dest_path)
|
||||||
ElseIf sender Is btn Then
|
ElseIf sender Is btn Then
|
||||||
'System.Diagnostics.Process.Start("mailto:" & "" & "?subject=" & "?" & "&body=" & "?" & "&attachment=" & dest_path)
|
'System.Diagnostics.Process.Start("mailto:" & "" & "?subject=" & "?" & "&body=" & "?" & "&attachment=" & dest_path)
|
||||||
Try
|
Try
|
||||||
|
|
||||||
If listMail IsNot Nothing AndAlso listMail.Count > 0 Then
|
If listMail IsNot Nothing AndAlso listMail.Count > 0 Then
|
||||||
For Each l In listMail
|
For Each l In listMail
|
||||||
Dim outl As New Outlook.Application
|
|
||||||
|
|
||||||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
|
||||||
Mail = outl.CreateItem(0)
|
|
||||||
|
|
||||||
'Dim StandAcc = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getdefaultOutlookAccount(outl)
|
|
||||||
'If StandAcc IsNot Nothing Then Mail.SendUsingAccount = StandAcc
|
|
||||||
|
|
||||||
If l.MailHTMLText <> "" Then Mail.HTMLBody = l.MailHTMLText
|
|
||||||
If l.Mail_To <> "" Then Mail.To = l.Mail_To
|
|
||||||
If l.Mail_CC <> "" Then Mail.CC = l.Mail_CC
|
|
||||||
If l.Mail_BCC <> "" Then Mail.CC = l.Mail_BCC
|
|
||||||
If l.Mail_Subject <> "" Then Mail.Subject = l.Mail_Subject
|
|
||||||
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
|
|
||||||
Try
|
|
||||||
Mail.SentOnBehalfOfName = SDL.cFakturierung.getDefaultMail("AMBAR")
|
|
||||||
Mail.HTMLBody &= cFakturierung.getSignature(cboTextKonserveSprache._value, 24, False, True)
|
|
||||||
Catch ex2 As Exception
|
|
||||||
MsgBox(ex2.Message)
|
|
||||||
End Try
|
|
||||||
End If
|
|
||||||
|
|
||||||
Mail.Attachments.Add(dest_path, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & attachmentName & ".pdf")
|
|
||||||
Mail.Display()
|
|
||||||
|
|
||||||
Next
|
|
||||||
Else
|
|
||||||
Dim outl As New Outlook.Application
|
Dim outl As New Outlook.Application
|
||||||
|
|
||||||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||||||
Mail = outl.CreateItem(0)
|
Mail = outl.CreateItem(0)
|
||||||
|
|
||||||
'MsgBox(VERAG_PROG_ALLGEMEIN.cProgramFunctions.printdefaultOutlookAccount(outl))
|
|
||||||
'Dim StandAcc = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getdefaultOutlookAccount(outl)
|
'Dim StandAcc = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getdefaultOutlookAccount(outl)
|
||||||
'Mail.SendUsingAccount = outl.Session.DefaultAccount
|
'If StandAcc IsNot Nothing Then Mail.SendUsingAccount = StandAcc
|
||||||
|
|
||||||
|
If l.MailHTMLText <> "" Then Mail.HTMLBody = l.MailHTMLText
|
||||||
|
If l.Mail_To <> "" Then Mail.To = l.Mail_To
|
||||||
|
If l.Mail_CC <> "" Then Mail.CC = l.Mail_CC
|
||||||
|
If l.Mail_BCC <> "" Then Mail.CC = l.Mail_BCC
|
||||||
|
If l.Mail_Subject <> "" Then Mail.Subject = l.Mail_Subject
|
||||||
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
|
||||||
Try
|
Try
|
||||||
Mail.SentOnBehalfOfName = SDL.cFakturierung.getDefaultMail("AMBAR")
|
Mail.SentOnBehalfOfName = SDL.cFakturierung.getDefaultMail("AMBAR")
|
||||||
Mail.HTMLBody &= cFakturierung.getSignature(cboTextKonserveSprache._value, 24, True, True)
|
Mail.HTMLBody &= cFakturierung.getSignature(cboTextKonserveSprache._value, 24, False, True)
|
||||||
Catch ex2 As Exception
|
Catch ex2 As Exception
|
||||||
MsgBox(ex2.Message)
|
MsgBox(ex2.Message)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
If Me.txtEmail.Text <> "" Then Mail.To = Me.txtEmail.Text
|
|
||||||
If cboTextkonserve._value <> "" AndAlso cboTextKonserveSprache._value <> "" Then
|
|
||||||
Dim tX As New VERAG_PROG_ALLGEMEIN.cTextkonserve("FRM_MNGR_MailText", cboTextkonserve._value, cboTextKonserveSprache._value, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA)
|
|
||||||
|
|
||||||
Dim TextHTML = ""
|
Mail.Attachments.Add(dest_path, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & attachmentName & ".pdf")
|
||||||
TextHTML &= tX.txt_text
|
Mail.Display()
|
||||||
TextHTML &= "<br>"
|
|
||||||
TextHTML &= "<br>"
|
Next
|
||||||
TextHTML &= "Mit freundlichen Grüßen<br>"
|
Else
|
||||||
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
|
Dim outl As New Outlook.Application
|
||||||
TextHTML &= "<br>"
|
|
||||||
TextHTML &= cFakturierung.getSignature(cboTextKonserveSprache._value, tX.txt_firmaSig, True, True)
|
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||||||
|
Mail = outl.CreateItem(0)
|
||||||
|
|
||||||
|
'MsgBox(VERAG_PROG_ALLGEMEIN.cProgramFunctions.printdefaultOutlookAccount(outl))
|
||||||
|
'Dim StandAcc = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getdefaultOutlookAccount(outl)
|
||||||
|
'Mail.SendUsingAccount = outl.Session.DefaultAccount
|
||||||
|
|
||||||
|
|
||||||
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
|
||||||
|
Try
|
||||||
|
Mail.SentOnBehalfOfName = SDL.cFakturierung.getDefaultMail("AMBAR")
|
||||||
|
Mail.HTMLBody &= cFakturierung.getSignature(cboTextKonserveSprache._value, 24, True, True)
|
||||||
|
Catch ex2 As Exception
|
||||||
|
MsgBox(ex2.Message)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
|
||||||
Mail.Subject = IIf(tX.txt_betreff <> "", tX.txt_betreff, " ")
|
End If
|
||||||
If AVISO IsNot Nothing Then
|
If Me.txtEmail.Text <> "" Then Mail.To = Me.txtEmail.Text
|
||||||
Mail.Subject = Mail.Subject.Replace("%LKW%", AVISO.LKW_Nr)
|
If cboTextkonserve._value <> "" AndAlso cboTextKonserveSprache._value <> "" Then
|
||||||
Mail.Subject = Mail.Subject.Replace("%LKWKennzeichen%", AVISO.LKW_Nr)
|
Dim tX As New VERAG_PROG_ALLGEMEIN.cTextkonserve("FRM_MNGR_MailText", cboTextkonserve._value, cboTextKonserveSprache._value, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA)
|
||||||
End If
|
|
||||||
Mail.Subject = Mail.Subject.Replace("%LKW%", "")
|
Dim TextHTML = ""
|
||||||
Mail.Subject = Mail.Subject.Replace("%LKWKennzeichen%", "")
|
TextHTML &= tX.txt_text
|
||||||
|
TextHTML &= "<br>"
|
||||||
|
TextHTML &= "<br>"
|
||||||
|
TextHTML &= "Mit freundlichen Grüßen<br>"
|
||||||
|
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
|
||||||
|
TextHTML &= "<br>"
|
||||||
|
TextHTML &= cFakturierung.getSignature(cboTextKonserveSprache._value, tX.txt_firmaSig, True, True)
|
||||||
|
|
||||||
|
|
||||||
|
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
|
||||||
|
|
||||||
|
|
||||||
|
Mail.Subject = IIf(tX.txt_betreff <> "", tX.txt_betreff, " ")
|
||||||
|
If AVISO IsNot Nothing Then
|
||||||
|
Mail.Subject = Mail.Subject.Replace("%LKW%", AVISO.LKW_Nr)
|
||||||
|
Mail.Subject = Mail.Subject.Replace("%LKWKennzeichen%", AVISO.LKW_Nr)
|
||||||
End If
|
End If
|
||||||
|
Mail.Subject = Mail.Subject.Replace("%LKW%", "")
|
||||||
|
Mail.Subject = Mail.Subject.Replace("%LKWKennzeichen%", "")
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Mail.Attachments.Add(dest_path, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & attachmentName & ".pdf")
|
Mail.Attachments.Add(dest_path, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & attachmentName & ".pdf")
|
||||||
Mail.Display()
|
Mail.Display()
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
'Dim matilPath = "C:\TEMP\VERAG_Mail.msg"
|
|
||||||
' Mail.SaveAs(matilPath)
|
|
||||||
' Process.Start(matilPath)
|
|
||||||
|
|
||||||
Catch ex As Exception
|
|
||||||
MsgBox("Fehler beim erstellen der E-Mail:" & vbNewLine & ex.Message & ex.StackTrace)
|
|
||||||
End Try
|
|
||||||
ElseIf sender Is btnPrint Then
|
|
||||||
'VERAG_PROG_ALLGEMEIN.cFormularManager.PrintFile(dest_path, "")
|
|
||||||
If dest_path.ToUpper.EndsWith("PDF") Then
|
|
||||||
VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({dest_path}, cboPrinter.SelectedItem.ToString)
|
|
||||||
Else
|
|
||||||
VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaGS(dest_path, cboPrinter.SelectedItem.ToString)
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
'Dim matilPath = "C:\TEMP\VERAG_Mail.msg"
|
||||||
|
' Mail.SaveAs(matilPath)
|
||||||
|
' Process.Start(matilPath)
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
MsgBox("Fehler beim erstellen der E-Mail:" & vbNewLine & ex.Message & ex.StackTrace)
|
||||||
|
End Try
|
||||||
|
ElseIf sender Is btnPrint Then
|
||||||
|
'VERAG_PROG_ALLGEMEIN.cFormularManager.PrintFile(dest_path, "")
|
||||||
|
If dest_path.ToUpper.EndsWith("PDF") Then
|
||||||
|
VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({dest_path}, cboPrinter.SelectedItem.ToString)
|
||||||
|
Else
|
||||||
|
VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaGS(dest_path, cboPrinter.SelectedItem.ToString)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
printed = True
|
printed = True
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
MsgBox(ex.Message & ex.StackTrace)
|
MsgBox(ex.Message & ex.StackTrace)
|
||||||
@@ -1316,7 +1318,10 @@ Public Class frmFormulare
|
|||||||
Dim ADR As New cAdressen(KundenNr)
|
Dim ADR As New cAdressen(KundenNr)
|
||||||
|
|
||||||
If ADR.Name_1 IsNot Nothing AndAlso ADR.Name_1 <> "" Then
|
If ADR.Name_1 IsNot Nothing AndAlso ADR.Name_1 <> "" Then
|
||||||
Bez = "_" & ADR.Name_1
|
|
||||||
|
Bez = "_" & ADR.Name_1.ToString
|
||||||
|
Bez = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(Bez)
|
||||||
|
Bez = Regex.Replace(Bez, "[" & Regex.Escape(New String(System.IO.Path.GetInvalidFileNameChars())) & "]", "_")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
17
SDL/kassenbuch/frmBelegNeu.Designer.vb
generated
17
SDL/kassenbuch/frmBelegNeu.Designer.vb
generated
@@ -147,6 +147,7 @@ Partial Class frmBelegNeu
|
|||||||
Me.FlowLayoutPanel2 = New System.Windows.Forms.FlowLayoutPanel()
|
Me.FlowLayoutPanel2 = New System.Windows.Forms.FlowLayoutPanel()
|
||||||
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||||
Me.cm_FT = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
Me.cm_FT = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||||
|
Me.lblTSEisOffline = New System.Windows.Forms.Label()
|
||||||
CType(Me.dgvBelegPos, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.dgvBelegPos, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.pnl.SuspendLayout()
|
Me.pnl.SuspendLayout()
|
||||||
Me.pnlData.SuspendLayout()
|
Me.pnlData.SuspendLayout()
|
||||||
@@ -648,6 +649,7 @@ Partial Class frmBelegNeu
|
|||||||
'pnlData
|
'pnlData
|
||||||
'
|
'
|
||||||
Me.pnlData.BackColor = System.Drawing.Color.FromArgb(CType(CType(244, Byte), Integer), CType(CType(244, Byte), Integer), CType(CType(244, Byte), Integer))
|
Me.pnlData.BackColor = System.Drawing.Color.FromArgb(CType(CType(244, Byte), Integer), CType(CType(244, Byte), Integer), CType(CType(244, Byte), Integer))
|
||||||
|
Me.pnlData.Controls.Add(Me.lblTSEisOffline)
|
||||||
Me.pnlData.Controls.Add(Me.cboBuchungsoforterzeugen)
|
Me.pnlData.Controls.Add(Me.cboBuchungsoforterzeugen)
|
||||||
Me.pnlData.Controls.Add(Me.lblErr_Fahrer)
|
Me.pnlData.Controls.Add(Me.lblErr_Fahrer)
|
||||||
Me.pnlData.Controls.Add(Me.lblErr_Pass)
|
Me.pnlData.Controls.Add(Me.lblErr_Pass)
|
||||||
@@ -1784,6 +1786,20 @@ Partial Class frmBelegNeu
|
|||||||
Me.cm_FT.Name = "ContextMenuStrip1"
|
Me.cm_FT.Name = "ContextMenuStrip1"
|
||||||
Me.cm_FT.Size = New System.Drawing.Size(61, 4)
|
Me.cm_FT.Size = New System.Drawing.Size(61, 4)
|
||||||
'
|
'
|
||||||
|
'lblTSEisOffline
|
||||||
|
'
|
||||||
|
Me.lblTSEisOffline.AutoSize = True
|
||||||
|
Me.lblTSEisOffline.BackColor = System.Drawing.Color.Red
|
||||||
|
Me.lblTSEisOffline.Cursor = System.Windows.Forms.Cursors.Default
|
||||||
|
Me.lblTSEisOffline.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||||
|
Me.lblTSEisOffline.ForeColor = System.Drawing.Color.White
|
||||||
|
Me.lblTSEisOffline.Location = New System.Drawing.Point(154, 35)
|
||||||
|
Me.lblTSEisOffline.Name = "lblTSEisOffline"
|
||||||
|
Me.lblTSEisOffline.Size = New System.Drawing.Size(125, 20)
|
||||||
|
Me.lblTSEisOffline.TabIndex = 50
|
||||||
|
Me.lblTSEisOffline.Text = "TSE ist Offline"
|
||||||
|
Me.lblTSEisOffline.Visible = False
|
||||||
|
'
|
||||||
'frmBelegNeu
|
'frmBelegNeu
|
||||||
'
|
'
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
|
||||||
@@ -1935,4 +1951,5 @@ Partial Class frmBelegNeu
|
|||||||
Friend WithEvents cboBuchungsoforterzeugen As CheckBox
|
Friend WithEvents cboBuchungsoforterzeugen As CheckBox
|
||||||
Friend WithEvents Button4 As Button
|
Friend WithEvents Button4 As Button
|
||||||
Friend WithEvents cm_FT As ContextMenuStrip
|
Friend WithEvents cm_FT As ContextMenuStrip
|
||||||
|
Friend WithEvents lblTSEisOffline As Label
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ Public Class frmBelegNeu
|
|||||||
|
|
||||||
Public aktFiliale As Integer = 0
|
Public aktFiliale As Integer = 0
|
||||||
Public aktAbfertigungsNr As Integer = 0
|
Public aktAbfertigungsNr As Integer = 0
|
||||||
|
Dim tseIsOnline As Boolean = False
|
||||||
|
|
||||||
Public Sub New(PERSONAL As cPersonal, PERSONAL_LG As cPersonal, EA As String)
|
Public Sub New(PERSONAL As cPersonal, PERSONAL_LG As cPersonal, EA As String)
|
||||||
|
|
||||||
@@ -231,9 +232,8 @@ Public Class frmBelegNeu
|
|||||||
' Case "WAI" : cboFiliale.changeItem(5103)
|
' Case "WAI" : cboFiliale.changeItem(5103)
|
||||||
' End Select
|
' End Select
|
||||||
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMINFUNCTIONS", "SDL") Then
|
|
||||||
Button4.Visible = True
|
Button4.Visible = checkFiskaltrust()
|
||||||
End If
|
|
||||||
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
||||||
cboKassen.Enabled = True
|
cboKassen.Enabled = True
|
||||||
@@ -1704,49 +1704,59 @@ Public Class frmBelegNeu
|
|||||||
Dim answer = ""
|
Dim answer = ""
|
||||||
|
|
||||||
Dim verarbeitet As Boolean = False
|
Dim verarbeitet As Boolean = False
|
||||||
Dim isFiskaltrust As Boolean = False
|
Dim isFiskaltrust = checkFiskaltrust()
|
||||||
If KASSE.rksv_FT_RestServiceURL <> "" Then
|
|
||||||
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, QR_CodeString, LastJWS, "Verkauf")
|
|
||||||
'result.Wait()
|
|
||||||
verarbeitet = result
|
|
||||||
isFiskaltrust = True
|
|
||||||
Else
|
|
||||||
verarbeitet = cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), QR_CodeString, LastJWS, TESTBUCHUNG, answer) 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not verarbeitet AndAlso Not isFiskaltrust Then
|
If isFiskaltrust Then
|
||||||
If Not TESTBUCHUNG Then
|
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, QR_CodeString, LastJWS, ReceiptCaseIntern.VERKAUF)
|
||||||
|
verarbeitet = result
|
||||||
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, If(EA = "E", summeBRUTTO * -1, summeBRUTTO))
|
Else
|
||||||
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
verarbeitet = cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), QR_CodeString, LastJWS, TESTBUCHUNG, answer) 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Dim Errmsg = "Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer
|
|
||||||
MsgBox(Errmsg, MsgBoxStyle.Critical)
|
If Not verarbeitet Then
|
||||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(Errmsg, "", System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
||||||
Me.Cursor = Cursors.Default : warnClose = False : Me.Close() : Exit Sub
|
If Not isFiskaltrust Then
|
||||||
|
|
||||||
|
If Not TESTBUCHUNG Then
|
||||||
|
|
||||||
|
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, If(EA = "E", summeBRUTTO * -1, summeBRUTTO))
|
||||||
|
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
||||||
|
|
||||||
|
End If
|
||||||
|
Dim Errmsg = "Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer
|
||||||
|
MsgBox(Errmsg, MsgBoxStyle.Critical)
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(Errmsg, "", System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
Me.Cursor = Cursors.Default : warnClose = False : Me.Close() : Exit Sub
|
||||||
|
Else
|
||||||
|
BELEG.FT_MissingSignature = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
'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 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
|
' If Not TESTBUCHUNG Then
|
||||||
' KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1)
|
' KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1)
|
||||||
' cRKSV.DELETE(BELEG)
|
' cRKSV.DELETE(BELEG)
|
||||||
' End If
|
' End If
|
||||||
' MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
|
' MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
|
||||||
' ' Me.Cursor = Cursors.Default
|
' ' Me.Cursor = Cursors.Default
|
||||||
' 'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
' 'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
||||||
' ' MsgBox("Programmfehler bei der digitalen Signatur.")
|
' ' MsgBox("Programmfehler bei der digitalen Signatur.")
|
||||||
|
|
||||||
' Return False
|
' Return False
|
||||||
'End If
|
'End If
|
||||||
'KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
'KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
||||||
|
|
||||||
' Dim TEST_KASSE = (BELEG.Niederlassung = "WAI")
|
' Dim TEST_KASSE = (BELEG.Niederlassung = "WAI")
|
||||||
If KASSE.rksvDE_aktiv Then ' WENN für die Kasse die RKSV DEUTSCHLAND gilt
|
If KASSE.rksvDE_aktiv Then ' WENN für die Kasse die RKSV DEUTSCHLAND gilt
|
||||||
Dim answer = ""
|
Dim answer = ""
|
||||||
|
|
||||||
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
||||||
@@ -1873,6 +1883,21 @@ Public Class frmBelegNeu
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function checkFiskaltrust()
|
||||||
|
|
||||||
|
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(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
|
||||||
|
Return client_chilkat.isFiskaltrust()
|
||||||
|
|
||||||
|
Else
|
||||||
|
Return False
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub openZahlungsbeleg(daid As Integer)
|
Private Sub openZahlungsbeleg(daid As Integer)
|
||||||
@@ -1896,84 +1921,29 @@ Public Class frmBelegNeu
|
|||||||
Private Sub cboKassen_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboKassen.SelectedIndexChanged
|
Private Sub cboKassen_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboKassen.SelectedIndexChanged
|
||||||
|
|
||||||
KASSE.LOAD(cboKassen._value)
|
KASSE.LOAD(cboKassen._value)
|
||||||
'Button4.Visible = KASSE.rksv_FT_RestServiceURL <> ""
|
|
||||||
|
If KASSE IsNot Nothing AndAlso KASSE.rksv_aktiv AndAlso KASSE.rksv_FT_RestServiceURL 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)
|
||||||
|
If client_chilkat.isFiskaltrust() Then
|
||||||
|
Dim result As String = client_chilkat.Echo(KASSE.rksv_bez & " " & KASSE.rksv_FT_Country & " - ")
|
||||||
|
|
||||||
|
If result IsNot Nothing AndAlso result.Contains("VERBINDUNG OK") Then
|
||||||
|
tseIsOnline = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
lblTSEisOffline.Visible = Not tseIsOnline
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub Button4_ClickAsync(sender As Object, e As EventArgs) Handles Button4.Click
|
Private Sub Button4_ClickAsync(sender As Object, e As EventArgs) Handles Button4.Click
|
||||||
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
If Not cm_FT.Items.ContainsKey("ft_neusignierung") AndAlso BELEG IsNot Nothing AndAlso (BELEG.gebucht Or BELEG.gebuchtStorno) AndAlso BELEG.FT_setMissingSignatureFailed Then
|
||||||
'nur im Testsystem!
|
Dim ids = New ToolStripMenuItem() With {.Text = "Beleg neu signieren", .Name = "ft_neusignierung", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||||
If Not cm_FT.Items.ContainsKey("bar") Then
|
|
||||||
Dim ids = New ToolStripMenuItem() With {.Text = "Barverkauf", .Name = "bar", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(ids)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("storno") Then
|
|
||||||
Dim ids = New ToolStripMenuItem() With {.Text = "Storno", .Name = "storno", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(ids)
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("null") Then
|
|
||||||
Dim plose = New ToolStripMenuItem() With {.Text = "Nullbeleg", .Name = "null", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
cm_FT.Items.Add(plose)
|
|
||||||
AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("monthly") Then
|
|
||||||
Dim rmc = New ToolStripMenuItem() With {.Text = "Monatabschluss", .Name = "monthly", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(rmc)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("daily") Then
|
|
||||||
Dim rmc = New ToolStripMenuItem() With {.Text = "Tagesabschluss", .Name = "daily", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler rmc.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(rmc)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("yearly") Then
|
|
||||||
Dim uta = New ToolStripMenuItem() With {.Text = "Jahresabschluss", .Name = "yearly", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler uta.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(uta)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("test") Then
|
|
||||||
Dim ids = New ToolStripMenuItem() With {.Text = "Verbindungstest", .Name = "verbindungstest", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(ids)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("version") Then
|
|
||||||
Dim ids = New ToolStripMenuItem() With {.Text = "Journal - Version", .Name = "version", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(ids)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("signatures") Then
|
|
||||||
Dim ids = New ToolStripMenuItem() With {.Text = "Journal - Signaturen", .Name = "signatures", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(ids)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("action") Then
|
|
||||||
Dim ids = New ToolStripMenuItem() With {.Text = "Journal - Action", .Name = "action", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(ids)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("queueitem") Then
|
|
||||||
Dim ids = New ToolStripMenuItem() With {.Text = "Journal - Queue", .Name = "queueitem", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
|
||||||
cm_FT.Items.Add(ids)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("exportJournal") Then
|
|
||||||
Dim ids = New ToolStripMenuItem() With {.Text = "Journal - EXPORT", .Name = "exportJournal", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
||||||
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
||||||
cm_FT.Items.Add(ids)
|
cm_FT.Items.Add(ids)
|
||||||
End If
|
End If
|
||||||
@@ -1994,154 +1964,65 @@ Public Class frmBelegNeu
|
|||||||
|
|
||||||
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)
|
||||||
|
|
||||||
If item.Name = "null" Then
|
If item.Name = "ft_neusignierung" Then
|
||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie wirklich einen 0-Beleg an die TSE schicken?", vbYesNoCancel) Then
|
If BELEG IsNot Nothing Then
|
||||||
|
If vbYes = MsgBox("Möchten den nicht signierten Beleg " & BELEG.BelegNr & " an die TSE schicken?", vbYesNoCancel) Then
|
||||||
|
|
||||||
Dim result As String = client_chilkat.SignNullReceipt(KASSE.rksv_id)
|
Dim result As Boolean = False
|
||||||
|
|
||||||
|
If BELEG.gebucht Or BELEG.gebuchtStorno Then
|
||||||
|
|
||||||
|
Dim summeBRUTTO As Double = BELEG.rksv_umsatz
|
||||||
|
Dim QR_CodeString As String = ""
|
||||||
|
Dim LastJWS As String = ""
|
||||||
|
Dim EA As String = ""
|
||||||
|
Dim kindOfReceiptCase As String = ""
|
||||||
|
|
||||||
|
Select Case BELEG.Beleg_TYP
|
||||||
|
Case "0"
|
||||||
|
Return False 'null Belege nicht senden!
|
||||||
|
Case "E" 'Eingang/Ausgang
|
||||||
|
If BELEG.Belegart = "1" Then
|
||||||
|
EA = "E"
|
||||||
|
Else
|
||||||
|
EA = "A"
|
||||||
|
End If
|
||||||
|
Case "L"
|
||||||
|
If BELEG.Belegart = "1" Then
|
||||||
|
EA = "E"
|
||||||
|
Else
|
||||||
|
EA = "A"
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
If BELEG.Belegart = "1" Then
|
||||||
|
EA = "E"
|
||||||
|
Else
|
||||||
|
EA = "A"
|
||||||
|
End If
|
||||||
|
End Select
|
||||||
|
|
||||||
|
|
||||||
If result <> "" Then
|
result = cRKSV.insertRKSVFiskaltrustAsync(PERSONAL.cRKSV_Kasse, BELEG, BELEG.rksv_BelegId, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), False, QR_CodeString, LastJWS, "", "", tseIsOnline) 'receiptCase leer und Reference leer!!!!!
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
If result Then
|
||||||
|
BELEG.FT_setMissingSignatureFailed = False
|
||||||
End If
|
BELEG.SAVE()
|
||||||
|
MsgBox("Beleg erfolgreich gesendet!")
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ElseIf item.Name = "verbindungstest" Then
|
|
||||||
|
|
||||||
Dim result As String = client_chilkat.Echo(KASSE.rksv_bez & " " & KASSE.rksv_FT_Country & " - ")
|
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
ElseIf item.Name = "storno" Then
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie wirklich einen Teststorno durchführen?", vbYesNoCancel) Then
|
|
||||||
|
|
||||||
Dim result As String = client_chilkat.ChancelReceipt_test("-1", KASSE.rksv_id)
|
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
Else
|
|
||||||
MsgBox("ACHTUNG, im Produktivsystem nicht möglich!")
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
ElseIf item.Name = "bar" Then
|
|
||||||
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie wirklich einen Testzahlung durchführen?", vbYesNoCancel) Then
|
|
||||||
|
|
||||||
Dim result As String = client_chilkat.SignReceipt_test(KASSE.rksv_id)
|
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
If vbYes = MsgBox(result & vbNewLine & vbNewLine & "Testdaten in DB speichern?", vbYesNoCancel) Then
|
|
||||||
Dim QR_CodeString As String = ""
|
|
||||||
client_chilkat.saveRKSV_FT(result, QR_CodeString, Nothing, False)
|
|
||||||
End If
|
End If
|
||||||
Else
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
Else
|
|
||||||
MsgBox("ACHTUNG, im Produktivsystem nicht möglich!")
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
|
If result Then
|
||||||
ElseIf item.Name = "monthly" Then
|
init()
|
||||||
|
End If
|
||||||
If vbYes = MsgBox("Möchten Sie wirklich einen Monatsbeleg an die TSE schicken, anschließend kann dieses Monat kein Beleg mehr signiert werden!", vbYesNoCancel) Then
|
|
||||||
|
|
||||||
Dim result As String = client_chilkat.SignClosingReceipt(item.Name, KASSE.rksv_id, item.Name)
|
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
ElseIf item.Name = "daily" Then
|
|
||||||
'Nur DE
|
|
||||||
If KASSE.rksv_FT_Country = "DE" Then
|
|
||||||
Dim result As String = client_chilkat.SignClosingReceipt(item.Name, KASSE.rksv_id, item.Name)
|
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
MsgBox("nicht für AT-Kassen möglich!")
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
ElseIf item.Name = "yearly" Then
|
|
||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie wirklich einen Jahresbeleg an die TSE schicken, anschließend kann in diesem Jahr kein Beleg mehr signiert werden!", vbYesNoCancel) Then
|
|
||||||
|
|
||||||
|
|
||||||
Dim result As String = client_chilkat.SignClosingReceipt(item.Name, KASSE.rksv_id, item.Name)
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
ElseIf (item.Name = "version" Or item.Name = "action" Or item.Name = "signatures" Or item.Name = "queueitem" Or item.Name = "exportJournal") Then
|
|
||||||
|
|
||||||
Dim result As String = ""
|
|
||||||
Select Case item.Name
|
|
||||||
Case "version" : result = client_chilkat.Journal(FtJournalType.VersionInformation)
|
|
||||||
Case "action" : result = client_chilkat.Journal(FtJournalType.ActionJournal)
|
|
||||||
Case "signatures" : result = client_chilkat.Journal(FtJournalType.ReceiptJournal)
|
|
||||||
Case "queueitem" : result = client_chilkat.Journal(FtJournalType.QueueItemJournal)
|
|
||||||
Case "exportJournal" : result = client_chilkat.Journal(FtJournalType.ReceiptJournal)
|
|
||||||
End Select
|
|
||||||
|
|
||||||
If result <> "" Then
|
|
||||||
|
|
||||||
MsgBox(client_chilkat.PrettyPrintJson(result))
|
|
||||||
|
|
||||||
If item.Name = "exportJournal" Then
|
|
||||||
client_chilkat.exportJournal(result)
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -224,13 +224,16 @@ Public Class frmFremdbeleg
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Dim answer = ""
|
Dim answer = ""
|
||||||
Dim isFiskaltrust As Boolean = False
|
|
||||||
|
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 As Boolean = client_chilkat.isFiskaltrust()
|
||||||
|
|
||||||
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 KASSE.rksv_FT_RestServiceURL <> "" Then
|
||||||
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, IIf(Art = 1, "Eingang", "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
|
||||||
Else
|
Else
|
||||||
@@ -238,17 +241,24 @@ Public Class frmFremdbeleg
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If Not verarbeitet AndAlso Not isFiskaltrust 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 TESTBUCHUNG Then
|
|
||||||
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, BELEG.rksv_umsatz * -1)
|
If Not isFiskaltrust Then
|
||||||
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
|
||||||
|
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
|
||||||
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
|
|
||||||
' BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
End If
|
||||||
'MsgBox("Programmfehler bei der digitalen Signatur.")
|
|
||||||
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
|
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If KASSE.rksvDE_aktiv Then
|
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 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
|
||||||
|
|||||||
58
SDL/kassenbuch/frmKassenbuch.Designer.vb
generated
58
SDL/kassenbuch/frmKassenbuch.Designer.vb
generated
@@ -66,6 +66,8 @@ Partial Class frmKassenbuch
|
|||||||
Me.Label14 = New System.Windows.Forms.Label()
|
Me.Label14 = New System.Windows.Forms.Label()
|
||||||
Me.Label13 = New System.Windows.Forms.Label()
|
Me.Label13 = New System.Windows.Forms.Label()
|
||||||
Me.pnlMain = New System.Windows.Forms.Panel()
|
Me.pnlMain = New System.Windows.Forms.Panel()
|
||||||
|
Me.pbInitialStart = New System.Windows.Forms.PictureBox()
|
||||||
|
Me.lblInitStart = New System.Windows.Forms.Label()
|
||||||
Me.lblFiskaltrustHeader = New System.Windows.Forms.Label()
|
Me.lblFiskaltrustHeader = New System.Windows.Forms.Label()
|
||||||
Me.picTSEOnline = New System.Windows.Forms.PictureBox()
|
Me.picTSEOnline = New System.Windows.Forms.PictureBox()
|
||||||
Me.lblTSEOnline = New System.Windows.Forms.Label()
|
Me.lblTSEOnline = New System.Windows.Forms.Label()
|
||||||
@@ -95,8 +97,6 @@ Partial Class frmKassenbuch
|
|||||||
Me.UsrCntlTestsystem1 = New VERAG_PROG_ALLGEMEIN.usrCntlTestsystem()
|
Me.UsrCntlTestsystem1 = New VERAG_PROG_ALLGEMEIN.usrCntlTestsystem()
|
||||||
Me.Button1 = New System.Windows.Forms.Button()
|
Me.Button1 = New System.Windows.Forms.Button()
|
||||||
Me.cm_FT = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
Me.cm_FT = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||||
Me.lblInitStart = New System.Windows.Forms.Label()
|
|
||||||
Me.pbInitialStart = New System.Windows.Forms.PictureBox()
|
|
||||||
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.DataGridView2, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.DataGridView2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.pnlTop.SuspendLayout()
|
Me.pnlTop.SuspendLayout()
|
||||||
@@ -104,13 +104,13 @@ Partial Class frmKassenbuch
|
|||||||
Me.pnlSuche.SuspendLayout()
|
Me.pnlSuche.SuspendLayout()
|
||||||
Me.pnlSearch.SuspendLayout()
|
Me.pnlSearch.SuspendLayout()
|
||||||
Me.pnlMain.SuspendLayout()
|
Me.pnlMain.SuspendLayout()
|
||||||
|
CType(Me.pbInitialStart, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.picTSEOnline, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.picTSEOnline, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.picNULLbeleg, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.picNULLbeleg, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.picJahres, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.picJahres, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.picMonats, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.picMonats, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.picTages, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.picTages, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.pnl.SuspendLayout()
|
Me.pnl.SuspendLayout()
|
||||||
CType(Me.pbInitialStart, System.ComponentModel.ISupportInitialize).BeginInit()
|
|
||||||
Me.SuspendLayout()
|
Me.SuspendLayout()
|
||||||
'
|
'
|
||||||
'Label2
|
'Label2
|
||||||
@@ -668,6 +668,29 @@ Partial Class frmKassenbuch
|
|||||||
Me.pnlMain.Size = New System.Drawing.Size(778, 433)
|
Me.pnlMain.Size = New System.Drawing.Size(778, 433)
|
||||||
Me.pnlMain.TabIndex = 425
|
Me.pnlMain.TabIndex = 425
|
||||||
'
|
'
|
||||||
|
'pbInitialStart
|
||||||
|
'
|
||||||
|
Me.pbInitialStart.BackgroundImage = Global.SDL.My.Resources.Resources.ok
|
||||||
|
Me.pbInitialStart.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
|
||||||
|
Me.pbInitialStart.Location = New System.Drawing.Point(614, 67)
|
||||||
|
Me.pbInitialStart.Name = "pbInitialStart"
|
||||||
|
Me.pbInitialStart.Size = New System.Drawing.Size(27, 20)
|
||||||
|
Me.pbInitialStart.TabIndex = 452
|
||||||
|
Me.pbInitialStart.TabStop = False
|
||||||
|
Me.pbInitialStart.Visible = False
|
||||||
|
'
|
||||||
|
'lblInitStart
|
||||||
|
'
|
||||||
|
Me.lblInitStart.AutoSize = True
|
||||||
|
Me.lblInitStart.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||||
|
Me.lblInitStart.ForeColor = System.Drawing.Color.Black
|
||||||
|
Me.lblInitStart.Location = New System.Drawing.Point(655, 71)
|
||||||
|
Me.lblInitStart.Name = "lblInitStart"
|
||||||
|
Me.lblInitStart.Size = New System.Drawing.Size(70, 16)
|
||||||
|
Me.lblInitStart.TabIndex = 451
|
||||||
|
Me.lblInitStart.Text = "Initial Start "
|
||||||
|
Me.lblInitStart.Visible = False
|
||||||
|
'
|
||||||
'lblFiskaltrustHeader
|
'lblFiskaltrustHeader
|
||||||
'
|
'
|
||||||
Me.lblFiskaltrustHeader.AutoSize = True
|
Me.lblFiskaltrustHeader.AutoSize = True
|
||||||
@@ -834,7 +857,7 @@ Partial Class frmKassenbuch
|
|||||||
Me.lbldailyCashboxClosing.AutoSize = True
|
Me.lbldailyCashboxClosing.AutoSize = True
|
||||||
Me.lbldailyCashboxClosing.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
Me.lbldailyCashboxClosing.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||||
Me.lbldailyCashboxClosing.ForeColor = System.Drawing.Color.Red
|
Me.lbldailyCashboxClosing.ForeColor = System.Drawing.Color.Red
|
||||||
Me.lbldailyCashboxClosing.Location = New System.Drawing.Point(361, 5)
|
Me.lbldailyCashboxClosing.Location = New System.Drawing.Point(363, 5)
|
||||||
Me.lbldailyCashboxClosing.Name = "lbldailyCashboxClosing"
|
Me.lbldailyCashboxClosing.Name = "lbldailyCashboxClosing"
|
||||||
Me.lbldailyCashboxClosing.Size = New System.Drawing.Size(410, 16)
|
Me.lbldailyCashboxClosing.Size = New System.Drawing.Size(410, 16)
|
||||||
Me.lbldailyCashboxClosing.TabIndex = 436
|
Me.lbldailyCashboxClosing.TabIndex = 436
|
||||||
@@ -972,7 +995,7 @@ Partial Class frmKassenbuch
|
|||||||
'lblRKSV_KASSEN_Bez
|
'lblRKSV_KASSEN_Bez
|
||||||
'
|
'
|
||||||
Me.lblRKSV_KASSEN_Bez.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
Me.lblRKSV_KASSEN_Bez.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||||
Me.lblRKSV_KASSEN_Bez.Location = New System.Drawing.Point(463, 3)
|
Me.lblRKSV_KASSEN_Bez.Location = New System.Drawing.Point(542, 3)
|
||||||
Me.lblRKSV_KASSEN_Bez.Name = "lblRKSV_KASSEN_Bez"
|
Me.lblRKSV_KASSEN_Bez.Name = "lblRKSV_KASSEN_Bez"
|
||||||
Me.lblRKSV_KASSEN_Bez.Size = New System.Drawing.Size(231, 13)
|
Me.lblRKSV_KASSEN_Bez.Size = New System.Drawing.Size(231, 13)
|
||||||
Me.lblRKSV_KASSEN_Bez.TabIndex = 426
|
Me.lblRKSV_KASSEN_Bez.TabIndex = 426
|
||||||
@@ -1025,29 +1048,6 @@ Partial Class frmKassenbuch
|
|||||||
Me.cm_FT.Name = "ContextMenuStrip1"
|
Me.cm_FT.Name = "ContextMenuStrip1"
|
||||||
Me.cm_FT.Size = New System.Drawing.Size(61, 4)
|
Me.cm_FT.Size = New System.Drawing.Size(61, 4)
|
||||||
'
|
'
|
||||||
'lblInitStart
|
|
||||||
'
|
|
||||||
Me.lblInitStart.AutoSize = True
|
|
||||||
Me.lblInitStart.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
|
||||||
Me.lblInitStart.ForeColor = System.Drawing.Color.Black
|
|
||||||
Me.lblInitStart.Location = New System.Drawing.Point(655, 71)
|
|
||||||
Me.lblInitStart.Name = "lblInitStart"
|
|
||||||
Me.lblInitStart.Size = New System.Drawing.Size(70, 16)
|
|
||||||
Me.lblInitStart.TabIndex = 451
|
|
||||||
Me.lblInitStart.Text = "Initial Start "
|
|
||||||
Me.lblInitStart.Visible = False
|
|
||||||
'
|
|
||||||
'pbInitialStart
|
|
||||||
'
|
|
||||||
Me.pbInitialStart.BackgroundImage = Global.SDL.My.Resources.Resources.ok
|
|
||||||
Me.pbInitialStart.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
|
|
||||||
Me.pbInitialStart.Location = New System.Drawing.Point(614, 67)
|
|
||||||
Me.pbInitialStart.Name = "pbInitialStart"
|
|
||||||
Me.pbInitialStart.Size = New System.Drawing.Size(27, 20)
|
|
||||||
Me.pbInitialStart.TabIndex = 452
|
|
||||||
Me.pbInitialStart.TabStop = False
|
|
||||||
Me.pbInitialStart.Visible = False
|
|
||||||
'
|
|
||||||
'frmKassenbuch
|
'frmKassenbuch
|
||||||
'
|
'
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
@@ -1072,6 +1072,7 @@ Partial Class frmKassenbuch
|
|||||||
Me.pnlSearch.PerformLayout()
|
Me.pnlSearch.PerformLayout()
|
||||||
Me.pnlMain.ResumeLayout(False)
|
Me.pnlMain.ResumeLayout(False)
|
||||||
Me.pnlMain.PerformLayout()
|
Me.pnlMain.PerformLayout()
|
||||||
|
CType(Me.pbInitialStart, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.picTSEOnline, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.picTSEOnline, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.picNULLbeleg, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.picNULLbeleg, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.picJahres, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.picJahres, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
@@ -1079,7 +1080,6 @@ Partial Class frmKassenbuch
|
|||||||
CType(Me.picTages, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.picTages, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
Me.pnl.ResumeLayout(False)
|
Me.pnl.ResumeLayout(False)
|
||||||
Me.pnl.PerformLayout()
|
Me.pnl.PerformLayout()
|
||||||
CType(Me.pbInitialStart, System.ComponentModel.ISupportInitialize).EndInit()
|
|
||||||
Me.ResumeLayout(False)
|
Me.ResumeLayout(False)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
Imports GrapeCity.DataVisualization.TypeScript
|
Imports DocumentFormat.OpenXml.Drawing
|
||||||
Imports SDL.RKSVServer
|
|
||||||
|
|
||||||
Public Class frmKassenbuch
|
Public Class frmKassenbuch
|
||||||
Dim SQL As New SQL
|
Dim SQL As New SQL
|
||||||
@@ -22,6 +21,7 @@ Public Class frmKassenbuch
|
|||||||
Dim InitialStartIsCreated As Boolean = True
|
Dim InitialStartIsCreated As Boolean = True
|
||||||
Dim OutOfOrderIsCreated As Boolean = False
|
Dim OutOfOrderIsCreated As Boolean = False
|
||||||
Dim TSEIsOnline As Boolean = False
|
Dim TSEIsOnline As Boolean = False
|
||||||
|
Dim MiddlewareIsOnline As Boolean = False
|
||||||
|
|
||||||
Dim isADMIN As Boolean = False
|
Dim isADMIN As Boolean = False
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub InitFiskaltrust(isOnline As Boolean, tagesabschluss As Boolean, Montagsabschluss As Boolean, Jahresabschluss As Boolean, NULLBeleg As Boolean, initialStart As Boolean)
|
Private Sub InitFiskaltrust(TSEisOnline As Boolean, tagesabschluss As Boolean, Montagsabschluss As Boolean, Jahresabschluss As Boolean, NULLBeleg As Boolean, initialStart As Boolean)
|
||||||
|
|
||||||
lblTSEOnline.Visible = True
|
lblTSEOnline.Visible = True
|
||||||
lblTages.Visible = True
|
lblTages.Visible = True
|
||||||
@@ -123,7 +123,7 @@ Public Class frmKassenbuch
|
|||||||
picTSEOnline.Visible = True
|
picTSEOnline.Visible = True
|
||||||
pbInitialStart.Visible = True
|
pbInitialStart.Visible = True
|
||||||
|
|
||||||
showPic(isOnline, picTSEOnline)
|
showPic(TSEisOnline, picTSEOnline)
|
||||||
showPic(tagesabschluss, picTages)
|
showPic(tagesabschluss, picTages)
|
||||||
showPic(monatsabschlussIsSet, picMonats)
|
showPic(monatsabschlussIsSet, picMonats)
|
||||||
showPic(Jahresabschluss, picJahres)
|
showPic(Jahresabschluss, picJahres)
|
||||||
@@ -158,9 +158,6 @@ Public Class frmKassenbuch
|
|||||||
btnBelegAusgang.Enabled = False
|
btnBelegAusgang.Enabled = False
|
||||||
pnl.Visible = True
|
pnl.Visible = True
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'sqlstr = "SELECT Sum(tblKassenbuch.Soll) AS Soll, Sum(tblKassenbuch.Haben) AS Haben, (Sum(tblKassenbuch.Soll)-Sum(tblKassenbuch.Haben)) AS Saldo " &
|
'sqlstr = "SELECT Sum(tblKassenbuch.Soll) AS Soll, Sum(tblKassenbuch.Haben) AS Haben, (Sum(tblKassenbuch.Soll)-Sum(tblKassenbuch.Haben)) AS Saldo " &
|
||||||
' " FROM Personal INNER JOIN tblKassenbuch ON Personal.ID = tblKassenbuch.Benutzer " &
|
' " FROM Personal INNER JOIN tblKassenbuch ON Personal.ID = tblKassenbuch.Benutzer " &
|
||||||
' " WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' AND tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' " &
|
' " WHERE tblKassenbuch.Mandant='" & PERSONAL.Mandant & "' AND tblKassenbuch.Niederlassung='" & PERSONAL.Niederlassung & "' " &
|
||||||
@@ -209,64 +206,86 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken IsNot Nothing Then
|
lbldailyCashboxClosing.Text = ""
|
||||||
|
|
||||||
resetFIskaltrust()
|
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
|
||||||
|
|
||||||
lbldailyCashboxClosing.Visible = True
|
|
||||||
Button11.Visible = True
|
|
||||||
|
|
||||||
Dim tagesabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Day(ftReceiptMoment) = Day(GETDATE()) and ftEndOfDayReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL"))
|
|
||||||
If tagesabschluss > 0 Then tagesabschlussIsSet = True
|
|
||||||
|
|
||||||
Dim monatsabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Month(ftReceiptMoment) = Month(GETDATE()) and ftEndOfMonthReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL"))
|
|
||||||
If monatsabschluss > 0 Then monatsabschlussIsSet = True
|
|
||||||
|
|
||||||
Dim jahresabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Year(ftReceiptMoment) = Year(GETDATE()) and ftEndOfYearReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL"))
|
|
||||||
If jahresabschluss > 0 Then jahresabschlussIsSet = True
|
|
||||||
If PERSONAL.cRKSV_Kasse.rksv_FT_ZeroReceiptCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_ZeroReceiptCreated) Then
|
|
||||||
NULLBelegIsCreated = False
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not (PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated)) Then
|
|
||||||
|
|
||||||
OutOfOrderIsCreated = True
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
If PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated) Then
|
|
||||||
InitialStartIsCreated = False
|
|
||||||
End If
|
|
||||||
|
|
||||||
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)
|
||||||
Dim result As String = client_chilkat.Echo(PERSONAL.cRKSV_Kasse.rksv_bez & " " & PERSONAL.cRKSV_Kasse.rksv_FT_Country & " - ")
|
If client_chilkat.isFiskaltrust() Then
|
||||||
|
|
||||||
If result.Contains("VERBINDUNG OK") Then
|
resetFIskaltrust()
|
||||||
TSEIsOnline = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated)
|
lbldailyCashboxClosing.Visible = True
|
||||||
|
Button11.Visible = True
|
||||||
|
|
||||||
If Not NULLBelegIsCreated Then
|
Dim tagesabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Day(ftReceiptMoment) = Day(GETDATE()) and ftEndOfDayReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL"))
|
||||||
diasableBarverkauf("NULLBELEG")
|
If tagesabschluss > 0 Then tagesabschlussIsSet = True
|
||||||
ElseIf tagesabschlussIsSet Then
|
|
||||||
diasableBarverkauf("TAGESABSCHLUSS")
|
Dim monatsabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Month(ftReceiptMoment) = Month(GETDATE()) and ftEndOfMonthReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL"))
|
||||||
ElseIf OutOfOrderIsCreated Then
|
If monatsabschluss > 0 Then monatsabschlussIsSet = True
|
||||||
diasableBarverkauf("OUTOFORDER")
|
|
||||||
Else
|
Dim jahresabschluss As Integer = CInt(SQL.getValueTxtBySql("SELECT count(*) FROM [VERAG].[dbo].[tblRKSV_FT] where Year(ftReceiptMoment) = Year(GETDATE()) and ftEndOfYearReceipt is not null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "'", "FMZOLL"))
|
||||||
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("KASSE", Me) Then
|
If jahresabschluss > 0 Then jahresabschlussIsSet = True
|
||||||
btnBelegKunde.Enabled = True
|
If PERSONAL.cRKSV_Kasse.rksv_FT_ZeroReceiptCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_ZeroReceiptCreated) Then
|
||||||
btnBelegAusgang.Enabled = True
|
NULLBelegIsCreated = False
|
||||||
btnBelegEingang.Enabled = True
|
|
||||||
btnBelegGSKunde.Enabled = True
|
|
||||||
btnBelegLeihgeld.Enabled = True
|
|
||||||
btnStorno.Enabled = True
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Not (PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_OutOfOrderCreated)) Then
|
||||||
|
OutOfOrderIsCreated = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
If PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated Is Nothing OrElse IsDBNull(PERSONAL.cRKSV_Kasse.rksv_FT_InitialStartCreated) Then
|
||||||
|
InitialStartIsCreated = False
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim result As String = client_chilkat.Echo(PERSONAL.cRKSV_Kasse.rksv_bez & " " & PERSONAL.cRKSV_Kasse.rksv_FT_Country & " - ")
|
||||||
|
|
||||||
|
If result IsNot Nothing Then
|
||||||
|
If result.Contains("VERBINDUNG OK") Then
|
||||||
|
TSEIsOnline = True
|
||||||
|
MiddlewareIsOnline = True
|
||||||
|
Else
|
||||||
|
TSEIsOnline = False
|
||||||
|
MiddlewareIsOnline = True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
TSEIsOnline = False
|
||||||
|
MiddlewareIsOnline = False
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated)
|
||||||
|
|
||||||
|
If Not MiddlewareIsOnline Then
|
||||||
|
diasableBarverkauf("MIDDLEWARE")
|
||||||
|
ElseIf Not InitialStartIsCreated Then
|
||||||
|
diasableBarverkauf("INITIALSTART")
|
||||||
|
ElseIf tagesabschlussIsSet Then
|
||||||
|
diasableBarverkauf("TAGESABSCHLUSS")
|
||||||
|
ElseIf OutOfOrderIsCreated Then
|
||||||
|
diasableBarverkauf("OUTOFORDER")
|
||||||
|
Else
|
||||||
|
lbldailyCashboxClosing.Text = ""
|
||||||
|
If Not TSEIsOnline Then
|
||||||
|
lbldailyCashboxClosing.Text = "TSE ist OFFLINE: Belege werden nachträglich signiert!"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("KASSE", Me) Then
|
||||||
|
btnBelegKunde.Enabled = True
|
||||||
|
btnBelegAusgang.Enabled = True
|
||||||
|
btnBelegEingang.Enabled = True
|
||||||
|
btnBelegGSKunde.Enabled = True
|
||||||
|
btnBelegLeihgeld.Enabled = True
|
||||||
|
btnStorno.Enabled = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
lbldailyCashboxClosing.Visible = False
|
||||||
|
Button11.Visible = False
|
||||||
End If
|
End If
|
||||||
Else
|
|
||||||
lbldailyCashboxClosing.Visible = False
|
|
||||||
Button11.Visible = False
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -277,9 +296,11 @@ Public Class frmKassenbuch
|
|||||||
Private Sub diasableBarverkauf(status)
|
Private Sub diasableBarverkauf(status)
|
||||||
|
|
||||||
Select Case status
|
Select Case status
|
||||||
Case "NULLBELEG" : lbldailyCashboxClosing.Text = "Es wurde noch kein 0-Beleg über FT erstellt!"
|
' Case "NULLBELEG" : lbldailyCashboxClosing.Text = "Es wurde kein 0-Beleg erstellt (OPTIONAL)"
|
||||||
Case "TAGESABSCHLUSS" : lbldailyCashboxClosing.Text = "Tagesabschluss für heute wurde bereits durchgeführt!"
|
Case "INITIALSTART" : lbldailyCashboxClosing.Text = "Kasse wurde noch nicht gestartet!"
|
||||||
|
Case "TAGESABSCHLUSS" : lbldailyCashboxClosing.Text = "Tagesabschluss wurde bereits durchgeführt!"
|
||||||
Case "OUTOFORDER" : lbldailyCashboxClosing.Text = "STATUS: INAKTIV!"
|
Case "OUTOFORDER" : lbldailyCashboxClosing.Text = "STATUS: INAKTIV!"
|
||||||
|
Case "MIDDLEWARE" : lbldailyCashboxClosing.Text = "Middleware ist OFFLINE!"
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
btnBelegKunde.Enabled = False
|
btnBelegKunde.Enabled = False
|
||||||
@@ -321,7 +342,7 @@ Public Class frmKassenbuch
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Dim searchdate As Date = CDate("01." & Now.Month & "." & Now.Year)
|
Dim searchdate As Date = CDate("01." & Now.Month & "." & Now.Year)
|
||||||
Sub initDgv()
|
Sub initDgv(Optional isFiskaltrust As Boolean = False)
|
||||||
|
|
||||||
With DataGridView2
|
With DataGridView2
|
||||||
.Columns.Clear()
|
.Columns.Clear()
|
||||||
@@ -343,9 +364,10 @@ Public Class frmKassenbuch
|
|||||||
If PERSONAL.isLeihgeldkasse Then
|
If PERSONAL.isLeihgeldkasse Then
|
||||||
lgTxt = ",[Fahrer],[Passnummer] "
|
lgTxt = ",[Fahrer],[Passnummer] "
|
||||||
End If
|
End If
|
||||||
|
|
||||||
.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,[FT_MissingSignature]" &
|
||||||
" 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 > -1" &
|
||||||
" 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 &
|
||||||
@@ -385,10 +407,22 @@ Public Class frmKassenbuch
|
|||||||
.Columns("Passnummer").Visible = False
|
.Columns("Passnummer").Visible = False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If .Columns.Contains("FT_MissingSignature") Then
|
||||||
|
.Columns("FT_MissingSignature").HeaderText = "fehl Sig."
|
||||||
|
.Columns("FT_MissingSignature").Width = 45
|
||||||
|
For Each r As DataGridViewRow In .Rows
|
||||||
|
If Not IsDBNull(r.Cells("FT_MissingSignature").Value) AndAlso r.Cells("FT_MissingSignature").Value Then
|
||||||
|
r.DefaultCellStyle.ForeColor = Color.Red
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
If master_Kasse Then
|
If master_Kasse Then
|
||||||
.Columns("BenutzerBez").HeaderText = "Benutzer" 'gibts bei bei master
|
.Columns("BenutzerBez").HeaderText = "Benutzer" 'gibts bei bei master
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
For Each r As DataGridViewRow In .Rows
|
For Each r As DataGridViewRow In .Rows
|
||||||
If r.Cells("storniert").Value = "JA" Then
|
If r.Cells("storniert").Value = "JA" Then
|
||||||
r.DefaultCellStyle.ForeColor = Color.Red
|
r.DefaultCellStyle.ForeColor = Color.Red
|
||||||
@@ -1160,9 +1194,11 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
If KASSETmp.rksv_FT_CashboxID IsNot Nothing AndAlso KASSETmp.rksv_FT_CashboxID <> "" AndAlso IsNumeric(KASSETmp.rksv_FT_CashboxID) AndAlso BELEGTmp.FT_ReceiptReference IsNot Nothing Then
|
If KASSETmp.rksv_FT_CashboxID IsNot Nothing AndAlso KASSETmp.rksv_FT_CashboxID <> "" AndAlso IsNumeric(KASSETmp.rksv_FT_CashboxID) AndAlso BELEGTmp.FT_ReceiptReference IsNot Nothing Then
|
||||||
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSETmp.rksv_FT_RestServiceURL, KASSETmp.rksv_FT_CashboxID, KASSETmp.rksv_FT_AccessToken, KASSETmp.rksv_FT_Country)
|
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSETmp.rksv_FT_RestServiceURL, KASSETmp.rksv_FT_CashboxID, KASSETmp.rksv_FT_AccessToken, KASSETmp.rksv_FT_Country)
|
||||||
If Not cRKSV.stornoRKSV_FT(KASSETmp, BELEGTmp, QRQString, LastJWS, answer) Then
|
If Not cRKSV.stornoRKSV_FT(KASSETmp, BELEGTmp, QRQString, LastJWS, answer, TSEIsOnline) Then
|
||||||
MessageBox.Show("Fehler bei der RKSV-FT-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
MessageBox.Show("Fehler bei der RKSV-FT-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
|
Else
|
||||||
|
BELEGTmp.rksv_qr = QRQString
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
@@ -1242,7 +1278,7 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
If KASSETmp.rksv_FT_CashboxID IsNot Nothing AndAlso KASSETmp.rksv_FT_CashboxID <> "" AndAlso BELEGTmp.FT_ReceiptReference IsNot Nothing Then
|
If KASSETmp.rksv_FT_CashboxID IsNot Nothing AndAlso KASSETmp.rksv_FT_CashboxID <> "" AndAlso BELEGTmp.FT_ReceiptReference IsNot Nothing Then
|
||||||
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSETmp.rksv_FT_RestServiceURL, KASSETmp.rksv_FT_CashboxID, KASSETmp.rksv_FT_AccessToken, KASSETmp.rksv_FT_Country)
|
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSETmp.rksv_FT_RestServiceURL, KASSETmp.rksv_FT_CashboxID, KASSETmp.rksv_FT_AccessToken, KASSETmp.rksv_FT_Country)
|
||||||
If Not cRKSV.stornoRKSV_FT(KASSETmp, BELEGTmp, QRQString, LastJWS, answer) Then
|
If Not cRKSV.stornoRKSV_FT(KASSETmp, BELEGTmp, QRQString, LastJWS, answer, TSEIsOnline) Then
|
||||||
MessageBox.Show("Fehler bei der RKSV-FT-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
MessageBox.Show("Fehler bei der RKSV-FT-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
@@ -1363,7 +1399,7 @@ Public Class frmKassenbuch
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||||
Dim f As New frmKassenbuchPWD(PERSONAL)
|
Dim f As New frmKassenbuchPWD(PERSONAL)
|
||||||
If f.ShowDialog() = Windows.Forms.DialogResult.OK Then
|
If f.ShowDialog() = Windows.Forms.DialogResult.OK Then
|
||||||
@@ -1546,6 +1582,8 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
Private Sub Button11_Click_1(sender As Object, e As EventArgs) Handles Button11.Click
|
Private Sub Button11_Click_1(sender As Object, e As EventArgs) Handles Button11.Click
|
||||||
|
|
||||||
|
cm_FT.Items.Clear()
|
||||||
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
||||||
'nur im Testsystem!
|
'nur im Testsystem!
|
||||||
If Not cm_FT.Items.ContainsKey("bar") AndAlso isADMIN Then
|
If Not cm_FT.Items.ContainsKey("bar") AndAlso isADMIN Then
|
||||||
@@ -1574,7 +1612,7 @@ Public Class frmKassenbuch
|
|||||||
AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked
|
AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not cm_FT.Items.ContainsKey("initialstart") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then
|
If Not cm_FT.Items.ContainsKey("initialstart") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated AndAlso Not InitialStartIsCreated Then
|
||||||
Dim plose = New ToolStripMenuItem() With {.Text = "Initial Start", .Name = "initialstart", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
Dim plose = New ToolStripMenuItem() With {.Text = "Initial Start", .Name = "initialstart", .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
|
||||||
@@ -1634,6 +1672,13 @@ Public Class frmKassenbuch
|
|||||||
cm_FT.Items.Add(ids)
|
cm_FT.Items.Add(ids)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
If Not cm_FT.Items.ContainsKey("setMissingSignatures") Then
|
||||||
|
Dim ids = New ToolStripMenuItem() With {.Text = "fehlende Signaturen nachtragen", .Name = "setMissingSignatures", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||||
|
AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked
|
||||||
|
cm_FT.Items.Add(ids)
|
||||||
|
End If
|
||||||
|
|
||||||
cm_FT.Show(Cursor.Position)
|
cm_FT.Show(Cursor.Position)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
@@ -1674,6 +1719,93 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
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")
|
||||||
|
|
||||||
|
If dt.Rows.Count = 0 Then
|
||||||
|
MsgBox("Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " existieren keine unsignierten Belege!")
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
If vbYes = MsgBox("Möchten die " & dt.Rows.Count & " nicht signierten Belege an die TSE schicken?", vbYesNoCancel) Then
|
||||||
|
|
||||||
|
Dim result As Boolean = False
|
||||||
|
For Each r As DataRow In dt.Rows
|
||||||
|
|
||||||
|
Dim BELEG = New EABeleg("LOAD", r("Mandant"), r("Niederlassung"), r("Benutzer"), r("BelegNr"), r("BelegDat"))
|
||||||
|
Dim summeBRUTTO As Double = BELEG.rksv_umsatz
|
||||||
|
Dim QR_CodeString As String = ""
|
||||||
|
Dim LastJWS As String = ""
|
||||||
|
Dim EA As String = ""
|
||||||
|
Dim kindOfReceiptCase As String = ""
|
||||||
|
|
||||||
|
Select Case BELEG.Beleg_TYP
|
||||||
|
Case "0"
|
||||||
|
Continue For 'null Belege nicht senden!
|
||||||
|
Case "E" 'Eingang/Ausgang
|
||||||
|
If BELEG.Belegart = "1" Then
|
||||||
|
EA = "E"
|
||||||
|
Else
|
||||||
|
EA = "A"
|
||||||
|
End If
|
||||||
|
Case "L"
|
||||||
|
If BELEG.Belegart = "1" Then
|
||||||
|
EA = "E"
|
||||||
|
Else
|
||||||
|
EA = "A"
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
If BELEG.Belegart = "1" Then
|
||||||
|
EA = "E"
|
||||||
|
Else
|
||||||
|
EA = "A"
|
||||||
|
End If
|
||||||
|
End Select
|
||||||
|
|
||||||
|
kindOfReceiptCase = ReceiptCaseIntern.WIEDERHOLUNG
|
||||||
|
|
||||||
|
result = cRKSV.insertRKSVFiskaltrustAsync(PERSONAL.cRKSV_Kasse, BELEG, BELEG.rksv_BelegId, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), False, QR_CodeString, LastJWS, kindOfReceiptCase, BELEG.FT_ReceiptReference)
|
||||||
|
|
||||||
|
If result Then
|
||||||
|
BELEG.FT_MissingSignature = False
|
||||||
|
BELEG.SAVE()
|
||||||
|
Else
|
||||||
|
MsgBox("Fehler bei der nachträglichen Signierung von BelegNr: " & BELEG.BelegNr & vbNewLine & "Beleg wurde nicht in der QUEUE gefunden!" & vbNewLine & "Beleg muss erneut an Fiskaltrust gesendet werden!")
|
||||||
|
BELEG.FT_MissingSignature = False
|
||||||
|
BELEG.FT_setMissingSignatureFailed = True
|
||||||
|
BELEG.SAVE()
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
If result Then
|
||||||
|
init()
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ElseIf item.Name = "tempoutoforder" 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)
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ElseIf item.Name = "outoforder" Then
|
ElseIf item.Name = "outoforder" Then
|
||||||
@@ -1701,7 +1833,7 @@ 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.SignOInitialOperationReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
|
Dim result As String = client_chilkat.SignInitialOperationReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
|
||||||
|
|
||||||
|
|
||||||
If result <> "" Then
|
If result <> "" Then
|
||||||
@@ -1733,7 +1865,7 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie wirklich einen Teststorno durchführen?" & vbNewLine & "NIEMALS auf einer produktiven TSE durchführen!", vbYesNoCancel) Then
|
If vbYes = MsgBox("Möchten Sie wirklich einen Teststorno durchführen?" & vbNewLine & "NIEMALS auf einer produktiven TSE durchführen!", vbYesNoCancel) Then
|
||||||
|
|
||||||
Dim result As String = client_chilkat.ChancelReceipt_test("-1", PERSONAL.cRKSV_Kasse.rksv_id)
|
Dim result As String = client_chilkat.ChancelReceipt_test("-1", PERSONAL.cRKSV_Kasse.rksv_id, TSEIsOnline)
|
||||||
|
|
||||||
If result <> "" Then
|
If result <> "" Then
|
||||||
|
|
||||||
@@ -1754,7 +1886,7 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
If vbYes = MsgBox("Möchten Sie wirklich einen Testzahlung durchführen?" & vbNewLine & "NIEMALS auf einer produktiven TSE durchführen!", vbYesNoCancel) Then
|
If vbYes = MsgBox("Möchten Sie wirklich einen Testzahlung durchführen?" & vbNewLine & "NIEMALS auf einer produktiven TSE durchführen!", vbYesNoCancel) Then
|
||||||
|
|
||||||
Dim result As String = client_chilkat.SignReceipt_test(PERSONAL.cRKSV_Kasse.rksv_id)
|
Dim result As String = client_chilkat.SignReceipt_test(PERSONAL.cRKSV_Kasse.rksv_id, TSEIsOnline)
|
||||||
|
|
||||||
If result <> "" Then
|
If result <> "" Then
|
||||||
|
|
||||||
@@ -1853,7 +1985,7 @@ Public Class frmKassenbuch
|
|||||||
|
|
||||||
ElseIf (item.Name = "version" Or item.Name = "action" Or item.Name = "signatures" Or item.Name = "queueitem" Or item.Name = "exportJournal") Then
|
ElseIf (item.Name = "version" Or item.Name = "action" Or item.Name = "signatures" Or item.Name = "queueitem" Or item.Name = "exportJournal") Then
|
||||||
|
|
||||||
Dim result As String = ""
|
Dim result As String = ""
|
||||||
Select Case item.Name
|
Select Case item.Name
|
||||||
Case "version" : result = client_chilkat.Journal(FtJournalType.VersionInformation)
|
Case "version" : result = client_chilkat.Journal(FtJournalType.VersionInformation)
|
||||||
Case "action" : result = client_chilkat.Journal(FtJournalType.ActionJournal)
|
Case "action" : result = client_chilkat.Journal(FtJournalType.ActionJournal)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
Imports GrapeCity.ActiveReports
|
Imports GrapeCity.ActiveReports
|
||||||
|
Imports java.security.acl
|
||||||
Imports VERAG_PROG_ALLGEMEIN
|
Imports VERAG_PROG_ALLGEMEIN
|
||||||
|
|
||||||
Public Class frmNacherfassungLeihgeld
|
Public Class frmNacherfassungLeihgeld
|
||||||
@@ -363,143 +364,158 @@ 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
|
||||||
|
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 ' WENN für die Kasse die RKSV gilt
|
If KASSE.rksv_aktiv Then ' WENN für die Kasse die RKSV gilt
|
||||||
Dim answer = ""
|
Dim answer = ""
|
||||||
|
|
||||||
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, "Verkauf")
|
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, "Verkauf")
|
||||||
'result.Wait()
|
'result.Wait()
|
||||||
verarbeitet = result
|
verarbeitet = result
|
||||||
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
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not verarbeitet AndAlso Not isFiskaltrust Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
|
||||||
If Not TESTBUCHUNG Then
|
|
||||||
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summeBRUTTO * -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.")
|
|
||||||
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
|
|
||||||
End If
|
|
||||||
KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
If KASSE.rksvDE_aktiv Then ' WENN für die Kasse die RKSV gilt
|
|
||||||
Dim answer = ""
|
|
||||||
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
|
|
||||||
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summeBRUTTO * -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.")
|
|
||||||
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
|
|
||||||
End If
|
|
||||||
If Not isFiskaltrust Then 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 = summeBRUTTO
|
|
||||||
BELEG.rksv_aktiv = (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv)
|
|
||||||
BELEG.SAVE()
|
|
||||||
|
|
||||||
'Zuerst, damit Provisionsbetrag auf Aktendeckel gedruckt wird...
|
|
||||||
Dim barbetrag As Double = 0
|
|
||||||
Dim BelegNrProvision = 0
|
|
||||||
If cbxProvision.Checked Then
|
|
||||||
printProvision(barbetrag, BelegNrProvision, cbxProvinMAKassa.Checked)
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken
|
|
||||||
cRKSV.printKundenBelegLG(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, "LG") 'Beleg drucken
|
|
||||||
|
|
||||||
If cboPrintAktendeckel.Checked Then printLGAktendeckel("PRINT", barbetrag, BelegNrProvision)
|
|
||||||
|
|
||||||
|
|
||||||
'nur bei VERAG die fragen
|
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" OrElse VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" OrElse vbYes = MsgBox("Daten ins Speditionsbuch eintragen?", vbYesNoCancel) Then
|
|
||||||
Dim abbruch As Boolean = False
|
|
||||||
If cRKSV.SpedBuchExists(BELEG) Then
|
|
||||||
If vbYes = MsgBox("Speditionsbuch Eintrag existiert bereits - Daten überschreiben?", vbYesNoCancel) Then
|
|
||||||
abbruch = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not abbruch Then
|
|
||||||
cRKSV.insertToSpedBuch(PERSONAL, PERSONAL_LG, BELEG, AvisoID, , barbetrag, BelegNrProvision)
|
|
||||||
Dim spedBuchExisting As Boolean = cRKSV.SpedBuchExists(BELEG)
|
|
||||||
If Not spedBuchExisting Then
|
|
||||||
MsgBox("Speditionsbuch-Eintrag fehlgeschlagen!!")
|
|
||||||
Else
|
Else
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" Then 'nur bei VERAG
|
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
|
||||||
|
|
||||||
If vbYes = MsgBox("Speditionsbuch anzeigen?", vbYesNoCancel) Then
|
|
||||||
Dim frmNacherfassung As New frmNacherfassungNEU()
|
|
||||||
frmNacherfassung.srchFiliale = BELEG.FilialenNr
|
|
||||||
frmNacherfassung.srchAbfertigungsnummer = BELEG.AbfertigungsNr
|
|
||||||
frmNacherfassung.srchUnterNr = 0
|
|
||||||
frmNacherfassung.ShowDialog(Me)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Not verarbeitet Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
||||||
|
|
||||||
|
If Not isFiskaltrust Then
|
||||||
|
|
||||||
|
If Not TESTBUCHUNG Then
|
||||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" AndAlso spedBuchExisting Then
|
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summeBRUTTO * -1)
|
||||||
Dim verarbOK As Boolean = True
|
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
||||||
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(BELEG.FilialenNr, BELEG.AbfertigungsNr)
|
|
||||||
SPEDBUCH.BelegNr = BelegNrFIBU
|
|
||||||
Dim RK_ID As Integer = -1
|
|
||||||
|
|
||||||
If Not gen_RECHNUNG_BySPEDBUCH(BELEG.KundenNr, SPEDBUCH, RK_ID, cbxOP_sofort_buchen.Checked, summeBRUTTO, summeNETTO, BELEG) Then verarbOK = False
|
|
||||||
If RK_ID > 0 Then
|
|
||||||
Dim RECHNUNG As New cRechnungsausgang(RK_ID)
|
|
||||||
RECHNUNG.KdAuftragsNr = BelegNrFIBU
|
|
||||||
If Not cFakturierung.doRechnungsDruck(RECHNUNG, Today(),, 4) Then verarbOK = False
|
|
||||||
If RECHNUNG.[DruckDatumZeit] IsNot Nothing Then
|
|
||||||
RECHNUNG.[DruckDatumZeit] = Nothing
|
|
||||||
RECHNUNG.SAVE_DruckDatumZeit()
|
|
||||||
End If
|
End If
|
||||||
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.")
|
||||||
|
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
|
||||||
|
|
||||||
If verarbOK Then
|
|
||||||
'MsgBox("Rechnung erstellt!")
|
|
||||||
Else
|
Else
|
||||||
MsgBox("Fehler bei Rechnungserstellung!")
|
BELEG.FT_MissingSignature = True
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
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 RKSV gilt
|
||||||
|
Dim answer = ""
|
||||||
|
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
|
||||||
|
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summeBRUTTO * -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.")
|
||||||
|
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
|
||||||
|
End If
|
||||||
|
If Not isFiskaltrust Then 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
|
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 = summeBRUTTO
|
||||||
|
BELEG.rksv_aktiv = (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv)
|
||||||
|
BELEG.SAVE()
|
||||||
|
|
||||||
|
'Zuerst, damit Provisionsbetrag auf Aktendeckel gedruckt wird...
|
||||||
|
Dim barbetrag As Double = 0
|
||||||
|
Dim BelegNrProvision = 0
|
||||||
|
If cbxProvision.Checked Then
|
||||||
|
printProvision(barbetrag, BelegNrProvision, cbxProvinMAKassa.Checked)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken
|
||||||
|
cRKSV.printKundenBelegLG(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString, "LG") 'Beleg drucken
|
||||||
|
|
||||||
|
If cboPrintAktendeckel.Checked Then printLGAktendeckel("PRINT", barbetrag, BelegNrProvision)
|
||||||
|
|
||||||
|
|
||||||
|
'nur bei VERAG die fragen
|
||||||
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" OrElse VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" OrElse vbYes = MsgBox("Daten ins Speditionsbuch eintragen?", vbYesNoCancel) Then
|
||||||
|
Dim abbruch As Boolean = False
|
||||||
|
If cRKSV.SpedBuchExists(BELEG) Then
|
||||||
|
If vbYes = MsgBox("Speditionsbuch Eintrag existiert bereits - Daten überschreiben?", vbYesNoCancel) Then
|
||||||
|
abbruch = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not abbruch Then
|
||||||
|
cRKSV.insertToSpedBuch(PERSONAL, PERSONAL_LG, BELEG, AvisoID, , barbetrag, BelegNrProvision)
|
||||||
|
Dim spedBuchExisting As Boolean = cRKSV.SpedBuchExists(BELEG)
|
||||||
|
If Not spedBuchExisting Then
|
||||||
|
MsgBox("Speditionsbuch-Eintrag fehlgeschlagen!!")
|
||||||
|
Else
|
||||||
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" Then 'nur bei VERAG
|
||||||
|
|
||||||
|
If vbYes = MsgBox("Speditionsbuch anzeigen?", vbYesNoCancel) Then
|
||||||
|
Dim frmNacherfassung As New frmNacherfassungNEU()
|
||||||
|
frmNacherfassung.srchFiliale = BELEG.FilialenNr
|
||||||
|
frmNacherfassung.srchAbfertigungsnummer = BELEG.AbfertigungsNr
|
||||||
|
frmNacherfassung.srchUnterNr = 0
|
||||||
|
frmNacherfassung.ShowDialog(Me)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" AndAlso spedBuchExisting Then
|
||||||
|
Dim verarbOK As Boolean = True
|
||||||
|
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(BELEG.FilialenNr, BELEG.AbfertigungsNr)
|
||||||
|
SPEDBUCH.BelegNr = BelegNrFIBU
|
||||||
|
Dim RK_ID As Integer = -1
|
||||||
|
|
||||||
|
If Not gen_RECHNUNG_BySPEDBUCH(BELEG.KundenNr, SPEDBUCH, RK_ID, cbxOP_sofort_buchen.Checked, summeBRUTTO, summeNETTO, BELEG) Then verarbOK = False
|
||||||
|
If RK_ID > 0 Then
|
||||||
|
Dim RECHNUNG As New cRechnungsausgang(RK_ID)
|
||||||
|
RECHNUNG.KdAuftragsNr = BelegNrFIBU
|
||||||
|
If Not cFakturierung.doRechnungsDruck(RECHNUNG, Today(),, 4) Then verarbOK = False
|
||||||
|
If RECHNUNG.[DruckDatumZeit] IsNot Nothing Then
|
||||||
|
RECHNUNG.[DruckDatumZeit] = Nothing
|
||||||
|
RECHNUNG.SAVE_DruckDatumZeit()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If verarbOK Then
|
||||||
|
'MsgBox("Rechnung erstellt!")
|
||||||
|
Else
|
||||||
|
MsgBox("Fehler bei Rechnungserstellung!")
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Me.Close()
|
||||||
|
Me.DialogResult = Windows.Forms.DialogResult.OK
|
||||||
|
Me.Cursor = Cursors.Default
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Me.Close()
|
|
||||||
Me.DialogResult = Windows.Forms.DialogResult.OK
|
|
||||||
Me.Cursor = Cursors.Default
|
|
||||||
End If
|
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
MsgBox("Allgemeiner Programmfehler - Belegerfassung wird geschlossen!" & If(BELEG.rksv_BelegId > 0, "ACHTUNG: BELEG BEREITS SIGNIERT!!!", "") & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
|
MsgBox("Allgemeiner Programmfehler - Belegerfassung wird geschlossen!" & If(BELEG.rksv_BelegId > 0, "ACHTUNG: BELEG BEREITS SIGNIERT!!!", "") & vbNewLine & vbNewLine & ex.Message & ex.StackTrace)
|
||||||
|
|||||||
@@ -3147,13 +3147,13 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land
|
|||||||
sqlGroup = " CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 AND 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END"
|
sqlGroup = " CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 AND 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END"
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
sqlstr &= " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], " & sqlSelect & ", tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
|
sqlstr &= " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], " & sqlSelect & ", tbl_IDS_Produkte.ProductDescription,tbl_IDS_Stationen.OutletName, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
|
||||||
case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
|
case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
|
||||||
Sum(tblIDSTransactionsNew.Rabattbetrag) AS [SummevonRabattbetrag],
|
Sum(tblIDSTransactionsNew.Rabattbetrag) AS [SummevonRabattbetrag],
|
||||||
case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
|
case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
|
||||||
FROM ((tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode) INNER JOIN tbl_IDS_Produkte ON tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode) INNER JOIN Adressen ON tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
|
FROM ((tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode) INNER JOIN tbl_IDS_Produkte ON tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode INNER JOIN tbl_IDS_Stationen ON tblIDSTransactionsNew.OutletCountryCode = tbl_IDS_Stationen.OutletCountryCode and tblIDSTransactionsNew.OutletCode = tbl_IDS_Stationen.OutletCode) INNER JOIN Adressen ON tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
|
||||||
WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & sqlWhere & "
|
WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & sqlWhere & "
|
||||||
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], " & sqlGroup & ", tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz;
|
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], " & sqlGroup & ", tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz,tbl_IDS_Stationen.OutletName;
|
||||||
"
|
"
|
||||||
|
|
||||||
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
||||||
@@ -3210,7 +3210,12 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land
|
|||||||
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("AdressenNr").Value, "")
|
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("AdressenNr").Value, "")
|
||||||
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
|
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
|
||||||
|
|
||||||
rpt.txtProduktBeschreibung.Text = SQL.isDbnullEmpty(rpt.Fields.Item("ProductDescription").Value, "")
|
Dim Station As String = SQL.isDbnullEmpty(rpt.Fields.Item("OutletName").Value, "")
|
||||||
|
If Station <> "" Then
|
||||||
|
Station = " (" & Station & ")"
|
||||||
|
End If
|
||||||
|
|
||||||
|
rpt.txtProduktBeschreibung.Text = SQL.isDbnullEmpty(rpt.Fields.Item("ProductDescription").Value, "") & Station
|
||||||
|
|
||||||
rpt.txtLiter.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Liter").Value, "")
|
rpt.txtLiter.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Liter").Value, "")
|
||||||
rpt.txtPreis.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("NettopreisProLiter").Value, 4, "")
|
rpt.txtPreis.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("NettopreisProLiter").Value, 4, "")
|
||||||
|
|||||||
@@ -64,6 +64,10 @@ Public Class cNCTSGestellungsadressen
|
|||||||
Public Function SAVE() As Boolean
|
Public Function SAVE() As Boolean
|
||||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||||
|
|
||||||
|
If Not VERAG_PROG_ALLGEMEIN.cProgramFunctions.ValidateSQLFieldLengths(list, "tblNCTSGestellungsadressen", "", "FMZOLL") Then
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblNCTSGestellungsadressen WITH(updlock,serializable) WHERE nga_id=@nga_id) " &
|
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblNCTSGestellungsadressen WITH(updlock,serializable) WHERE nga_id=@nga_id) " &
|
||||||
" BEGIN " & getUpdateCmd() & " END " &
|
" BEGIN " & getUpdateCmd() & " END " &
|
||||||
|
|||||||
@@ -2512,7 +2512,7 @@ Public Class DATENVERVER_OPTIONS
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
Public Shared Function addZugferdXML(pdfPath As String, xmlPath As String) As String
|
Public Shared Function addZugferdXML(pdfPath As String, xmlPath As String, Optional fixedIssuerAssignedID As Boolean = True) As String
|
||||||
|
|
||||||
|
|
||||||
Dim tempFile As String = pdfPath & ".tmp"
|
Dim tempFile As String = pdfPath & ".tmp"
|
||||||
@@ -2522,6 +2522,12 @@ Public Class DATENVERVER_OPTIONS
|
|||||||
|
|
||||||
|
|
||||||
Dim xmlBytes = File.ReadAllBytes(xmlPath)
|
Dim xmlBytes = File.ReadAllBytes(xmlPath)
|
||||||
|
|
||||||
|
If fixedIssuerAssignedID Then
|
||||||
|
fixIssuerAssignedID(xmlBytes)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
Dim fileName As String = "factur-x.xml"
|
Dim fileName As String = "factur-x.xml"
|
||||||
|
|
||||||
If HasAttachment(pdf, fileName) Then
|
If HasAttachment(pdf, fileName) Then
|
||||||
@@ -2557,6 +2563,75 @@ Public Class DATENVERVER_OPTIONS
|
|||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Public Shared Sub fixIssuerAssignedID(ByRef xmlBytes As Byte())
|
||||||
|
|
||||||
|
|
||||||
|
Dim xmlDoc As New System.Xml.XmlDocument()
|
||||||
|
xmlDoc.PreserveWhitespace = True
|
||||||
|
|
||||||
|
Using ms As New MemoryStream(xmlBytes)
|
||||||
|
xmlDoc.Load(ms)
|
||||||
|
End Using
|
||||||
|
|
||||||
|
Dim ns As New System.Xml.XmlNamespaceManager(xmlDoc.NameTable)
|
||||||
|
|
||||||
|
ns.AddNamespace(
|
||||||
|
"ram",
|
||||||
|
"urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
|
||||||
|
)
|
||||||
|
|
||||||
|
Dim documents = xmlDoc.SelectNodes(
|
||||||
|
"//ram:AdditionalReferencedDocument",
|
||||||
|
ns
|
||||||
|
)
|
||||||
|
|
||||||
|
For Each document As XmlElement In documents
|
||||||
|
|
||||||
|
Dim idNode As XmlNode =
|
||||||
|
document.SelectSingleNode("ram:ID", ns)
|
||||||
|
|
||||||
|
If idNode Is Nothing Then
|
||||||
|
Continue For
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Wert der bisherigen ID merken
|
||||||
|
Dim idValue As String = idNode.InnerText
|
||||||
|
|
||||||
|
' Neue IssuerAssignedID erzeugen
|
||||||
|
Dim issuerAssignedID As XmlElement =
|
||||||
|
xmlDoc.CreateElement(
|
||||||
|
"ram",
|
||||||
|
"IssuerAssignedID",
|
||||||
|
"urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
|
||||||
|
)
|
||||||
|
|
||||||
|
issuerAssignedID.InnerText = idValue
|
||||||
|
|
||||||
|
' ID entfernen
|
||||||
|
document.RemoveChild(idNode)
|
||||||
|
|
||||||
|
' IssuerAssignedID an ERSTE Stelle setzen
|
||||||
|
document.InsertBefore(
|
||||||
|
issuerAssignedID,
|
||||||
|
document.FirstChild
|
||||||
|
)
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
Using ms As New MemoryStream()
|
||||||
|
xmlDoc.Save(ms)
|
||||||
|
xmlBytes = ms.ToArray()
|
||||||
|
End Using
|
||||||
|
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private Shared Function HasAttachment(pdf As iText.Kernel.Pdf.PdfDocument, fileName As String) As Boolean
|
Private Shared Function HasAttachment(pdf As iText.Kernel.Pdf.PdfDocument, fileName As String) As Boolean
|
||||||
|
|
||||||
Dim catalog = pdf.GetCatalog().GetPdfObject()
|
Dim catalog = pdf.GetCatalog().GetPdfObject()
|
||||||
|
|||||||
@@ -225,7 +225,13 @@ Public Class cVERAG_CustomsDeclarations
|
|||||||
' CBAM Pattern (HSCode)
|
' CBAM Pattern (HSCode)
|
||||||
' ------------------------------------------------------------
|
' ------------------------------------------------------------
|
||||||
Dim cbamWhere As String = VERAG_PROG_ALLGEMEIN.cGreendeal_CBAM_Trn.BuildCBAMPatternWhereClause("i.zaItem_HSCode")
|
Dim cbamWhere As String = VERAG_PROG_ALLGEMEIN.cGreendeal_CBAM_Trn.BuildCBAMPatternWhereClause("i.zaItem_HSCode")
|
||||||
Dim cbamWhereSnd As String = " AND " & cbamWhere.Replace("i.zaItem_HSCode", "zaItem_HSCode")
|
Dim cbamWhereSnd As String = " AND " & cbamWhere.Replace("i.zaItem_HSCode", "zaItem_HSCode") &
|
||||||
|
" AND zaItem_OriginCountry NOT IN (
|
||||||
|
'EU','AT','BE','BG','HR','CY','CZ','DK','EE','FI','FR',
|
||||||
|
'DE','GR','HU','IE','IT','LV','LT','LU','MT','NL',
|
||||||
|
'PL','PT','RO','SK','SI','ES','SE',
|
||||||
|
'CH','NO','IS','LI','XI'
|
||||||
|
)"
|
||||||
|
|
||||||
Dim cbamWhereISOCntry As String = " i.zaItem_OriginCountry NOT IN (
|
Dim cbamWhereISOCntry As String = " i.zaItem_OriginCountry NOT IN (
|
||||||
/*EU-27 (ISO2)*/
|
/*EU-27 (ISO2)*/
|
||||||
|
|||||||
Reference in New Issue
Block a user