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)
Return True
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
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.FlowLayoutPanel2 = New System.Windows.Forms.FlowLayoutPanel()
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()
Me.pnl.SuspendLayout()
Me.pnlData.SuspendLayout()
@@ -410,7 +412,7 @@ Partial Class frmBelegNeu
'
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.Location = New System.Drawing.Point(352, 87)
Me.Label12.Location = New System.Drawing.Point(352, 101)
Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(60, 13)
Me.Label12.TabIndex = 13
@@ -420,7 +422,7 @@ Partial Class frmBelegNeu
'
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.Location = New System.Drawing.Point(352, 67)
Me.Label16.Location = New System.Drawing.Point(352, 81)
Me.Label16.Name = "Label16"
Me.Label16.Size = New System.Drawing.Size(84, 13)
Me.Label16.TabIndex = 11
@@ -642,6 +644,8 @@ Partial Class frmBelegNeu
'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.Controls.Add(Me.Label28)
Me.pnlData.Controls.Add(Me.lblZahlungsmittel)
Me.pnlData.Controls.Add(Me.txtzuKassieren)
Me.pnlData.Controls.Add(Me.Label22)
Me.pnlData.Controls.Add(Me.cbxSplittung)
@@ -866,7 +870,7 @@ Partial Class frmBelegNeu
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.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.Size = New System.Drawing.Size(244, 13)
Me.lblErr_steuer.TabIndex = 9
@@ -936,7 +940,7 @@ Partial Class frmBelegNeu
Me.txtSteuersatz._Waehrung = False
Me.txtSteuersatz._WaehrungZeichen = True
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.MaxLines_Warning = ""
Me.txtSteuersatz.MaxLines_Warning_Label = Nothing
@@ -952,7 +956,7 @@ Partial Class frmBelegNeu
Me.cboSteuerschlüssel._value = ""
Me.cboSteuerschlüssel.CausesValidation = False
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.Size = New System.Drawing.Size(179, 21)
Me.cboSteuerschlüssel.TabIndex = 20
@@ -1708,6 +1712,28 @@ Partial Class frmBelegNeu
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
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
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
@@ -1853,4 +1879,6 @@ Partial Class frmBelegNeu
Friend WithEvents Panel1 As Panel
Friend WithEvents Label27 As Label
Friend WithEvents Label26 As Label
Friend WithEvents Label28 As Label
Friend WithEvents lblZahlungsmittel As Label
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">
<value>17, 17</value>
</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" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@@ -314,6 +314,7 @@ Public Class frmBelegNeu
Sub init()
'lblRgNr.Text = "12345 / TR"
lblBelegDatum.Text = BELEG.BelegDat.ToShortDateString
lblZahlungsmittel.Text = cRKSV.getZahlungsmittel(BELEG, PERSONAL, PERSONAL.cRKSV_Kasse.rksv_firma)
lblkundeKdNr.Text = IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
kdkunde.Text = BELEG.Ordnungsbegriff
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
Dim SQL As New SQL
@@ -917,8 +918,21 @@ Public Class frmKassenbuch
Exit Sub
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
@@ -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"))
Dim PERSONALTmp As cPersonal = FMZOLL_SQL.getPersonalById(BELEGTmp.Benutzer)
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
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")
If grund = "" Then
MsgBox("Kein Stornotext, Aktion wird abgebrochen")
Exit Sub
End If
If master_Kasse = False Then
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
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
MsgBox("Kein Stornotext, Aktion wird abgebrochen")
Exit Sub
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 KASSETmp As New cRKSV_Kasse(BELEGTmp.rksv_id)
@@ -1040,33 +1054,35 @@ Public Class frmKassenbuch
End If
End If
Select Case BELEGTmp.Beleg_TYP 'dt.Rows(0)("Beleg_TYP")
Case "E"
Dim KBEntry As cKassenbuch = Nothing
Dim KBEntryGB As cKassenbuch = Nothing
Select Case BELEGTmp.Beleg_TYP 'dt.Rows(0)("Beleg_TYP")
Case "E"
Dim KBEntry As cKassenbuch = Nothing
Dim KBEntryGB As cKassenbuch = Nothing
If cRKSV.getKB(BELEGTmp, PERSONALTmp, KBEntry, KBEntryGB, KASSETmp.rksv_firma) Then
cRKSV.printFremdBeleg(BELEGTmp, KASSETmp, PERSONALTmp, KBEntry, KBEntryGB, "") 'Beleg drucken
End If
Case "L"
cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "LG") 'Beleg drucken
Case "A"
cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "A") 'Beleg drucken
Case Else
cRKSV.printKundenBeleg(BELEGTmp, KASSETmp, PERSONALTmp, "", False) 'Beleg drucken
End Select
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"))
' frmBeleg.ShowDialog(Me)
' init() If Not BELEGTmp.gebuchtStorno Then
Else
MsgBox("Beleg wurde bereits storniert!")
End If
init()
cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "LG") 'Beleg drucken
Case "A"
cRKSV.printKundenBelegLG(BELEGTmp, KASSETmp, PERSONALTmp, "", "A") 'Beleg drucken
Case Else
cRKSV.printKundenBeleg(BELEGTmp, KASSETmp, PERSONALTmp, "", False) 'Beleg drucken
End Select
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"))
' frmBeleg.ShowDialog(Me)
' init() If Not BELEGTmp.gebuchtStorno Then
Else
MsgBox("Keine Daten gefunden!")
MsgBox("Beleg wurde bereits storniert!")
End If
init()
Else
MsgBox("Keine Daten gefunden!")
End If
init()
Else
MsgBox("Keine Daten gefunden!")
End If
End Sub