Stornierung von Belegen mit EC-Zahlung erfordert nun extra Berechtigung, Zahlungsmittel wird im Beleg angezeigt.

This commit is contained in:
2023-03-13 14:25:02 +01:00
parent 8002d08f8f
commit 409fb2d14a
5 changed files with 98 additions and 36 deletions

View File

@@ -113,6 +113,20 @@ Public Class cRKSV
KBEntryGB = New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), j1) KBEntryGB = New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), j1)
Return True Return True
End Function End Function
Shared Function getZahlungsmittel(BELEG As EABeleg, PERSONAL As cPersonal, Firma As String) As String
Dim zm = SQL.getValueTxtBySql("SELECT [Finanzwege] FROM [tblKassenbuch] " &
" WHERE [Mandant]='" & PERSONAL.Mandant & "' AND [Niederlassung]='" & PERSONAL.Niederlassung & "' AND [Benutzer]='" & PERSONAL.ID & "' AND [Geschäftsjahr]='" & cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND [BelegNr] ='" & BELEG.BelegNr & "' and Steuer <=0 AND Soll <> 0", "FMZOLL")
If zm Is DBNull.Value Or zm = Nothing Then
Return "-"
End If
Return zm
End Function
Shared Function getDEP(ByVal kasse_id As Integer, ByRef exportResult As String) As Boolean Shared Function getDEP(ByVal kasse_id As Integer, ByRef exportResult As String) As Boolean
Dim KASSE As New cRKSV_Kasse(kasse_id) Dim KASSE As New cRKSV_Kasse(kasse_id)

View File

@@ -141,6 +141,8 @@ Partial Class frmBelegNeu
Me.DataGridViewTextBoxColumn9 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.DataGridViewTextBoxColumn9 = New System.Windows.Forms.DataGridViewTextBoxColumn()
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.Label28 = New System.Windows.Forms.Label()
Me.lblZahlungsmittel = 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()
@@ -410,7 +412,7 @@ Partial Class frmBelegNeu
' '
Me.Label12.AutoSize = True Me.Label12.AutoSize = True
Me.Label12.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label12.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label12.Location = New System.Drawing.Point(352, 87) Me.Label12.Location = New System.Drawing.Point(352, 101)
Me.Label12.Name = "Label12" Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(60, 13) Me.Label12.Size = New System.Drawing.Size(60, 13)
Me.Label12.TabIndex = 13 Me.Label12.TabIndex = 13
@@ -420,7 +422,7 @@ Partial Class frmBelegNeu
' '
Me.Label16.AutoSize = True Me.Label16.AutoSize = True
Me.Label16.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label16.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label16.Location = New System.Drawing.Point(352, 67) Me.Label16.Location = New System.Drawing.Point(352, 81)
Me.Label16.Name = "Label16" Me.Label16.Name = "Label16"
Me.Label16.Size = New System.Drawing.Size(84, 13) Me.Label16.Size = New System.Drawing.Size(84, 13)
Me.Label16.TabIndex = 11 Me.Label16.TabIndex = 11
@@ -642,6 +644,8 @@ 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.Label28)
Me.pnlData.Controls.Add(Me.lblZahlungsmittel)
Me.pnlData.Controls.Add(Me.txtzuKassieren) Me.pnlData.Controls.Add(Me.txtzuKassieren)
Me.pnlData.Controls.Add(Me.Label22) Me.pnlData.Controls.Add(Me.Label22)
Me.pnlData.Controls.Add(Me.cbxSplittung) Me.pnlData.Controls.Add(Me.cbxSplittung)
@@ -866,7 +870,7 @@ Partial Class frmBelegNeu
Me.lblErr_steuer.AutoSize = True Me.lblErr_steuer.AutoSize = True
Me.lblErr_steuer.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblErr_steuer.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblErr_steuer.ForeColor = System.Drawing.Color.Red Me.lblErr_steuer.ForeColor = System.Drawing.Color.Red
Me.lblErr_steuer.Location = New System.Drawing.Point(376, 48) Me.lblErr_steuer.Location = New System.Drawing.Point(376, 62)
Me.lblErr_steuer.Name = "lblErr_steuer" Me.lblErr_steuer.Name = "lblErr_steuer"
Me.lblErr_steuer.Size = New System.Drawing.Size(244, 13) Me.lblErr_steuer.Size = New System.Drawing.Size(244, 13)
Me.lblErr_steuer.TabIndex = 9 Me.lblErr_steuer.TabIndex = 9
@@ -936,7 +940,7 @@ Partial Class frmBelegNeu
Me.txtSteuersatz._Waehrung = False Me.txtSteuersatz._Waehrung = False
Me.txtSteuersatz._WaehrungZeichen = True Me.txtSteuersatz._WaehrungZeichen = True
Me.txtSteuersatz.ForeColor = System.Drawing.Color.Black Me.txtSteuersatz.ForeColor = System.Drawing.Color.Black
Me.txtSteuersatz.Location = New System.Drawing.Point(441, 84) Me.txtSteuersatz.Location = New System.Drawing.Point(441, 98)
Me.txtSteuersatz.MaxLineLength = -1 Me.txtSteuersatz.MaxLineLength = -1
Me.txtSteuersatz.MaxLines_Warning = "" Me.txtSteuersatz.MaxLines_Warning = ""
Me.txtSteuersatz.MaxLines_Warning_Label = Nothing Me.txtSteuersatz.MaxLines_Warning_Label = Nothing
@@ -952,7 +956,7 @@ Partial Class frmBelegNeu
Me.cboSteuerschlüssel._value = "" Me.cboSteuerschlüssel._value = ""
Me.cboSteuerschlüssel.CausesValidation = False Me.cboSteuerschlüssel.CausesValidation = False
Me.cboSteuerschlüssel.FormattingEnabled = True Me.cboSteuerschlüssel.FormattingEnabled = True
Me.cboSteuerschlüssel.Location = New System.Drawing.Point(441, 64) Me.cboSteuerschlüssel.Location = New System.Drawing.Point(441, 78)
Me.cboSteuerschlüssel.Name = "cboSteuerschlüssel" Me.cboSteuerschlüssel.Name = "cboSteuerschlüssel"
Me.cboSteuerschlüssel.Size = New System.Drawing.Size(179, 21) Me.cboSteuerschlüssel.Size = New System.Drawing.Size(179, 21)
Me.cboSteuerschlüssel.TabIndex = 20 Me.cboSteuerschlüssel.TabIndex = 20
@@ -1708,6 +1712,28 @@ Partial Class frmBelegNeu
Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4) Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4)
' '
'Label28
'
Me.Label28.AutoSize = True
Me.Label28.BackColor = System.Drawing.Color.Transparent
Me.Label28.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label28.Location = New System.Drawing.Point(406, 38)
Me.Label28.Name = "Label28"
Me.Label28.Size = New System.Drawing.Size(78, 13)
Me.Label28.TabIndex = 46
Me.Label28.Text = "Zahlungsmittel:"
'
'lblZahlungsmittel
'
Me.lblZahlungsmittel.AutoSize = True
Me.lblZahlungsmittel.BackColor = System.Drawing.Color.Transparent
Me.lblZahlungsmittel.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblZahlungsmittel.Location = New System.Drawing.Point(494, 35)
Me.lblZahlungsmittel.Name = "lblZahlungsmittel"
Me.lblZahlungsmittel.Size = New System.Drawing.Size(14, 17)
Me.lblZahlungsmittel.TabIndex = 47
Me.lblZahlungsmittel.Text = "-"
'
'frmBelegNeu 'frmBelegNeu
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
@@ -1853,4 +1879,6 @@ Partial Class frmBelegNeu
Friend WithEvents Panel1 As Panel Friend WithEvents Panel1 As Panel
Friend WithEvents Label27 As Label Friend WithEvents Label27 As Label
Friend WithEvents Label26 As Label Friend WithEvents Label26 As Label
Friend WithEvents Label28 As Label
Friend WithEvents lblZahlungsmittel As Label
End Class End Class

