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. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _ <System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmBelegNeu)) Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmBelegNeu))
Me.dgvBelegPos = New System.Windows.Forms.DataGridView() Me.dgvBelegPos = New System.Windows.Forms.DataGridView()
Me.clmnAnzahl = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.clmnAnzahl = New System.Windows.Forms.DataGridViewTextBoxColumn()
@@ -136,6 +137,7 @@ Partial Class frmBelegNeu
Me.DataGridViewTextBoxColumn8 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.DataGridViewTextBoxColumn8 = New System.Windows.Forms.DataGridViewTextBoxColumn()
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)
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()
@@ -1661,6 +1663,11 @@ Partial Class frmBelegNeu
Me.FlowLayoutPanel2.TabIndex = 3 Me.FlowLayoutPanel2.TabIndex = 3
Me.FlowLayoutPanel2.Visible = False Me.FlowLayoutPanel2.Visible = False
' '
'ContextMenuStrip1
'
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(181, 26)
'
'frmBelegNeu 'frmBelegNeu
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) 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 txtzuKassieren As VERAG_PROG_ALLGEMEIN.MyTextBox
Friend WithEvents Label22 As System.Windows.Forms.Label Friend WithEvents Label22 As System.Windows.Forms.Label
Friend WithEvents btnPOS As Button Friend WithEvents btnPOS As Button
Friend WithEvents ContextMenuStrip1 As ContextMenuStrip
End Class 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"> <metadata name="FilialenNr.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </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" /> <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

