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:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.2.4.1")>
<Assembly: AssemblyFileVersion("1.2.4.1")>
<Assembly: AssemblyVersion("1.2.4.2")>
<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.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
Else
btnPOS.Enabled = True
End If
@@ -1560,6 +1558,7 @@ Public Class frmBelegNeu
'Button_Gutschrift.Enabled = True
ZVTKey.Close()
MsgBox(response)
setBreak = False
End Sub
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!")
Exit Sub
Case 1
PosPAyment2()
SetRegEntries()
Case Else
ContextMenuStrip1.Items.Clear()
@@ -1593,7 +1592,7 @@ Public Class frmBelegNeu
End Sub
Private Sub PosPAyment2(Optional posid As Integer = -1)
Private Sub SetRegEntries(Optional posid As Integer = -1)
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.
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
If item IsNot Nothing Then
PosPAyment2(item.Name)
SetRegEntries(item.Name)
End If
End Sub

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,15 @@
Imports System.Drawing.Printing
Imports System.Security.Authentication.ExtendedProtection
Imports com.sun.tools.corba.se.idl.constExpr
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports java.awt.print
Imports Microsoft.Win32
Imports TAlex.WPF.Helpers
Public Class frmPOSTerminal
Dim currentPOS As cRKSV_POS
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
'Public Sub New(ByVal _rptKundenBeleg, betrag)
' rptKundenBeleg = _rptKundenBeleg
@@ -38,49 +42,6 @@ Public Class frmPOSTerminal
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()
'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
@@ -92,25 +53,32 @@ Public Class frmPOSTerminal
Try
ZVTKey.SetValue("Funktion", Funktion, RegistryValueKind.DWord)
TypSelected = Strings.Left(ComboBox_Typ.Text, 2).Replace(":", "")
TypSelected = Strings.Left(cbx_Typ.Text, 2).Replace(":", "")
Typ = TypSelected
ZVTKey.SetValue("Typ", Typ, RegistryValueKind.DWord)
ZVTKey.SetValue("KasseNr", TextBox_KasseNr.Text, RegistryValueKind.String)
ZVTKey.SetValue("COM", ComboBox_COM.Text, RegistryValueKind.String)
ZVTKey.SetValue("IP", TextBox_IP.Text, RegistryValueKind.String)
ZVTKey.SetValue("Port", CInt(TextBox_Port.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("ComSpeed", CInt(ComboBox_ComSpeed.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("ComStop", CInt(ComboBox_ComStop.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("Lizenz", TextBox_Lizenz.Text, RegistryValueKind.String)
If Funktion = 0 Or Funktion = 4 Then
Betrag = CInt("0" & TextBox_Betrag.Text)
ZVTKey.SetValue("Betrag", Betrag, RegistryValueKind.DWord)
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 CheckBox_Kassedruck.Checked Then
ZVTKey.SetValue("KasseNr", txt_KasseNr.Text, RegistryValueKind.String)
ZVTKey.SetValue("COM", cbx_COM.Text, RegistryValueKind.String)
ZVTKey.SetValue("IP", txt_IP.Text, RegistryValueKind.String)
ZVTKey.SetValue("Port", CInt(txt_Port.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("ComSpeed", CInt(cbx_ComSpeed.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("ComStop", CInt(cbx_ComStop.Text), RegistryValueKind.DWord)
ZVTKey.SetValue("Lizenz", txt_Lizenz.Text, RegistryValueKind.String)
Select Case Funktion
Case 0, 4
Betrag = CInt("0" & txt_Betrag.Text)
ZVTKey.SetValue("Betrag", Betrag, RegistryValueKind.DWord)
Case 3
ZVTKey.SetValue("StornoBetrag", CInt("0" & txt_Betrag.Text), RegistryValueKind.DWord)
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)
Else
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("ErgebnisText", "EasyZVT konnte nicht gestartet werden", RegistryValueKind.String)
ZVTKey.SetValue("DemoDruckername", comboInstalledPrinters.Text, RegistryValueKind.String)
If CheckBoxAutodruck.Checked Then
If cbx_Autodruck.Checked Then
ZVTKey.SetValue("DemoAutodruck", 1, RegistryValueKind.DWord)
Else
ZVTKey.SetValue("DemoAutodruck", 0, RegistryValueKind.DWord)
End If
If CheckBoxDummy.Checked Then
If cbx_Dummy.Checked Then
ZVTKey.SetValue("DemoDummydruck", 1, RegistryValueKind.DWord)
Else
ZVTKey.SetValue("DemoDummydruck", 0, RegistryValueKind.DWord)
End If
Button_Autorisierung.Enabled = False
Button_Diagnose.Enabled = False
Button_Tagesabschluss.Enabled = False
Button_Storno.Enabled = False
Button_Gutschrift.Enabled = False
btn_Autorisierung.Enabled = False
btn_Diagnose.Enabled = False
btn_Tagesabschluss.Enabled = False
btn_Storno.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"
Catch ex As Exception
@@ -146,13 +118,16 @@ Public Class frmPOSTerminal
End Sub
Private Sub Autorisierung()
If txt_Betrag.Text = "" Then
txt_Betrag.Focus()
Exit Sub
End If
Funktion = 0
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
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
Autorisierung()
End Sub
@@ -178,11 +153,11 @@ Public Class frmPOSTerminal
TextBox_Aktiv.BackColor = Color.Red
Else
TextBox_Aktiv.BackColor = Color.Gray
End If
End While
End If
End While
TextBox_Aktiv.BackColor = Color.Gray
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
Catch ex As Exception
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)
TextBox_Aktiv.Text = ""
TextBox_Ergebnis.Text = ZVTKey.GetValue("Ergebnis")
TextBox_ErgebnisText.Text = ZVTKey.GetValue("ErgebnisText")
TextBox_Drucktext.Text = Replace(ZVTKey.GetValue("Drucktext"), vbLf, vbCrLf)
TextBox_Drucktext2.Text = Replace(ZVTKey.GetValue("Drucktext2"), vbLf, vbCrLf)
txt_Ergebnis.Text = ZVTKey.GetValue("Ergebnis")
txt_ErgebnisText.Text = ZVTKey.GetValue("ErgebnisText")
txt_Drucktext.Text = Replace(ZVTKey.GetValue("Drucktext"), vbLf, vbCrLf)
txt_Drucktext2.Text = Replace(ZVTKey.GetValue("Drucktext2"), vbLf, vbCrLf)
TextBox_BelegNr.Text = ZVTKey.GetValue("BelegNr").ToString
TextBox_Betrag.Text = ""
txt_BelegNr.Text = ZVTKey.GetValue("BelegNr").ToString
txt_Betrag.Text = ""
If CheckBoxAutodruck.Checked Then
If Len(TextBox_Drucktext.Text) > 1 Then
Button_Kundenbeleg_drucken.PerformClick()
If cbx_Autodruck.Checked Then
If Len(txt_Drucktext.Text) > 1 Then
btn_Kundenbeleg_drucken.PerformClick()
End If
If Len(TextBox_Drucktext2.Text) > 1 Then
Button_Haendlerbeleg_drucken.PerformClick()
If Len(txt_Drucktext2.Text) > 1 Then
btn_Haendlerbeleg_drucken.PerformClick()
End If
End If
TextBox_Betrag.Focus()
Button_Autorisierung.Enabled = True
Button_Diagnose.Enabled = True
Button_Tagesabschluss.Enabled = True
Button_Storno.Enabled = True
Button_Gutschrift.Enabled = True
txt_Betrag.Focus()
btn_Autorisierung.Enabled = True
btn_Diagnose.Enabled = True
btn_Tagesabschluss.Enabled = True
btn_Storno.Enabled = True
btn_Gutschrift.Enabled = True
btn_Sprache.Enabled = True
btn_Druckwiederh.Enabled = True
btn_Kontostand.Enabled = True
ZVTKey.Close()
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
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
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
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
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
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
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
SetRegistryParameter()
EasyZVT_Worker.RunWorkerAsync()
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
@@ -300,7 +311,7 @@ Public Class frmPOSTerminal
.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_lizenz] ,[pos_kassendruck] ,[pos_demoausdruck]
,[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_bezeichnung").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft
.Columns("pos_bezeichnung").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("pos_bezeichnung").HeaderText = "Terminal"
.Columns("pos_kassennr").Width = 100
.Columns("pos_kassennr").HeaderText = "Kassen-Nr"
.Columns("pos_aktiv").Width = 50
.Columns("pos_aktiv").HeaderText = "Aktiv"
.Columns("pos_kassennr").Width = 40
.Columns("pos_kassennr").HeaderText = "K-Nr"
.Columns("pos_aktiv").Width = 25
.Columns("pos_aktiv").HeaderText = ""
.Columns("pos_kassendruck").Visible = False
.Columns("pos_kasse").Visible = False
.Columns("pos_com").Visible = False
@@ -334,6 +346,8 @@ Public Class frmPOSTerminal
.Columns("pos_händerbeleg_drucken").Visible = False
.Columns("pos_storno").Visible = False
.Columns("pos_wartezeit").Visible = False
.Columns("pos_ip").HeaderText = "IP-Adresse"
.Columns("pos_ip").Width = 100
End With
End Sub
@@ -341,14 +355,16 @@ Public Class frmPOSTerminal
Try
Text = kasse & " - POS Terminal einstellen "
lblWarning.Text = ""
btnNew.Enabled = False
initDgv()
AddHandler EasyZVT_Worker.DoWork, New System.ComponentModel.DoWorkEventHandler(AddressOf EasyZVT_Async)
AddHandler EasyZVT_Worker.RunWorkerCompleted, New System.ComponentModel.RunWorkerCompletedEventHandler(AddressOf EasyZVT_OnCompleted)
If dgvTerminals.Columns.Count < 1 Then Exit Sub
loadCurrentPOS()
If dgvTerminals.Columns.Count < 1 Then
loadCurrentPOS()
End If
Catch ex As Exception
MessageBox.Show("Fehler beim Einlesen der Standardwerte: " & ex.Message)
@@ -357,42 +373,59 @@ Public Class frmPOSTerminal
Private Sub loadCurrentPOS()
btnNew.Enabled = False
If dgvTerminals.SelectedRows.Count > 0 Then
currentPOS = New cRKSV_POS(dgvTerminals.SelectedRows(0).Cells("pos_Id").Value, dgvTerminals.SelectedRows(0).Cells("pos_kasse").Value)
cbxAktiv.Checked = currentPOS.pos_aktiv
txtWartezeit.Text = currentPOS.pos_wartezeit / 1000
TextBox_KasseNr.Text = currentPOS.pos_kassennr
ComboBox_COM.Text = currentPOS.pos_com
TextBox_IP.Text = currentPOS.pos_ip
TextBox_Port.Text = currentPOS.pos_port
ComboBox_ComSpeed.Text = currentPOS.pos_comspeed
ComboBox_ComStop.Text = currentPOS.pos_comstop
TextBox_Lizenz.Text = currentPOS.pos_lizenz
txt_KassenBez.Text = currentPOS.pos_bezeichnung
cbx_aktiv.Checked = currentPOS.pos_aktiv
txt_Wartezeit.Text = currentPOS.pos_wartezeit / 1000
txt_KasseNr.Text = currentPOS.pos_kassennr
cbx_COM.Text = currentPOS.pos_com
txt_IP.Text = currentPOS.pos_ip
txt_Port.Text = currentPOS.pos_port
cbx_ComSpeed.Text = currentPOS.pos_comspeed
cbx_ComStop.Text = currentPOS.pos_comstop
txt_Lizenz.Text = currentPOS.pos_lizenz
If currentPOS.pos_kassendruck Then
CheckBox_Kassedruck.Checked = True
cbx_Kassedruck.Checked = True
Else
CheckBox_Kassedruck.Checked = False
cbx_Kassedruck.Checked = False
End If
ComboBox_Typ.SelectedIndex = ComboBox_Typ.FindString(currentPOS.pos_typ)
cbx_Typ.SelectedIndex = cbx_Typ.FindString(currentPOS.pos_typ)
PopulateInstalledPrintersCombo()
'comboInstalledPrinters.SelectedIndex = comboInstalledPrinters.FindString(ZVTKey.GetValue("DemoDruckername", ""))
If Not currentPOS.pos_demoausdruck Then
CheckBoxAutodruck.Checked = False
cbx_Autodruck.Checked = False
Else
CheckBoxAutodruck.Checked = True
cbx_Autodruck.Checked = True
End If
If Not currentPOS.pos_demodummyausdruck Then
CheckBoxDummy.Checked = False
cbx_Dummy.Checked = False
Else
CheckBoxDummy.Checked = True
cbx_Dummy.Checked = True
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
@@ -403,32 +436,35 @@ Public Class frmPOSTerminal
If dgvTerminals.SelectedRows.Count > 0 Then
If Not checkConstraints() Then
Exit Sub
End If
currentPOS.pos_kassennr = TextBox_KasseNr.Text
currentPOS.pos_aktiv = cbxAktiv.Checked
currentPOS.pos_wartezeit = CInt(txtWartezeit.Text) * 1000
currentPOS.pos_com = ComboBox_COM.Text
currentPOS.pos_ip = TextBox_IP.Text
currentPOS.pos_port = TextBox_Port.Text
currentPOS.pos_comspeed = ComboBox_ComSpeed.Text
currentPOS.pos_comstop = ComboBox_ComStop.Text
currentPOS.pos_lizenz = TextBox_Lizenz.Text
If CheckBox_Kassedruck.Checked Then
currentPOS.pos_kassennr = txt_KasseNr.Text
currentPOS.pos_aktiv = cbx_aktiv.Checked
currentPOS.pos_wartezeit = CInt(txt_Wartezeit.Text) * 1000
currentPOS.pos_com = cbx_COM.Text
currentPOS.pos_ip = txt_IP.Text
currentPOS.pos_port = txt_Port.Text
currentPOS.pos_comspeed = cbx_ComSpeed.Text
currentPOS.pos_comstop = cbx_ComStop.Text
currentPOS.pos_lizenz = txt_Lizenz.Text
If cbx_Kassedruck.Checked Then
currentPOS.pos_kassendruck = True
Else
currentPOS.pos_kassendruck = False
End If
currentPOS.pos_typ = ComboBox_Typ.FindString(ComboBox_Typ.SelectedIndex)
currentPOS.pos_typ = cbx_Typ.FindString(cbx_Typ.SelectedIndex)
PopulateInstalledPrintersCombo()
'comboInstalledPrinters.SelectedIndex = comboInstalledPrinters.FindString(ZVTKey.GetValue("DemoDruckername", ""))
If Not CheckBoxAutodruck.Checked Then
If Not cbx_Autodruck.Checked Then
currentPOS.pos_demoausdruck = False
Else
currentPOS.pos_demoausdruck = True
End If
If Not CheckBoxDummy.Checked Then
If Not cbx_Dummy.Checked Then
currentPOS.pos_demodummyausdruck = False
Else
currentPOS.pos_demodummyausdruck = True
@@ -436,6 +472,7 @@ Public Class frmPOSTerminal
currentPOS.SAVE()
btnNew.Enabled = False
End If
@@ -447,6 +484,9 @@ Public Class frmPOSTerminal
loadCurrentPOS()
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
@@ -502,25 +542,25 @@ Public Class frmPOSTerminal
Process.Start(webAddress)
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()
PDlg.UseEXDialog = True ' Notwendig für x64
PDoc = New Printing.PrintDocument()
AddHandler PDoc.PrintPage, AddressOf PDoc_SeiteDrucken
If CheckBoxDummy.Checked Then
TextBox_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf
TextBox_Kassenbon.Text &= "KasseNr: " & TextBox_KasseNr.Text & vbCrLf & vbCrLf
If cbx_Dummy.Checked Then
txt_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf
txt_Kassenbon.Text &= "KasseNr: " & txt_KasseNr.Text & vbCrLf & vbCrLf
If Betrag > 0 And Funktion = 0 Then
TextBox_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
TextBox_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
txt_Kassenbon.Text &= "Testartikel Menge 1 Betrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
txt_Kassenbon.Text &= "Gesamtbetrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
txt_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
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
TextBox_Kassenbon.Text = TextBox_Drucktext.Text
txt_Kassenbon.Text = txt_Drucktext.Text
End If
If comboInstalledPrinters.SelectedIndex <> -1 Then
@@ -536,25 +576,25 @@ Public Class frmPOSTerminal
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()
PDlg.UseEXDialog = True ' Notwendig für x64
PDoc = New Printing.PrintDocument()
AddHandler PDoc.PrintPage, AddressOf PDoc_SeiteDrucken
If CheckBoxDummy.Checked Then
TextBox_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf
TextBox_Kassenbon.Text &= "KasseNr: " & TextBox_KasseNr.Text & vbCrLf & vbCrLf
If cbx_Dummy.Checked Then
txt_Kassenbon.Text = "Kassenbon EasyZVT DemoApp" & vbCrLf
txt_Kassenbon.Text &= "KasseNr: " & txt_KasseNr.Text & vbCrLf & vbCrLf
If Betrag > 0 And Funktion = 0 Then
TextBox_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
TextBox_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
txt_Kassenbon.Text &= "Testartikel Menge 1 Betrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
txt_Kassenbon.Text &= "Gesamtbetrag " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
txt_Kassenbon.Text &= "Kartenzahlung " & (CDbl(Betrag) / 100.0).ToString("###,##0.00") & vbCrLf
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
TextBox_Kassenbon.Text &= TextBox_Drucktext.Text
txt_Kassenbon.Text &= txt_Drucktext.Text
End If
If comboInstalledPrinters.SelectedIndex <> -1 Then
@@ -570,4 +610,88 @@ Public Class frmPOSTerminal
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