View File

@@ -159,6 +159,9 @@
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>86</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>

View File

@@ -314,6 +314,7 @@ Public Class frmBelegNeu
Sub init() Sub init()
'lblRgNr.Text = "12345 / TR" 'lblRgNr.Text = "12345 / TR"
lblBelegDatum.Text = BELEG.BelegDat.ToShortDateString lblBelegDatum.Text = BELEG.BelegDat.ToShortDateString
lblZahlungsmittel.Text = cRKSV.getZahlungsmittel(BELEG, PERSONAL, PERSONAL.cRKSV_Kasse.rksv_firma)
lblkundeKdNr.Text = IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "") lblkundeKdNr.Text = IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
kdkunde.Text = BELEG.Ordnungsbegriff kdkunde.Text = BELEG.Ordnungsbegriff
If BELEG.KundenNr > 0 Then kdkunde.KdNr = BELEG.KundenNr If BELEG.KundenNr > 0 Then kdkunde.KdNr = BELEG.KundenNr

View File

@@ -1,4 +1,5 @@
Imports SDL.RKSVServer Imports DocumentFormat.OpenXml.Drawing
Imports SDL.RKSVServer
Public Class frmKassenbuch Public Class frmKassenbuch
Dim SQL As New SQL Dim SQL As New SQL
@@ -917,8 +918,21 @@ Public Class frmKassenbuch
Exit Sub Exit Sub
End If End If
Dim zahlungsmittel = cRKSV.getZahlungsmittel(BELEGTmp, PERSONAL, PERSONAL.cRKSV_Kasse.rksv_firma)
If zahlungsmittel = "EC" Then
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("POS_Zahlungen_stornieren", Me) Then
If Not vbYes = MsgBox("Dieser Beleg wurde mittels EC gezahlt, Zahlung muss ebenfalls manuell auf Terminal storniert werden!", vbYesNoCancel) Then
Exit Sub
End If
Else
MsgBox("Der aktuelle Benutzer ist nicht berechtigt EC-Zahlungen zu stornieren!")
Exit Sub
End If
End If
'NUR KB 'NUR KB
@@ -981,20 +995,20 @@ Public Class frmKassenbuch
' BELEGTmp = New EABeleg("LOAD", PERSONAL.Mandant, PERSONAL.Niederlassung, dt.Rows(0)("Benutzer"), dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat")) ' BELEGTmp = New EABeleg("LOAD", PERSONAL.Mandant, PERSONAL.Niederlassung, dt.Rows(0)("Benutzer"), dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat"))
Dim PERSONALTmp As cPersonal = FMZOLL_SQL.getPersonalById(BELEGTmp.Benutzer) Dim PERSONALTmp As cPersonal = FMZOLL_SQL.getPersonalById(BELEGTmp.Benutzer)
If master_Kasse = False Then If master_Kasse = False Then
If BELEGTmp.Benutzer <> PERSONAL.ID Then MsgBox("Der Beleg wurde von einem anderen Beutzer erstellt. " & vbNewLine & " Bitte wenden Sie sich an: '" & PERSONALTmp.Name & "'.") : Exit Sub If BELEGTmp.Benutzer <> PERSONAL.ID And Not zahlungsmittel = "EC" Then MsgBox("Der Beleg wurde von einem anderen Beutzer erstellt. " & vbNewLine & " Bitte wenden Sie sich an: '" & PERSONALTmp.Name & "'.") : Exit Sub
End If End If
Dim grund = InputBox("Möchten Sie den Beleg wirklich storinieren?" & vbNewLine & vbNewLine & "Betrag: " & BELEGTmp.rksv_umsatz & vbNewLine & "Datum: " & BELEGTmp.BelegDat & vbNewLine & vbNewLine & "Bitte geben Sie einen Stornogrund an:" & vbNewLine, "Storno") Dim grund = InputBox("Möchten Sie den Beleg wirklich storinieren?" & vbNewLine & vbNewLine & "Betrag: " & BELEGTmp.rksv_umsatz & vbNewLine & "Datum: " & BELEGTmp.BelegDat & vbNewLine & vbNewLine & "Bitte geben Sie einen Stornogrund an:" & vbNewLine, "Storno")
If grund = "" Then If grund = "" Then
MsgBox("Kein Stornotext, Aktion wird abgebrochen") MsgBox("Kein Stornotext, Aktion wird abgebrochen")
Exit Sub Exit Sub
End If End If
If BELEGTmp.BelegNr <= 0 Then MsgBox("Fehler beim Laden der Belegdaten") : Exit Sub If BELEGTmp.BelegNr <= 0 Then MsgBox("Fehler beim Laden der Belegdaten") : Exit Sub
If Not BELEGTmp.gebuchtStorno Then 'f.cbxStornoErzwingenAdmin.Checked=stono erzwingen If Not BELEGTmp.gebuchtStorno Then 'f.cbxStornoErzwingenAdmin.Checked=stono erzwingen
Dim OLD_rksv_BelegId = BELEGTmp.rksv_BelegId Dim OLD_rksv_BelegId = BELEGTmp.rksv_BelegId
Dim KASSETmp As New cRKSV_Kasse(BELEGTmp.rksv_id) Dim KASSETmp As New cRKSV_Kasse(BELEGTmp.rksv_id)
@@ -1040,33 +1054,35 @@ Public Class frmKassenbuch
End If End If
End If End If
Select Case BELEGTmp.Beleg_TYP 'dt.Rows(0)("Beleg_TYP") Select Case BELEGTmp.Beleg_TYP 'dt.Rows(0)("Beleg_TYP")
Case "E" Case "E"
Dim KBEntry As cKassenbuch = Nothing Dim KBEntry As cKassenbuch = Nothing
Dim KBEntryGB As cKassenbuch = Nothing Dim KBEntryGB As cKassenbuch = Nothing
If cRKSV.getKB(BELEGTmp, PERSONALTmp, KBEntry, KBEntryGB, KASSETmp.rksv_firma) Then If cRKSV.getKB(BELEGTmp, PERSONALTmp, KBEntry, KBEntryGB, KASSETmp.rksv_firma) Then
cRKSV.printFremdBeleg(BELEGTmp, KASSETmp, PERSONALTmp, KBEntry, KBEntryGB, "") 'Beleg drucken cRKSV.printFremdBeleg(BELEGTmp, KASSETmp, PERSONALTmp, KBEntry, KBEntryGB, "") 'Beleg drucken
End If End If
Case "L" Case "L"
cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "LG") 'Beleg drucken cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "LG") 'Beleg drucken
Case "A" Case "A"
cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "A") 'Beleg drucken cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "A") 'Beleg drucken
Case Else Case Else
cRKSV.printKundenBeleg(BELEGTmp, KASSETmp, PERSONALTmp, "", False) 'Beleg drucken cRKSV.printKundenBeleg(BELEGTmp, KASSETmp, PERSONALTmp, "", False) 'Beleg drucken
End Select End Select
MsgBox("Beleg storniert!")
MsgBox("Beleg storniert!") 'Dim frmBeleg As New frmBelegNeu(PERSONAL, PERSONAL.Mandant, PERSONAL.Niederlassung, dt.Rows(0)("Benutzer"), dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat"))
'Dim frmBeleg As New frmBelegNeu(PERSONAL, PERSONAL.Mandant, PERSONAL.Niederlassung, dt.Rows(0)("Benutzer"), dt.Rows(0)("BelegNr"), dt.Rows(0)("BelegDat")) ' frmBeleg.ShowDialog(Me)
' frmBeleg.ShowDialog(Me) ' init() If Not BELEGTmp.gebuchtStorno Then
' init() If Not BELEGTmp.gebuchtStorno Then
Else
MsgBox("Beleg wurde bereits storniert!")
End If
init()
Else Else
MsgBox("Keine Daten gefunden!") MsgBox("Beleg wurde bereits storniert!")
End If End If
init()
Else
MsgBox("Keine Daten gefunden!")
End If End If
init()
Else
MsgBox("Keine Daten gefunden!")
End If
End Sub End Sub