@@ -2,6 +2,7 @@
Imports System.Drawing.Printing Imports System.Drawing.Printing
Imports System.Globalization Imports System.Globalization
Imports com.sun.org.apache.xpath.internal.operations Imports com.sun.org.apache.xpath.internal.operations
Imports com.sun.xml.internal.ws.api.model
Imports DAKOSY_Worker.DEXPRD Imports DAKOSY_Worker.DEXPRD
Imports Microsoft.Win32 Imports Microsoft.Win32
Imports SDL.RKSVServer Imports SDL.RKSVServer
@@ -35,6 +36,10 @@ Public Class frmBelegNeu
Private Funktion As Integer Private Funktion As Integer
Private Betrag As Integer = 0 Private Betrag As Integer = 0
Private posTerminal As cRKSV_POS 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 aktFiliale As Integer = 0
Public aktAbfertigungsNr As Integer = 0 Public aktAbfertigungsNr As Integer = 0
@@ -731,7 +736,7 @@ Public Class frmBelegNeu
' Dim RKSV_Service_Location = "\\192.168.0.106:8733/Design_Time_Addresses/RKSVCompleteServer/Service1/" ' Dim RKSV_Service_Location = "\\192.168.0.106:8733/Design_Time_Addresses/RKSVCompleteServer/Service1/"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click ' ,btnPOS.Click Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click ', btnPOS.Click
Dim IsPosPayment As Boolean = False Dim IsPosPayment As Boolean = False
@@ -868,6 +873,12 @@ Public Class frmBelegNeu
Me.DialogResult = Windows.Forms.DialogResult.OK Me.DialogResult = Windows.Forms.DialogResult.OK
'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken '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 Select Case BELEG.Belegart
Case "1" Case "1"
@@ -913,6 +924,8 @@ Public Class frmBelegNeu
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
End If End If
Catch ex As Exception Catch ex As Exception
Me.DialogResult = Windows.Forms.DialogResult.None Me.DialogResult = Windows.Forms.DialogResult.None
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
@@ -1541,74 +1554,30 @@ Public Class frmBelegNeu
MsgBox(response) MsgBox(response)
End Sub 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 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 Select Case dt.Rows.Count
Case 0 Case 0
MsgBox("Für diese Kasse ist kein aktives POS-Terminal hinterlegt!") MsgBox("Für diese Kasse ist kein aktives POS-Terminal hinterlegt!")
Exit Sub Exit Sub
Case 1 Case 1
PosPAyment2()
posTerminal = New cRKSV_POS(dt.Rows(0).Item("pos_id"), dt.Rows(0).Item("pos_kasse"))
Dim ZVTKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\GUB\ZVT", True)
Dim Typ As Long
Try
ZVTKey.SetValue("Funktion", Funktion, RegistryValueKind.DWord)
Typ = posTerminal.pos_typ
ZVTKey.SetValue("Typ", Typ, RegistryValueKind.DWord)
ZVTKey.SetValue("KasseNr", posTerminal.pos_kassennr, RegistryValueKind.String)
ZVTKey.SetValue("COM", posTerminal.pos_com, RegistryValueKind.String)
ZVTKey.SetValue("IP", posTerminal.pos_ip, RegistryValueKind.String)
ZVTKey.SetValue("Port", CInt(posTerminal.pos_port), RegistryValueKind.DWord)
ZVTKey.SetValue("ComSpeed", CInt(posTerminal.pos_comspeed), RegistryValueKind.DWord)
ZVTKey.SetValue("ComStop", CInt(posTerminal.pos_comstop), RegistryValueKind.DWord)
ZVTKey.SetValue("Lizenz", posTerminal.pos_lizenz, RegistryValueKind.String)
If Funktion = 0 Or Funktion = 4 Then
ZVTKey.SetValue("Betrag", Betrag * 100, RegistryValueKind.DWord) 'CENTbeträge 1€ --> 100 CENT
End If
If Funktion = 3 Then
'ZVTKey.SetValue("StornoBetrag", CInt("0" & TextBox_Betrag.Text), RegistryValueKind.DWord)
'ZVTKey.SetValue("StornoBelegNr", CInt("0" & StornoBelegNr.Text), RegistryValueKind.DWord)
End If
If posTerminal.pos_kassendruck Then
ZVTKey.SetValue("Kassedruck", 1, RegistryValueKind.DWord)
Else
ZVTKey.SetValue("Kassedruck", 0, RegistryValueKind.DWord)
End If
ZVTKey.SetValue("Ergebnis", 1000, RegistryValueKind.DWord) ' Zur Sicherheit, falls EasyZVT gar nicht installiert ist oder nicht gestartet werden kann
ZVTKey.SetValue("ErgebnisText", "EasyZVT konnte nicht gestartet werden", RegistryValueKind.String)
'ZVTKey.SetValue("DemoDruckername", comboInstalledPrinters.Text, RegistryValueKind.String)
'If CheckBoxAutodruck.Checked Then
' ZVTKey.SetValue("DemoAutodruck", 1, RegistryValueKind.DWord)
'Else
' ZVTKey.SetValue("DemoAutodruck", 0, RegistryValueKind.DWord)
'End If
'If CheckBoxDummy.Checked Then
' ZVTKey.SetValue("DemoDummydruck", 1, RegistryValueKind.DWord)
'Else
' ZVTKey.SetValue("DemoDummydruck", 0, RegistryValueKind.DWord)
'End If
EasyZVT_Worker.RunWorkerAsync()
Catch ex As Exception
MessageBox.Show("Das Schreiben der Parameter ist fehlgeschlagen: " & ex.Message)
Exit Sub
End Try
ZVTKey.Close()
Case Else 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 Select
@@ -1616,6 +1585,75 @@ Public Class frmBelegNeu
End Sub 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
Try
ZVTKey.SetValue("Funktion", Funktion, RegistryValueKind.DWord)
Typ = posTerminal.pos_typ
ZVTKey.SetValue("Typ", Typ, RegistryValueKind.DWord)
ZVTKey.SetValue("KasseNr", posTerminal.pos_kassennr, RegistryValueKind.String)
ZVTKey.SetValue("COM", posTerminal.pos_com, RegistryValueKind.String)
ZVTKey.SetValue("IP", posTerminal.pos_ip, RegistryValueKind.String)
ZVTKey.SetValue("Port", CInt(posTerminal.pos_port), RegistryValueKind.DWord)
ZVTKey.SetValue("ComSpeed", CInt(posTerminal.pos_comspeed), RegistryValueKind.DWord)
ZVTKey.SetValue("ComStop", CInt(posTerminal.pos_comstop), RegistryValueKind.DWord)
ZVTKey.SetValue("Lizenz", posTerminal.pos_lizenz, RegistryValueKind.String)
If Funktion = 0 Or Funktion = 4 Then
ZVTKey.SetValue("Betrag", Betrag * 100, RegistryValueKind.DWord) 'CENTbeträge 1€ --> 100 CENT
End If
If Funktion = 3 Then
'ZVTKey.SetValue("StornoBetrag", CInt("0" & TextBox_Betrag.Text), RegistryValueKind.DWord)
'ZVTKey.SetValue("StornoBelegNr", CInt("0" & StornoBelegNr.Text), RegistryValueKind.DWord)
End If
If posTerminal.pos_kassendruck Then
ZVTKey.SetValue("Kassedruck", 1, RegistryValueKind.DWord)
Else
ZVTKey.SetValue("Kassedruck", 0, RegistryValueKind.DWord)
End If
ZVTKey.SetValue("Ergebnis", 1000, RegistryValueKind.DWord) ' Zur Sicherheit, falls EasyZVT gar nicht installiert ist oder nicht gestartet werden kann
ZVTKey.SetValue("ErgebnisText", "EasyZVT konnte nicht gestartet werden", RegistryValueKind.String)
'ZVTKey.SetValue("DemoDruckername", comboInstalledPrinters.Text, RegistryValueKind.String)
'If CheckBoxAutodruck.Checked Then
' ZVTKey.SetValue("DemoAutodruck", 1, RegistryValueKind.DWord)
'Else
' ZVTKey.SetValue("DemoAutodruck", 0, RegistryValueKind.DWord)
'End If
'If CheckBoxDummy.Checked Then
' ZVTKey.SetValue("DemoDummydruck", 1, RegistryValueKind.DWord)
'Else
' ZVTKey.SetValue("DemoDummydruck", 0, RegistryValueKind.DWord)
'End If
EasyZVT_Worker.RunWorkerAsync()
Catch ex As Exception
MessageBox.Show("Das Schreiben der Parameter ist fehlgeschlagen: " & ex.Message)
Exit Sub
End Try
ZVTKey.Close()
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 End Class