POS-Terminal

This commit is contained in:
2023-03-06 14:25:28 +01:00
parent 30aa7d801d
commit 7e850241aa
4 changed files with 838 additions and 544 deletions

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.2.4.1")> <Assembly: AssemblyVersion("1.2.4.2")>
<Assembly: AssemblyFileVersion("1.2.4.1")> <Assembly: AssemblyFileVersion("1.2.4.2")>

View File

@@ -294,10 +294,8 @@ Public Class frmBelegNeu
AddHandler EasyZVT_Worker.DoWork, New ComponentModel.DoWorkEventHandler(AddressOf EasyZVT_Async) AddHandler EasyZVT_Worker.DoWork, New ComponentModel.DoWorkEventHandler(AddressOf EasyZVT_Async)
AddHandler EasyZVT_Worker.RunWorkerCompleted, New System.ComponentModel.RunWorkerCompletedEventHandler(AddressOf EasyZVT_OnCompleted) AddHandler EasyZVT_Worker.RunWorkerCompleted, New System.ComponentModel.RunWorkerCompletedEventHandler(AddressOf EasyZVT_OnCompleted)
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG("Kassenbuch POS-Terminalzahlungen", Me) = 0 Then If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG("Kassenbuch POS-Terminalzahlungen", Me) = 0 Then
btnPOS.Enabled = False btnPOS.Enabled = False
Else
btnPOS.Enabled = True
End If End If
@@ -1560,6 +1558,7 @@ Public Class frmBelegNeu
'Button_Gutschrift.Enabled = True 'Button_Gutschrift.Enabled = True
ZVTKey.Close() ZVTKey.Close()
MsgBox(response) MsgBox(response)
setBreak = False
End Sub End Sub
Private Sub POSpayment(sender As Object, e As EventArgs) Handles btnPOS.Click Private Sub POSpayment(sender As Object, e As EventArgs) Handles btnPOS.Click
@@ -1574,7 +1573,7 @@ Public Class frmBelegNeu
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() SetRegEntries()
Case Else Case Else
ContextMenuStrip1.Items.Clear() ContextMenuStrip1.Items.Clear()
@@ -1593,7 +1592,7 @@ Public Class frmBelegNeu
End Sub End Sub
Private Sub PosPAyment2(Optional posid As Integer = -1) Private Sub SetRegEntries(Optional posid As Integer = -1)
If posid = -1 Then If posid = -1 Then
@@ -1659,7 +1658,7 @@ Public Class frmBelegNeu
ContextMenuStrip1.Hide() 'Sometimes the menu items can remain open. May not be necessary for you. ContextMenuStrip1.Hide() 'Sometimes the menu items can remain open. May not be necessary for you.
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem) Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If item IsNot Nothing Then If item IsNot Nothing Then
PosPAyment2(item.Name) SetRegEntries(item.Name)
End If End If
End Sub End Sub

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,15 @@
Imports System.Drawing.Printing Imports System.Drawing.Printing
Imports System.Security.Authentication.ExtendedProtection
Imports com.sun.tools.corba.se.idl.constExpr Imports com.sun.tools.corba.se.idl.constExpr
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports java.awt.print
Imports Microsoft.Win32 Imports Microsoft.Win32
Imports TAlex.WPF.Helpers Imports TAlex.WPF.Helpers
Public Class frmPOSTerminal Public Class frmPOSTerminal
Dim currentPOS As cRKSV_POS Dim currentPOS As cRKSV_POS
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
'Public Sub New(ByVal _rptKundenBeleg, betrag) 'Public Sub New(ByVal _rptKundenBeleg, betrag)
' rptKundenBeleg = _rptKundenBeleg ' rptKundenBeleg = _rptKundenBeleg
@@ -38,49 +42,6 @@ Public Class frmPOSTerminal
Private WithEvents PDoc As Printing.PrintDocument Private WithEvents PDoc As Printing.PrintDocument
Private Sub POS_Load(sender As Object, e As EventArgs) ' Handles MyBase.Load
' Anwendungsstart
' Worker-Thread wird initialisiert
' Vorherige Werte werden aus der Registry gelesen und in die Oberfläche eingetragen
' Die Werte in der Oberfläche sollten in der echten Anwendung in der Stammdatentabelle der Kasse gespeichert werden und nicht in der Registry. Geht aber natürlich auch hier.
Try
'Dim ZVTKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\GUB\ZVT", True)
'TextBox_KasseNr.Text = ZVTKey.GetValue("KasseNr", "1")
'ComboBox_COM.Text = ZVTKey.GetValue("COM", "LAN")
'TextBox_IP.Text = ZVTKey.GetValue("IP", "192.168.86.122")
'TextBox_Port.Text = ZVTKey.GetValue("Port", "20007")
'ComboBox_ComSpeed.Text = ZVTKey.GetValue("ComSpeed", "9600")
'ComboBox_ComStop.Text = ZVTKey.GetValue("ComStop", "1")
'TextBox_Lizenz.Text = ZVTKey.GetValue("Lizenz", "")
'If ZVTKey.GetValue("Kassedruck", 0) = 1 Then
' CheckBox_Kassedruck.Checked = True
'Else
' CheckBox_Kassedruck.Checked = False
'End If
'ComboBox_Typ.SelectedIndex = ComboBox_Typ.FindString(ZVTKey.GetValue("Typ", 0).ToString)
'PopulateInstalledPrintersCombo()
'comboInstalledPrinters.SelectedIndex = comboInstalledPrinters.FindString(ZVTKey.GetValue("DemoDruckername", ""))
'If ZVTKey.GetValue("DemoAutodruck", 0) = 0 Then
' CheckBoxAutodruck.Checked = False
'Else
' CheckBoxAutodruck.Checked = True
'End If
'If ZVTKey.GetValue("DemoDummydruck", 1) = 0 Then
' CheckBoxDummy.Checked = False
'Else
' CheckBoxDummy.Checked = True
'End If
'ZVTKey.Close()
Catch ex As Exception
MessageBox.Show("Fehler beim Einlesen der Standardwerte: " & ex.Message)
End Try
End Sub
Private Sub SetRegistryParameter() Private Sub SetRegistryParameter()
'Funktion holt Werte direkt aus der Oberfläche (TextBox_...) und schreibt diese in die Registry als Eingabeparameter für EasyZVT. 'Funktion holt Werte direkt aus der Oberfläche (TextBox_...) und schreibt diese in die Registry als Eingabeparameter für EasyZVT.
'Im wahren Leben stehen diese Werte in Datenbankeinträgen der Stammdatenverwaltung in der Hauptanwendung 'Im wahren Leben stehen diese Werte in Datenbankeinträgen der Stammdatenverwaltung in der Hauptanwendung
@@ -92,25 +53,32 @@ Public Class frmPOSTerminal
Try Try
ZVTKey.SetValue("Funktion", Funktion, RegistryValueKind.DWord) ZVTKey.SetValue("Funktion", Funktion, RegistryValueKind.DWord)
TypSelected = Strings.Left(ComboBox_Typ.Text, 2).Replace(":", "") TypSelected = Strings.Left(cbx_Typ.Text, 2).Replace(":", "")
Typ = TypSelected Typ = TypSelected
ZVTKey.SetValue("Typ", Typ, RegistryValueKind.DWord) ZVTKey.SetValue("Typ", Typ, RegistryValueKind.DWord)
ZVTKey.SetValue("KasseNr", TextBox_KasseNr.Text, RegistryValueKind.String) ZVTKey.SetValue("KasseNr", txt_KasseNr.Text, RegistryValueKind.String)
ZVTKey.SetValue("COM", ComboBox_COM.Text, RegistryValueKind.String) ZVTKey.SetValue("COM", cbx_COM.Text, RegistryValueKind.String)
ZVTKey.SetValue("IP", TextBox_IP.Text, RegistryValueKind.String) ZVTKey.SetValue("IP", txt_IP.Text, RegistryValueKind.String)
ZVTKey.SetValue("Port", CInt(TextBox_Port.Text), RegistryValueKind.DWord) ZVTKey.SetValue("Port", CInt(txt_Port.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("ComSpeed", CInt(ComboBox_ComSpeed.Text), RegistryValueKind.DWord) ZVTKey.SetValue("ComSpeed", CInt(cbx_ComSpeed.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("ComStop", CInt(ComboBox_ComStop.Text), RegistryValueKind.DWord) ZVTKey.SetValue("ComStop", CInt(cbx_ComStop.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("Lizenz", TextBox_Lizenz.Text, RegistryValueKind.String) ZVTKey.SetValue("Lizenz", txt_Lizenz.Text, RegistryValueKind.String)
If Funktion = 0 Or Funktion = 4 Then
Betrag = CInt("0" & TextBox_Betrag.Text) Select Case Funktion
ZVTKey.SetValue("Betrag", Betrag, RegistryValueKind.DWord) Case 0, 4
End If Betrag = CInt("0" & txt_Betrag.Text)
If Funktion = 3 Then ZVTKey.SetValue("Betrag", Betrag, RegistryValueKind.DWord)
ZVTKey.SetValue("StornoBetrag", CInt("0" & TextBox_Betrag.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("StornoBelegNr", CInt("0" & StornoBelegNr.Text), RegistryValueKind.DWord) Case 3
End If ZVTKey.SetValue("StornoBetrag", CInt("0" & txt_Betrag.Text), RegistryValueKind.DWord)
If CheckBox_Kassedruck.Checked Then ZVTKey.SetValue("StornoBelegNr", CInt("0" & StornoBelegNr.Text), RegistryValueKind.DWord)
Case 12 'Sprache
ZVTKey.SetValue("Sprache", cbx_Sprache.Text, RegistryValueKind.DWord)
End Select
If cbx_Kassedruck.Checked Then
ZVTKey.SetValue("Kassedruck", 1, RegistryValueKind.DWord) ZVTKey.SetValue("Kassedruck", 1, RegistryValueKind.DWord)
Else Else
ZVTKey.SetValue("Kassedruck", 0, RegistryValueKind.DWord) ZVTKey.SetValue("Kassedruck", 0, RegistryValueKind.DWord)
@@ -118,23 +86,27 @@ Public Class frmPOSTerminal
ZVTKey.SetValue("Ergebnis", 1000, RegistryValueKind.DWord) ' Zur Sicherheit, falls EasyZVT gar nicht installiert ist oder nicht gestartet werden kann 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("ErgebnisText", "EasyZVT konnte nicht gestartet werden", RegistryValueKind.String)
ZVTKey.SetValue("DemoDruckername", comboInstalledPrinters.Text, RegistryValueKind.String) ZVTKey.SetValue("DemoDruckername", comboInstalledPrinters.Text, RegistryValueKind.String)
If CheckBoxAutodruck.Checked Then If cbx_Autodruck.Checked Then
ZVTKey.SetValue("DemoAutodruck", 1, RegistryValueKind.DWord) ZVTKey.SetValue("DemoAutodruck", 1, RegistryValueKind.DWord)
Else Else
ZVTKey.SetValue("DemoAutodruck", 0, RegistryValueKind.DWord) ZVTKey.SetValue("DemoAutodruck", 0, RegistryValueKind.DWord)
End If End If
If CheckBoxDummy.Checked Then If cbx_Dummy.Checked Then
ZVTKey.SetValue("DemoDummydruck", 1, RegistryValueKind.DWord) ZVTKey.SetValue("DemoDummydruck", 1, RegistryValueKind.DWord)
Else Else
ZVTKey.SetValue("DemoDummydruck", 0, RegistryValueKind.DWord) ZVTKey.SetValue("DemoDummydruck", 0, RegistryValueKind.DWord)
End If End If
Button_Autorisierung.Enabled = False btn_Autorisierung.Enabled = False
Button_Diagnose.Enabled = False btn_Diagnose.Enabled = False
Button_Tagesabschluss.Enabled = False btn_Tagesabschluss.Enabled = False
Button_Storno.Enabled = False btn_Storno.Enabled = False
Button_Gutschrift.Enabled = False btn_Gutschrift.Enabled = False
btn_Sprache.Enabled = False
btn_Druckwiederh.Enabled = False
btn_Kontostand.Enabled = False
TextBox_ErgebnisText.Text = "EasyZVT-Zahlung aktiv"
txt_ErgebnisText.Text = "EasyZVT-Zahlung aktiv"
TextBox_Aktiv.Text = "warte auf Aktiv=0" TextBox_Aktiv.Text = "warte auf Aktiv=0"
Catch ex As Exception Catch ex As Exception
@@ -146,13 +118,16 @@ Public Class frmPOSTerminal
End Sub End Sub
Private Sub Autorisierung() Private Sub Autorisierung()
If txt_Betrag.Text = "" Then
txt_Betrag.Focus()
Exit Sub
End If
Funktion = 0 Funktion = 0
SetRegistryParameter() SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync() EasyZVT_Worker.RunWorkerAsync()
End Sub End Sub
Private Sub Button_Autorisierung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Autorisierung.Click Private Sub Button_Autorisierung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Autorisierung.Click
'Zahlung per Klick auslösen 'Zahlung per Klick auslösen
Autorisierung() Autorisierung()
End Sub End Sub
@@ -178,11 +153,11 @@ Public Class frmPOSTerminal
TextBox_Aktiv.BackColor = Color.Red TextBox_Aktiv.BackColor = Color.Red
Else Else
TextBox_Aktiv.BackColor = Color.Gray TextBox_Aktiv.BackColor = Color.Gray
End If End If
End While End While
TextBox_Aktiv.BackColor = Color.Gray TextBox_Aktiv.BackColor = Color.Gray
Else Else
MsgBox("EasyZVT ist nicht installiert. Bitte im Internet Explorer über www.easyzvt.de/publish installieren") MsgBox("EasyZVT ist nicht installiert. Bitte im Internet Explorer über www.easyzvt.de/publish installieren")
End If End If
Catch ex As Exception Catch ex As Exception
MessageBox.Show("Der Programmstart ist fehlgeschlagen: " & ex.Message) MessageBox.Show("Der Programmstart ist fehlgeschlagen: " & ex.Message)
@@ -197,62 +172,98 @@ Public Class frmPOSTerminal
Dim ZVTKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\GUB\ZVT", True) Dim ZVTKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software\GUB\ZVT", True)
TextBox_Aktiv.Text = "" TextBox_Aktiv.Text = ""
TextBox_Ergebnis.Text = ZVTKey.GetValue("Ergebnis") txt_Ergebnis.Text = ZVTKey.GetValue("Ergebnis")
TextBox_ErgebnisText.Text = ZVTKey.GetValue("ErgebnisText") txt_ErgebnisText.Text = ZVTKey.GetValue("ErgebnisText")
TextBox_Drucktext.Text = Replace(ZVTKey.GetValue("Drucktext"), vbLf, vbCrLf) txt_Drucktext.Text = Replace(ZVTKey.GetValue("Drucktext"), vbLf, vbCrLf)
TextBox_Drucktext2.Text = Replace(ZVTKey.GetValue("Drucktext2"), vbLf, vbCrLf) txt_Drucktext2.Text = Replace(ZVTKey.GetValue("Drucktext2"), vbLf, vbCrLf)
TextBox_BelegNr.Text = ZVTKey.GetValue("BelegNr").ToString txt_BelegNr.Text = ZVTKey.GetValue("BelegNr").ToString
TextBox_Betrag.Text = "" txt_Betrag.Text = ""
If CheckBoxAutodruck.Checked Then If cbx_Autodruck.Checked Then
If Len(TextBox_Drucktext.Text) > 1 Then If Len(txt_Drucktext.Text) > 1 Then
Button_Kundenbeleg_drucken.PerformClick() btn_Kundenbeleg_drucken.PerformClick()
End If End If
If Len(TextBox_Drucktext2.Text) > 1 Then If Len(txt_Drucktext2.Text) > 1 Then
Button_Haendlerbeleg_drucken.PerformClick() btn_Haendlerbeleg_drucken.PerformClick()
End If End If
End If End If
TextBox_Betrag.Focus() txt_Betrag.Focus()
Button_Autorisierung.Enabled = True btn_Autorisierung.Enabled = True
Button_Diagnose.Enabled = True btn_Diagnose.Enabled = True
Button_Tagesabschluss.Enabled = True btn_Tagesabschluss.Enabled = True
Button_Storno.Enabled = True btn_Storno.Enabled = True
Button_Gutschrift.Enabled = True btn_Gutschrift.Enabled = True
btn_Sprache.Enabled = True
btn_Druckwiederh.Enabled = True
btn_Kontostand.Enabled = True
ZVTKey.Close() ZVTKey.Close()
End Sub End Sub
Private Sub Button_Diagnose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Diagnose.Click Private Sub Button_Diagnose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Diagnose.Click
Funktion = 1 Funktion = 1
SetRegistryParameter() SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync() EasyZVT_Worker.RunWorkerAsync()
End Sub End Sub
Private Sub Button_Tagesabschluss_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Tagesabschluss.Click Private Sub Button_Tagesabschluss_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Tagesabschluss.Click
Funktion = 2 Funktion = 2
SetRegistryParameter() SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync() EasyZVT_Worker.RunWorkerAsync()
End Sub End Sub
Private Sub Button_Storno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Storno.Click Private Sub Button_Storno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Storno.Click
If txt_Betrag.Text = "" Then
txt_Betrag.Focus()
Exit Sub
End If
If StornoBelegNr.Text = "" Then
StornoBelegNr.Focus()
Exit Sub
End If
Funktion = 3 Funktion = 3
SetRegistryParameter() SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync() EasyZVT_Worker.RunWorkerAsync()
End Sub End Sub
Private Sub Button_Gutschrift_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Gutschrift.Click Private Sub Button_Gutschrift_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Gutschrift.Click
If txt_Betrag.Text = "" Then
txt_Betrag.Focus()
Exit Sub
End If
Funktion = 4 Funktion = 4
SetRegistryParameter() SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync() EasyZVT_Worker.RunWorkerAsync()
End Sub End Sub
Private Sub btn_Druckwiederh_Click(sender As Object, e As EventArgs) Handles btn_Druckwiederh.Click
Funktion = 5
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
End Sub
Private Sub btn_Kontostand_Click(sender As Object, e As EventArgs) Handles btn_Kontostand.Click
Funktion = 7
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
End Sub
Private Sub btn_Sprache_Click(sender As Object, e As EventArgs) Handles btn_Sprache.Click
Funktion = 13
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
End Sub
Private Sub PDoc_SeiteDrucken(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PDoc.PrintPage Private Sub PDoc_SeiteDrucken(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PDoc.PrintPage
@@ -300,7 +311,7 @@ Public Class frmPOSTerminal
.Columns.Clear() .Columns.Clear()
.SET_SQL("SELECT [pos_id],[pos_aktiv],[pos_bezeichnung] ,[pos_kasse] ,[pos_kassennr] ,[pos_com] .SET_SQL("SELECT [pos_id],[pos_aktiv],[pos_kassennr],[pos_bezeichnung] ,[pos_kasse] ,[pos_com]
,[pos_baudrate] ,[pos_comspeed] ,[pos_comstop] ,[pos_ip] ,[pos_port] ,[pos_typ] ,[pos_baudrate] ,[pos_comspeed] ,[pos_comstop] ,[pos_ip] ,[pos_port] ,[pos_typ]
,[pos_lizenz] ,[pos_kassendruck] ,[pos_demoausdruck] ,[pos_lizenz] ,[pos_kassendruck] ,[pos_demoausdruck]
,[pos_demodummyausdruck] ,[pos_pin] ,[pos_händerbeleg_drucken] ,[pos_storno] ,[pos_wartezeit] ,[pos_demodummyausdruck] ,[pos_pin] ,[pos_händerbeleg_drucken] ,[pos_storno] ,[pos_wartezeit]
@@ -313,11 +324,12 @@ Public Class frmPOSTerminal
.Columns("pos_id").Visible = False .Columns("pos_id").Visible = False
.Columns("pos_bezeichnung").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft .Columns("pos_bezeichnung").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft
.Columns("pos_bezeichnung").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("pos_bezeichnung").HeaderText = "Terminal" .Columns("pos_bezeichnung").HeaderText = "Terminal"
.Columns("pos_kassennr").Width = 100 .Columns("pos_kassennr").Width = 40
.Columns("pos_kassennr").HeaderText = "Kassen-Nr" .Columns("pos_kassennr").HeaderText = "K-Nr"
.Columns("pos_aktiv").Width = 50 .Columns("pos_aktiv").Width = 25
.Columns("pos_aktiv").HeaderText = "Aktiv" .Columns("pos_aktiv").HeaderText = ""
.Columns("pos_kassendruck").Visible = False .Columns("pos_kassendruck").Visible = False
.Columns("pos_kasse").Visible = False .Columns("pos_kasse").Visible = False
.Columns("pos_com").Visible = False .Columns("pos_com").Visible = False
@@ -334,6 +346,8 @@ Public Class frmPOSTerminal
.Columns("pos_händerbeleg_drucken").Visible = False .Columns("pos_händerbeleg_drucken").Visible = False
.Columns("pos_storno").Visible = False .Columns("pos_storno").Visible = False
.Columns("pos_wartezeit").Visible = False .Columns("pos_wartezeit").Visible = False
.Columns("pos_ip").HeaderText = "IP-Adresse"
.Columns("pos_ip").Width = 100
End With End With
End Sub End Sub
@@ -341,14 +355,16 @@ Public Class frmPOSTerminal
Try Try
Text = kasse & " - POS Terminal einstellen " Text = kasse & " - POS Terminal einstellen "
lblWarning.Text = ""
btnNew.Enabled = False
initDgv() initDgv()
AddHandler EasyZVT_Worker.DoWork, New System.ComponentModel.DoWorkEventHandler(AddressOf EasyZVT_Async) AddHandler EasyZVT_Worker.DoWork, New System.ComponentModel.DoWorkEventHandler(AddressOf EasyZVT_Async)
AddHandler EasyZVT_Worker.RunWorkerCompleted, New System.ComponentModel.RunWorkerCompletedEventHandler(AddressOf EasyZVT_OnCompleted) AddHandler EasyZVT_Worker.RunWorkerCompleted, New System.ComponentModel.RunWorkerCompletedEventHandler(AddressOf EasyZVT_OnCompleted)
If dgvTerminals.Columns.Count < 1 Then Exit Sub If dgvTerminals.Columns.Count < 1 Then
loadCurrentPOS()
loadCurrentPOS() End If
Catch ex As Exception Catch ex As Exception
MessageBox.Show("Fehler beim Einlesen der Standardwerte: " & ex.Message) MessageBox.Show("Fehler beim Einlesen der Standardwerte: " & ex.Message)
@@ -357,42 +373,59 @@ Public Class frmPOSTerminal
Private Sub loadCurrentPOS() Private Sub loadCurrentPOS()
btnNew.Enabled = False
If dgvTerminals.SelectedRows.Count > 0 Then If dgvTerminals.SelectedRows.Count > 0 Then
currentPOS = New cRKSV_POS(dgvTerminals.SelectedRows(0).Cells("pos_Id").Value, dgvTerminals.SelectedRows(0).Cells("pos_kasse").Value) currentPOS = New cRKSV_POS(dgvTerminals.SelectedRows(0).Cells("pos_Id").Value, dgvTerminals.SelectedRows(0).Cells("pos_kasse").Value)
txt_KassenBez.Text = currentPOS.pos_bezeichnung
cbxAktiv.Checked = currentPOS.pos_aktiv cbx_aktiv.Checked = currentPOS.pos_aktiv
txtWartezeit.Text = currentPOS.pos_wartezeit / 1000 txt_Wartezeit.Text = currentPOS.pos_wartezeit / 1000
TextBox_KasseNr.Text = currentPOS.pos_kassennr txt_KasseNr.Text = currentPOS.pos_kassennr
ComboBox_COM.Text = currentPOS.pos_com cbx_COM.Text = currentPOS.pos_com
TextBox_IP.Text = currentPOS.pos_ip txt_IP.Text = currentPOS.pos_ip
TextBox_Port.Text = currentPOS.pos_port txt_Port.Text = currentPOS.pos_port
ComboBox_ComSpeed.Text = currentPOS.pos_comspeed cbx_ComSpeed.Text = currentPOS.pos_comspeed
ComboBox_ComStop.Text = currentPOS.pos_comstop cbx_ComStop.Text = currentPOS.pos_comstop
TextBox_Lizenz.Text = currentPOS.pos_lizenz txt_Lizenz.Text = currentPOS.pos_lizenz
If currentPOS.pos_kassendruck Then If currentPOS.pos_kassendruck Then
CheckBox_Kassedruck.Checked = True cbx_Kassedruck.Checked = True
Else Else
CheckBox_Kassedruck.Checked = False cbx_Kassedruck.Checked = False
End If End If
ComboBox_Typ.SelectedIndex = ComboBox_Typ.FindString(currentPOS.pos_typ) cbx_Typ.SelectedIndex = cbx_Typ.FindString(currentPOS.pos_typ)
PopulateInstalledPrintersCombo() PopulateInstalledPrintersCombo()
'comboInstalledPrinters.SelectedIndex = comboInstalledPrinters.FindString(ZVTKey.GetValue("DemoDruckername", "")) 'comboInstalledPrinters.SelectedIndex = comboInstalledPrinters.FindString(ZVTKey.GetValue("DemoDruckername", ""))
If Not currentPOS.pos_demoausdruck Then If Not currentPOS.pos_demoausdruck Then
CheckBoxAutodruck.Checked = False cbx_Autodruck.Checked = False
Else Else
CheckBoxAutodruck.Checked = True cbx_Autodruck.Checked = True
End If End If
If Not currentPOS.pos_demodummyausdruck Then If Not currentPOS.pos_demodummyausdruck Then
CheckBoxDummy.Checked = False cbx_Dummy.Checked = False
Else Else
CheckBoxDummy.Checked = True cbx_Dummy.Checked = True
End If End If
For Each tempTabPages As TabPage In TabControl1.TabPages
If Not tempTabPages.Name = "TabPage3" Then
For Each c As Control In tempTabPages.Controls
If TypeOf (c) Is CheckBox Then
AddHandler CType(c, CheckBox).CheckedChanged, AddressOf SomethingChanged
ElseIf TypeOf (c) Is TextBox Then
AddHandler CType(c, TextBox).TextChanged, AddressOf SomethingChanged
ElseIf TypeOf (c) Is ComboBox Then
AddHandler CType(c, ComboBox).SelectedValueChanged, AddressOf SomethingChanged
End If
Next
End If
Next
End If End If
@@ -403,32 +436,35 @@ Public Class frmPOSTerminal
If dgvTerminals.SelectedRows.Count > 0 Then If dgvTerminals.SelectedRows.Count > 0 Then
If Not checkConstraints() Then
Exit Sub
End If
currentPOS.pos_kassennr = TextBox_KasseNr.Text currentPOS.pos_kassennr = txt_KasseNr.Text
currentPOS.pos_aktiv = cbxAktiv.Checked currentPOS.pos_aktiv = cbx_aktiv.Checked
currentPOS.pos_wartezeit = CInt(txtWartezeit.Text) * 1000 currentPOS.pos_wartezeit = CInt(txt_Wartezeit.Text) * 1000
currentPOS.pos_com = ComboBox_COM.Text currentPOS.pos_com = cbx_COM.Text
currentPOS.pos_ip = TextBox_IP.Text currentPOS.pos_ip = txt_IP.Text
currentPOS.pos_port = TextBox_Port.Text currentPOS.pos_port = txt_Port.Text
currentPOS.pos_comspeed = ComboBox_ComSpeed.Text currentPOS.pos_comspeed = cbx_ComSpeed.Text
currentPOS.pos_comstop = ComboBox_ComStop.Text currentPOS.pos_comstop = cbx_ComStop.Text
currentPOS.pos_lizenz = TextBox_Lizenz.Text currentPOS.pos_lizenz = txt_Lizenz.Text
If CheckBox_Kassedruck.Checked Then If cbx_Kassedruck.Checked Then
currentPOS.pos_kassendruck = True currentPOS.pos_kassendruck = True
Else Else
currentPOS.pos_kassendruck = False currentPOS.pos_kassendruck = False
End If End If
currentPOS.pos_typ = ComboBox_Typ.FindString(ComboBox_Typ.SelectedIndex) currentPOS.pos_typ = cbx_Typ.FindString(cbx_Typ.SelectedIndex)
PopulateInstalledPrintersCombo() PopulateInstalledPrintersCombo()
'comboInstalledPrinters.SelectedIndex = comboInstalledPrinters.FindString(ZVTKey.GetValue("DemoDruckername", "")) 'comboInstalledPrinters.SelectedIndex = comboInstalledPrinters.FindString(ZVTKey.GetValue("DemoDruckername", ""))
If Not CheckBoxAutodruck.Checked Then If Not cbx_Autodruck.Checked Then
currentPOS.pos_demoausdruck = False currentPOS.pos_demoausdruck = False
Else Else
currentPOS.pos_demoausdruck = True currentPOS.pos_demoausdruck = True
End If End If
If Not CheckBoxDummy.Checked Then If Not cbx_Dummy.Checked Then
currentPOS.pos_demodummyausdruck = False currentPOS.pos_demodummyausdruck = False
Else Else
currentPOS.pos_demodummyausdruck = True currentPOS.pos_demodummyausdruck = True
@@ -436,6 +472,7 @@ Public Class frmPOSTerminal
currentPOS.SAVE() currentPOS.SAVE()
btnNew.Enabled = False
End If End If
@@ -447,6 +484,9 @@ Public Class frmPOSTerminal
loadCurrentPOS() loadCurrentPOS()
End Sub End Sub
Private Sub SomethingChanged(sender As Object, e As EventArgs)
btnNew.Enabled = True
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
@@ -502,25 +542,25 @@ Public Class frmPOSTerminal
Process.Start(webAddress) Process.Start(webAddress)
End Sub End Sub
Private Sub Button_Kundenbeleg_drucken_Click(sender As System.Object, e As System.EventArgs) Handles Button_Kundenbeleg_drucken.Click Private Sub Button_Kundenbeleg_drucken_Click(sender As System.Object, e As System.EventArgs) Handles btn_Kundenbeleg_drucken.Click
Dim PDlg As PrintDialog = New PrintDialog() Dim PDlg As PrintDialog = New PrintDialog()
PDlg.UseEXDialog = True ' Notwendig für x64 PDlg.UseEXDialog = True ' Notwendig für x64
PDoc = New Printing.PrintDocument() PDoc = New Printing.PrintDocument()
AddHandler PDoc.PrintPage, AddressOf PDoc_SeiteDrucken AddHandler PDoc.PrintPage, AddressOf PDoc_SeiteDrucken
If CheckBoxDummy.Checked Then If cbx_Dummy.Checked Then
TextBox_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf txt_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf
TextBox_Kassenbon.Text &= "KasseNr: " & TextBox_KasseNr.Text & vbCrLf & vbCrLf txt_Kassenbon.Text &= "KasseNr: " & txt_KasseNr.Text & vbCrLf & vbCrLf
If Betrag > 0 And Funktion = 0 Then If Betrag > 0 And Funktion = 0 Then
TextBox_Kassenbon.Text &= "Testartikel Menge 1 Betrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf txt_Kassenbon.Text &= "Testartikel Menge 1 Betrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
TextBox_Kassenbon.Text &= "Gesamtbetrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf txt_Kassenbon.Text &= "Gesamtbetrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
TextBox_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf txt_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
End If End If
TextBox_Kassenbon.Text &= TextBox_Drucktext.Text ' Hier den Kundenbeleg hinzufügen txt_Kassenbon.Text &= txt_Drucktext.Text ' Hier den Kundenbeleg hinzufügen
Else Else
TextBox_Kassenbon.Text = TextBox_Drucktext.Text txt_Kassenbon.Text = txt_Drucktext.Text
End If End If
If comboInstalledPrinters.SelectedIndex <> -1 Then If comboInstalledPrinters.SelectedIndex <> -1 Then
@@ -536,25 +576,25 @@ Public Class frmPOSTerminal
End Sub End Sub
Private Sub Button_Haendlerbeleg_drucken_Click(sender As System.Object, e As System.EventArgs) Handles Button_Haendlerbeleg_drucken.Click Private Sub Button_Haendlerbeleg_drucken_Click(sender As System.Object, e As System.EventArgs) Handles btn_Haendlerbeleg_drucken.Click
Dim PDlg As PrintDialog = New PrintDialog() Dim PDlg As PrintDialog = New PrintDialog()
PDlg.UseEXDialog = True ' Notwendig für x64 PDlg.UseEXDialog = True ' Notwendig für x64
PDoc = New Printing.PrintDocument() PDoc = New Printing.PrintDocument()
AddHandler PDoc.PrintPage, AddressOf PDoc_SeiteDrucken AddHandler PDoc.PrintPage, AddressOf PDoc_SeiteDrucken
If CheckBoxDummy.Checked Then If cbx_Dummy.Checked Then
TextBox_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf txt_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf
TextBox_Kassenbon.Text &= "KasseNr: " & TextBox_KasseNr.Text & vbCrLf & vbCrLf txt_Kassenbon.Text &= "KasseNr: " & txt_KasseNr.Text & vbCrLf & vbCrLf
If Betrag > 0 And Funktion = 0 Then If Betrag > 0 And Funktion = 0 Then
TextBox_Kassenbon.Text &= "Testartikel Menge 1 Betrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf txt_Kassenbon.Text &= "Testartikel Menge 1 Betrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
TextBox_Kassenbon.Text &= "Gesamtbetrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf txt_Kassenbon.Text &= "Gesamtbetrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
TextBox_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf txt_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
End If End If
TextBox_Kassenbon.Text &= TextBox_Drucktext2.Text ' Hier den Händlerbeleg hinzufügen txt_Kassenbon.Text &= txt_Drucktext2.Text ' Hier den Händlerbeleg hinzufügen
Else Else
TextBox_Kassenbon.Text &= TextBox_Drucktext.Text txt_Kassenbon.Text &= txt_Drucktext.Text
End If End If
If comboInstalledPrinters.SelectedIndex <> -1 Then If comboInstalledPrinters.SelectedIndex <> -1 Then
@@ -570,4 +610,88 @@ Public Class frmPOSTerminal
End Sub End Sub
Private Sub ComboBox_COM_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbx_COM.SelectedValueChanged
If cbx_COM.SelectedItem Is Nothing Then
Exit Sub
End If
'If cbx_COM.SelectedItem.ToString = "LAN" Then
' txt_IP.Enabled = True
' txt_Port.Enabled = True
' cbx_ComSpeed.Enabled = False
' cbx_ComSpeed.SelectedIndex = -1
' cbx_ComStop.Enabled = False
' cbx_ComStop.SelectedIndex = -1
'Else
' txt_IP.Enabled = False
' 'txt_IP.Clear()
' txt_Port.Enabled = False
' 'txt_Port.Clear()
' cbx_ComSpeed.Enabled = True
' cbx_ComStop.Enabled = True
'End If
End Sub
Private Function checkConstraints()
Dim valuesOK As Boolean = False
If CInt(txt_Wartezeit.Text) < 1 Then
lblWarning.Text = " Wartezeit muss größer als 0 sein! "
Return valuesOK
End If
If cbx_COM.SelectedItem Is Nothing Then
lblWarning.Text = " Anschluss auswählen "
Return valuesOK
End If
If cbx_Typ.SelectedItem Is Nothing Then
lblWarning.Text = " Typ auswählen "
Return valuesOK
End If
If cbx_COM.SelectedItem.ToString = "LAN" Then
If txt_IP.Text = "" Then
lblWarning.Text = " IP-Adresse hinterlegen! "
Return valuesOK
Else
If CInt(SQL.getValueTxtBySql("SELECT count(*) FROM tblRKSV_POS WHERE pos_ip='" & txt_IP.Text & "' ", "FMZOLL")) > 0 Then
lblWarning.Text = " IP Adresse ist bereits vergeben! "
Return valuesOK
End If
If txt_Port.Text = "" Then
lblWarning.Text = " Port hinterlegen! "
Return valuesOK
End If
End If
End If
If cbx_ComSpeed.SelectedItem = "" Then
lblWarning.Text = " Baudrate hinterlegen! "
Return valuesOK
Else
If cbx_ComStop.SelectedItem = "" Then
lblWarning.Text = " Com Stop hinterlegen! "
Return valuesOK
End If
End If
lblWarning.Text = ""
valuesOK = True
Return valuesOK
End Function
End Class End Class