POS Terminal -> Funktion mei mehreren Kassenterminals pro Kassenplatz bzw Kasse.

This commit is contained in:
2023-03-01 16:04:50 +01:00
parent 57dd4748c5
commit a698f87404
3 changed files with 105 additions and 56 deletions

View File

@@ -22,6 +22,7 @@ Partial Class frmBelegNeu
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmBelegNeu))
Me.dgvBelegPos = New System.Windows.Forms.DataGridView()
Me.clmnAnzahl = New System.Windows.Forms.DataGridViewTextBoxColumn()
@@ -136,6 +137,7 @@ Partial Class frmBelegNeu
Me.DataGridViewTextBoxColumn8 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.DataGridViewTextBoxColumn9 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.FlowLayoutPanel2 = New System.Windows.Forms.FlowLayoutPanel()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
CType(Me.dgvBelegPos, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnl.SuspendLayout()
Me.pnlData.SuspendLayout()
@@ -1661,6 +1663,11 @@ Partial Class frmBelegNeu
Me.FlowLayoutPanel2.TabIndex = 3
Me.FlowLayoutPanel2.Visible = False
'
'ContextMenuStrip1
'
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(181, 26)
'
'frmBelegNeu
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
@@ -1801,4 +1808,5 @@ Partial Class frmBelegNeu
Friend WithEvents txtzuKassieren As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents Label22 As System.Windows.Forms.Label
Friend WithEvents btnPOS As Button
Friend WithEvents ContextMenuStrip1 As ContextMenuStrip
End Class

View File

@@ -156,6 +156,9 @@
<metadata name="FilialenNr.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</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

@@ -2,6 +2,7 @@
Imports System.Drawing.Printing
Imports System.Globalization
Imports com.sun.org.apache.xpath.internal.operations
Imports com.sun.xml.internal.ws.api.model
Imports DAKOSY_Worker.DEXPRD
Imports Microsoft.Win32
Imports SDL.RKSVServer
@@ -35,6 +36,10 @@ Public Class frmBelegNeu
Private Funktion As Integer
Private Betrag As Integer = 0
Private posTerminal As cRKSV_POS
Private dt As DataTable
Private setBreak As Boolean = True
Dim sourceCnTxt As Control = Nothing
Public aktFiliale As Integer = 0
Public aktAbfertigungsNr As Integer = 0
@@ -868,6 +873,12 @@ Public Class frmBelegNeu
Me.DialogResult = Windows.Forms.DialogResult.OK
'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken
If IsPosPayment And Betrag > 0 Then
POSpayment(sender, e)
While setBreak
System.Threading.Thread.Sleep(5000)
End While
End If
Select Case BELEG.Belegart
Case "1"
@@ -913,6 +924,8 @@ Public Class frmBelegNeu
Me.Cursor = Cursors.Default
End If
Catch ex As Exception
Me.DialogResult = Windows.Forms.DialogResult.None
Me.Cursor = Cursors.Default
@@ -1541,21 +1554,45 @@ Public Class frmBelegNeu
MsgBox(response)
End Sub
Private Sub btnPOS_Click(sender As Object, e As EventArgs) Handles btnPOS.Click
Private Sub POSpayment(sender As Object, e As EventArgs) Handles btnPOS.Click
If cboKassen.SelectedItem.Text = "" Then Exit Sub
Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM tblRKSV_POS WHERE [pos_aktiv] = 1 AND [pos_kasse]='" & cboKassen.SelectedItem.Value & "'", "FMZOLL")
dt = SQL.loadDgvBySql("SELECT * FROM tblRKSV_POS WHERE [pos_aktiv] = 1 AND [pos_kasse]='" & cboKassen.SelectedItem.Value & "'", "FMZOLL")
Select Case dt.Rows.Count
Case 0
MsgBox("Für diese Kasse ist kein aktives POS-Terminal hinterlegt!")
Exit Sub
Case 1
PosPAyment2()
Case Else
ContextMenuStrip1.Items.Clear()
For i As Integer = 0 To dt.Rows.Count - 1
Dim posMenu = New ToolStripMenuItem() With {.Text = dt.Rows(i).Item("pos_bezeichnung"), .Name = dt.Rows(i).Item("pos_id"), .Font = New Font(Me.Font.FontFamily, Me.Font.Size, FontStyle.Bold)}
AddHandler posMenu.Click, AddressOf mnuItem_Clicked
ContextMenuStrip1.Items.Add(posMenu)
Next
ContextMenuStrip1.Show(Cursor.Position)
End Select
End Sub
Private Sub PosPAyment2(Optional posid As Integer = -1)
If posid = -1 Then
posTerminal = New cRKSV_POS(dt.Rows(0).Item("pos_id"), dt.Rows(0).Item("pos_kasse"))
Else
posTerminal = New cRKSV_POS(posid, dt.Rows(0).Item("pos_kasse"))
End If
Dim ZVTKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\GUB\ZVT", True)
Dim Typ As Long
@@ -1607,16 +1644,17 @@ Public Class frmBelegNeu
End Try
ZVTKey.Close()
Case Else
End Select
End Sub
Private Sub mnuItem_Clicked(sender As Object, e As EventArgs)
ContextMenuStrip1.Hide() 'Sometimes the menu items can remain open. May not be necessary for you.
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If item IsNot Nothing Then
PosPAyment2(item.Name)
End If
End Sub
End Class