Imports System.ComponentModel Imports DevComponents.AdvTree Imports Syncfusion.Pdf Imports Syncfusion.Pdf.Parsing Public Class Behandlung #Region "Properties" Dim m_patientnr As Integer Property PatientNr As Integer Get Return m_patientnr End Get Set(value As Integer) Try If value = 0 Then Exit Property m_patientnr = value Get_Behandlungen() Catch ex As Exception log.Writelog("Behandlung: PatientNr Set: " + ex.Message, clsLog.Logtype.ApplError) Dim a As Integer = 1 End Try End Set End Property Dim m_haschanges As Boolean Property HasChanges As Boolean Get Return m_haschanges End Get Set(value As Boolean) m_haschanges = value End Set End Property #End Region #Region "Deklarationen" Dim DB As New clsDB Dim log As New clsLog Dim FormReadonly As Boolean = False Dim WithEvents evh As Generic_Event_Handler = Globals.EVH #End Region #Region "Closing / Check_Changes" ''' ''' Prüfung, ob Datenänderungen vorgenommen wurden. ''' ''' Private Function Check_Changes() As Boolean If Me.FormReadonly Then Return True Exit Function End If Dim msgres As MsgBoxResult If Me.HasChanges Then msgres = MsgBox("Daten wurden verändert. Wollen Sie die Änderungen speichern", vbYesNo + vbQuestion) Select Case msgres Case MsgBoxResult.Yes 'Save_Data() Return True Case MsgBoxResult.Cancel Return False Case MsgBoxResult.No Me.HasChanges = False Return True End Select Else Return True End If End Function #End Region #Region "Eventhandler ChangeEreignisse" ''' ''' Allg Eventhandler für Chanage-Ereignise festlegen ''' ''' ''' Private Sub AddChanges(ByVal Container As Control) Dim l As New List(Of Control) Me.GetControl(Me, "*", l) Dim evh As EventHandler = AddressOf ChangesMade For Each c As Control In l If TypeOf c Is TextBox Then Dim ctl As TextBox = c AddHandler ctl.TextChanged, evh End If If TypeOf c Is MaskedTextBox Then Dim ctl As MaskedTextBox = c AddHandler ctl.TextChanged, evh End If If TypeOf c Is ComboBox Then Dim ctl As ComboBox = c AddHandler ctl.SelectedValueChanged, evh End If If TypeOf c Is RichTextBox Then Dim ctl As RichTextBox = c AddHandler ctl.TextChanged, evh End If If TypeOf c Is CheckBox Then If c.Name <> "cboxNurAktive" Then Dim ctl As CheckBox = c AddHandler ctl.CheckedChanged, evh End If End If If TypeOf c Is DateTimePicker Then Dim ctl As DateTimePicker = c AddHandler ctl.ValueChanged, evh End If If TypeOf c Is CheckedListBox Then Dim ctl As CheckedListBox = c AddHandler ctl.ItemCheck, AddressOf ChecketListBoxChange End If Next End Sub ''' ''' Envent-Handler für Change-Ereignisse ''' ''' ''' ''' Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) Me.HasChanges = True Dim objtype As System.Type = sender.GetType If objtype.Name = "MaskedTextBox" Then Dim o As MaskedTextBox = sender If o.Text = "01.01.1900" Then o.Text = " . . " End If End Sub Private Sub ChecketListBoxChange(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Me.HasChanges = True End Sub ''' ''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung ''' ''' Base-Contrlo (z.B. aktuelles Formular ''' Schlüssel welcher gesucht werden soll ''' Liste der gefundenen Objekte ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. ''' ''' Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean If L Is Nothing Then L = New List(Of Control) Dim Gut As Boolean Dim ReturnFlag As Boolean = False If Key IsNot Nothing Then Key = Key.ToLower If BaseControl.HasChildren = True Then For Each ctl As Control In BaseControl.Controls Gut = False If Key Is Nothing Then Gut = True Else If ctl.Name.Length >= Key.Length Then Key = Key.ToLower If Key.StartsWith("*") Then If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True ElseIf Key.EndsWith("*") Then If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True Else If Key = ctl.Name.ToLower Then Gut = True End If End If End If If Gut = True Then L.Add(ctl) If ReturnAtFirstElement = True Then ReturnFlag = True End If If ReturnFlag = False Then Call GetControl(ctl, Key, L) End If Next End If If L.Count - 1 > -1 Then Return True Else Return False End If End Function #End Region #Region "Daten_Laden" Sub Get_Behandlungen() DB.Get_Tabledata("Behandlu", " where aktiv=1 and nrpatient=" + Me.PatientNr.ToString + " order by status, behandlungsbeginn desc") Me.treebehandlungen.Nodes.Clear() Dim BH As New DevComponents.AdvTree.Node Dim BHoffen As New DevComponents.AdvTree.Node Dim BHabgeshlossen As New DevComponents.AdvTree.Node Dim BHFakturiert As New DevComponents.AdvTree.Node Dim kv As New DevComponents.AdvTree.Node Dim kvoffen As New DevComponents.AdvTree.Node Dim kvabgeschlossen As New DevComponents.AdvTree.Node If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then BH.Text = "Projekte" Me.AbschlussMitRecallAnzeigeToolStripMenuItem.Visible = False Me.AbshlussOhneRecallAnzeigeToolStripMenuItem.Visible = False Me.RechnungKVEntwurfToolStripMenuItem.Text = "Rechnung/Offerte Vorschau" Me.RechnungKVEntwurfToolStripMenuItem.Text = "Rechnung/Offerte Entwurf" Me.GroupBox1.Width = 350 Else BH.Text = "Behandlungen" End If ' BH.Text = "Behandlungen" BH.Tag = -1 BH.ImageIndex = 0 BHoffen.Text = "Offen" BHoffen.Tag = -11 BHoffen.ImageIndex = 0 BHabgeshlossen.Text = "Abgeschlossen" BHabgeshlossen.Tag = -12 BHabgeshlossen.ImageIndex = 0 BHFakturiert.Text = "Fakturiert" BHFakturiert.Tag = -13 BHFakturiert.ImageIndex = 0 BH.Nodes.Add(BHoffen) BH.Nodes.Add(BHabgeshlossen) BH.Nodes.Add(BHFakturiert) If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then kv.Text = "Offerten" Else kv.Text = "Kostenvoranschläge" End If ' kv.Text = "Kostenvoranschlag" kv.Tag = -2 kv.ImageIndex = 1 kvoffen.Text = "Offen" kvoffen.Tag = -22 kvoffen.ImageIndex = 1 kvabgeschlossen.Text = "Abgeschlossen" kvabgeschlossen.Tag = -23 kvabgeschlossen.ImageIndex = 1 Me.treebehandlungen.Nodes.Add(BH) Me.treebehandlungen.Nodes.Add(kv) kv.Nodes.Add(kvoffen) kv.Nodes.Add(kvabgeschlossen) Dim firstnode_tag As Integer = 0 For Each r As DataRow In DB.dsDaten.Tables(0).Rows If firstnode_tag = 0 Then firstnode_tag = r("nrbehandlung") Dim tn As New DevComponents.AdvTree.Node tn.Tag = r("nrbehandlung") Dim total As Double = r("Total") If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then tn.Text = r("behandlungsgrund") + " / " + r("behandlungsbeginn") + " / " + total.ToString("N2") Else tn.Text = r("behandlungsbeginn") + " / " + total.ToString("N2") End If Select Case r("status") Case 1 tn.ImageIndex = 2 BHoffen.Nodes.Add(tn) Case 2 tn.ImageIndex = 3 BHabgeshlossen.Nodes.Add(tn) Case 3 tn.ImageIndex = 4 BHFakturiert.Nodes.Add(tn) Case 4 tn.ImageIndex = 2 kvoffen.Nodes.Add(tn) Case 5 tn.ImageIndex = 3 kvabgeschlossen.Nodes.Add(tn) End Select Next Me.treebehandlungen.ExpandAll() enable_disable_tabs(False) Me.treebehandlungen.SelectedNode = Globals.FindNode(Me.treebehandlungen.Nodes, firstnode_tag, firstnode_tag) If firstnode_tag <> 0 Then nodeselected() End Sub #End Region Private Sub treebehandlungen_Click(sender As Object, e As EventArgs) Handles treebehandlungen.Click, treebehandlungen.AfterNodeSelect nodeselected() End Sub Sub nodeselected() Try If Me.Behandungdetail1.HasChanges Then Me.Behandungdetail1.Check_Changes() End If Globals.OnLoad = True If Me.treebehandlungen.SelectedNode.Tag > 0 Then Me.Behandungdetail1.SuspendLayout() Me.Behandungdetail1.Patientnr = Me.PatientNr Me.Behandungdetail1.Behandlungsnr = Me.treebehandlungen.SelectedNode.Tag Me.Behandungdetail1.Behandlungsnr = Me.treebehandlungen.SelectedNode.Tag Me.Leistungen1.Behandlungnr = Me.treebehandlungen.SelectedNode.Tag Me.Leistungen1.Behandlungsstatus = Behandungdetail1.Behandlungsstatus Me.Leistungen1.Dentotar = Behandungdetail1.cbboxNrAbrechnungstyp.Text.Substring(0, 8) = "Dentotar" Try Leistungen1.cbboxnrbehandler.SelectedValue = Behandungdetail1.cbboxnrbehandler.SelectedValue Catch End Try enable_disable_tabs(True) refresh_tabs() Me.Behandungdetail1.HasChanges = False Me.Behandungdetail1.ResumeLayout() Else enable_disable_tabs(False) End If Catch ex As Exception enable_disable_tabs(False) Finally Globals.OnLoad = False End Try End Sub Sub enable_disable_tabs(ByVal enable As Boolean) Me.SuperTabControl1.Tabs(1).Enabled = enable Me.SuperTabControl1.Tabs(0).Enabled = enable Me.SuperTabControl1.Visible = enable If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then Me.SuperTabControl1.Tabs(0).Text = "Projekt" End If End Sub Private Sub DDTBehandlungsbeginn_DoubleClick(sender As Object, e As EventArgs) sender.value = Now End Sub Private Sub SuperTabControl1_SelectedTabChanged(sender As Object, e As DevComponents.DotNetBar.SuperTabStripSelectedTabChangedEventArgs) Handles SuperTabControl1.SelectedTabChanged Try refresh_tabs() Catch End Try End Sub Sub refresh_tabs() Me.Leistungen1.TaxPunkte = Me.Behandungdetail1.cbboxNrtaxpunkt.SelectedValue Me.Leistungen1.Frankenwert = Me.Behandungdetail1.mtxtTaxpunktwert.Text Me.Leistungen1.behandler = Me.Behandungdetail1.cbboxnrbehandler.SelectedValue Me.Leistungen1.Behandlungnr = Me.Behandungdetail1.Behandlungsnr Me.Leistungen1.Dentotar = Me.Behandungdetail1.cbboxNrAbrechnungstyp.Text.Substring(0, 8) = "Dentotar" Me.Leistungen1.dtdatum.Value = Me.Behandungdetail1.DDTBehandlungsbeginn.Value Me.Leistungen1.txtErgänzung.Text = "" Me.Leistungen1.refresh_leistungen() End Sub Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) End Sub Private Sub Benhandungdetail1_Load(sender As Object, e As EventArgs) Handles Behandungdetail1.Load End Sub Private Sub tsbtnnewbehandlung_Click(sender As Object, e As EventArgs) Handles tsbtnnewbehandlung.Click If Me.NeueBehandlungToolStripMenuItem1.Text = "Neuer Kostenvoranschlag" Then Neue_Behandlung(4) Else Neue_Behandlung(1) End If End Sub Sub Neue_Behandlung(ByVal Status As Integer) Dim db As New clsDB Dim pat As New clsDB pat.Get_Tabledata("Privat", "where nrprivat=" + Me.PatientNr.ToString) Dim newkey As Integer = db.Get_DBKey("Behandlung") db.Get_Tabledata("Behandlu", " where nrbehandlung=0") Dim r As DataRow r = db.dsDaten.Tables(0).NewRow For Each c As DataColumn In db.dsDaten.Tables(0).Columns r.Item(c) = db.dsDaten.Tables(0).Rows(0).Item(c) Next r.Item("nrestyp") = pat.dsDaten.Tables(0).Rows(0).Item("estyp") If Status = 4 Then Dim db1 As New clsDB db1.Get_Tabledata("ESTYP", "where default_bei_kv=1") If db1.dsDaten.Tables(0).Rows.Count > 0 Then r.Item("nrestyp") = db1.dsDaten.Tables(0).Rows(0).Item("nrestyp") End If db1.Dispose() Else Dim db1 As New clsDB db1.Get_Tabledata("ESTYP", "where default_bei_rg=1") If db1.dsDaten.Tables(0).Rows.Count > 0 Then r.Item("nrestyp") = db1.dsDaten.Tables(0).Rows(0).Item("nrestyp") End If db1.Dispose() End If r.Item("nrbehandlung") = newkey r.Item("nrpatient") = Me.PatientNr 'r.Item("nrbehandler") = 1 r.Item("nrrgtyp") = pat.dsDaten.Tables(0).Rows(0).Item("nrrgtyp") r.Item("rabatt") = pat.dsDaten.Tables(0).Rows(0).Item("rabatt") Try If pat.dsDaten.Tables(0).Rows(0).Item("nrgarant") > 0 Then r.Item("nrgarant") = pat.dsDaten.Tables(0).Rows(0).Item("nrgarant") Catch End Try Try If pat.dsDaten.Tables(0).Rows(0).Item("nrgesvertreter") > 0 Then r.Item("nrgarant") = pat.dsDaten.Tables(0).Rows(0).Item("nrgesvertreter") Catch End Try Try If pat.dsDaten.Tables(0).Rows(0).Item("nrvs") > 0 Then r.Item("nrgarant") = pat.dsDaten.Tables(0).Rows(0).Item("nrvs") Catch End Try Try If pat.dsDaten.Tables(0).Rows(0).Item("nrkk") > 0 Then r.Item("nrgarant") = pat.dsDaten.Tables(0).Rows(0).Item("nrkk") Catch End Try Try If pat.dsDaten.Tables(0).Rows(0).Item("nrfs") > 0 Then r.Item("nrgarant") = pat.dsDaten.Tables(0).Rows(0).Item("nrfs") Catch End Try Try If pat.dsDaten.Tables(0).Rows(0).Item("nriv") > 0 Then r.Item("nrgarant") = pat.dsDaten.Tables(0).Rows(0).Item("nriv") Catch End Try 'If pat.dsDaten.Tables(0).Rows(0).Item("nrgesvertrater") > 0 Then r.Item("nrgarant") = pat.dsDaten.Tables(0).Rows(0).Item("nrgesvertreter") r.Item("behandlungsbeginn") = Now r.Item("Behandlungsende") = Now r.Item("status") = Status r.Item("statusdatum") = Now r.Item("erstellt_am") = Now r.Item("mutiert_am") = Now r.Item("mutierer") = Globals.ActUser r.Item("aktiv") = True Dim dbgesetz As New clsDB dbgesetz.Get_Tabledata("Gesetz", "", "Select * from gesetz where standard=1") If dbgesetz.dsDaten.Tables(0).Rows.Count = 0 Then r.Item("nrgesetz") = 0 Else r.Item("nrgesetz") = dbgesetz.dsDaten.Tables(0).Rows(0).Item("nrgesetz") End If dbgesetz.Get_Tabledata("Gesetz", "", "Select * from behandlungsart where standard=1") If dbgesetz.dsDaten.Tables(0).Rows.Count = 0 Then r.Item("nrbehandlungsart") = 0 Else r.Item("nrbehandlungsart") = dbgesetz.dsDaten.Tables(0).Rows(0).Item("nrbehandlungsart") End If Get_Standards(r.Item("nrbehandler"), "Behandler") Get_Standards(r.Item("nrestyp"), "ESTyp") Get_Standards(r.Item("nrrgtyp"), "RGTyp") Get_Standards(r.Item("Nrabrechnungstyp"), "Abrechnungstyp") Get_Standards(r.Item("nransatz"), "Ansatz") Get_Standards(r.Item("taxpunktwert"), "Taxpunktwert") Get_Standards(r.Item("andrucken_taxpunkte"), "ANDRUCKENTAXPUNKTE") Get_Standards(r.Item("mitdatum"), "Mitdatum") Get_Standards(r.Item("rabattgesamt"), "RABATTGESAMT") db.dsDaten.Tables(0).Rows.Add(r) db.Update_Data() pat.Dispose() db.Dispose() Me.Get_Behandlungen() Try Me.treebehandlungen.SelectedNode = Globals.FindNode(Me.treebehandlungen.Nodes, newkey, newkey) Me.nodeselected() Catch ex As Exception End Try End Sub Sub Get_Standards(ByRef o As Object, feld As String) Dim dbs As New clsDB Try Select Case UCase(feld) Case "BEHANDLER" Try o = Globals.ActUser Catch ex As Exception End Try dbs.Get_Tabledata("Standards", "", "Select * from standards where eintragnr=1", "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then If dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") = "ActUser" Then dbs.Get_Tabledata("User", "", "Select behandlernummer from [user] where userid=" + Globals.ActUser.ToString, "", False) o = dbs.dsDaten.Tables(0).Rows(0).Item("behandlernummer") Else o = dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") End If End If Case "ESTYP" dbs.Get_Tabledata("Standards", "", "Select * from standards where eintragnr=2", "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then o = dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") End If Case "RGTYP" dbs.Get_Tabledata("Standards", "", "Select * from standards where eintragnr=3", "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then o = dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") End If Case "ABRECHNUNGSTYP" dbs.Get_Tabledata("Standards", "", "Select * from standards where eintragnr=4", "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then o = dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") End If Case "ANSATZ" dbs.Get_Tabledata("Standards", "", "Select * from standards where eintragnr=5", "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then o = dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") End If Case "ANDRUCKENTAXPUNKTE" dbs.Get_Tabledata("Standards", "", "Select * from standards where eintragnr=6", "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then o = dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") = "Ja" End If Case "MITDATUM" dbs.Get_Tabledata("Standards", "", "Select * from standards where eintragnr=7", "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then o = dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") = "Ja" End If Case "RABATTGESAMT" dbs.Get_Tabledata("Standards", "", "Select * from standards where eintragnr=8", "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then o = dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") = "Ja" End If Case "TAXPUNKTWERT" Dim s As String = "" dbs.Get_Tabledata("Standards", "", "Select * from standards where eintragnr=5", "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then s = dbs.dsDaten.Tables(0).Rows(0).Item("Standardwert") End If If s <> "" Then dbs.Get_Tabledata("Ansatz", "", "Select taxpunktwert from ansatz where nransatz=" & s, "", False) If dbs.dsDaten.Tables(0).Rows.Count > 0 Then o = dbs.dsDaten.Tables(0).Rows(0).Item(0) End If End If Case Else End Select Catch ex As Exception Dim i As Integer i = 0 Finally dbs.Dispose() End Try End Sub Private Sub tsbtndeletebehandlung_Click(sender As Object, e As EventArgs) Handles tsbtndeletebehandlung.Click If MsgBox("Datensatz wirklich löschen?", vbYesNo + vbQuestion, "Behandlung löschen") = MsgBoxResult.Yes Then Dim db As New clsDB db.Get_Tabledata("Behandlu", "where nrbehandlung=" + Me.treebehandlungen.SelectedNode.Tag.ToString) db.dsDaten.Tables(0).Rows(0).Item("aktiv") = 0 db.dsDaten.Tables(0).Rows(0).Item("Status") = 9 db.dsDaten.Tables(0).Rows(0).Item("mutiert_am") = Now db.dsDaten.Tables(0).Rows(0).Item("mutierer") = Globals.ActUser db.Update_Data() db.Dispose() Me.Get_Behandlungen() End If End Sub Private Sub BehandlungAbschliessenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BehandlungAbschliessenToolStripMenuItem.Click End Sub Private Sub NeueBehandlungToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles NeueBehandlungToolStripMenuItem1.Click Me.tsbtnnewbehandlung_Click(sender, e) End Sub Private Sub BehandlungLöschenToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles BehandlungLöschenToolStripMenuItem1.Click Me.tsbtndeletebehandlung_Click(sender, e) End Sub Private Sub BehandlungabschliessenToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles BehandlungabschliessenToolStripMenuItem1.Click Application.DoEvents() Me.ctxmenubehandlung.Close() ' If MsgBox("Behandlung/KV abschliessen?", vbYesNo + vbQuestion) = vbYes Then Try If DB.Get_Option(10001) = True Then Globals.Recall_Bei_Abschluss = True Else Globals.Recall_Bei_Abschluss = False Catch End Try Behandlung_Abschliessen(Me.treebehandlungen.SelectedNode.Tag.ToString, Globals.Recall_Bei_Abschluss) 'End If End Sub Private Sub BehandlunKopierenToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles BehandlungKopierenToolStripMenuItem.Click If BehandlungKopierenToolStripMenuItem.Text = "Kostenvoranschlag kopieren" Then Dim dl As MsgBoxResult = MsgBox("Als Kostenvoranschlag kopieren (Ja) oder als neue Behandlung kopieren (Nein)?", vbYesNoCancel + vbQuestion) If dl = vbYes Then Dim db As New clsDB db.Copy_Behandlung(Me.treebehandlungen.SelectedNode.Tag.ToString.ToString, 1) End If If dl = vbNo Then Dim db As New clsDB db.Copy_Behandlung(Me.treebehandlungen.SelectedNode.Tag.ToString, 2) End If Else Dim dl As MsgBoxResult = MsgBox("Als Behandlung kopieren (Ja) oder als neuer KV kopieren (Nein)?", vbYesNoCancel + vbQuestion) If dl = vbYes Then Dim db As New clsDB db.Copy_Behandlung(Me.treebehandlungen.SelectedNode.Tag.ToString, 3) End If If dl = vbNo Then Dim db As New clsDB db.Copy_Behandlung(Me.treebehandlungen.SelectedNode.Tag.ToString, 4) End If End If Get_Behandlungen() End Sub Private Sub tsbtndelete_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles tsbtndelete.ItemClicked End Sub Private Sub ctxmenubehandlung_Opening(sender As Object, e As CancelEventArgs) Handles ctxmenubehandlung.Opening Try Dim i As Integer Try i = Me.treebehandlungen.SelectedNode.Parent.Tag Catch i = Me.treebehandlungen.SelectedNode.Tag End Try Me.NeueBehandlungToolStripMenuItem.Enabled = True Me.BehandlungAbschliessenToolStripMenuItem.Enabled = True Me.BehandlungZurücksetzenToolStripMenuItem.Enabled = True Me.BehandlungKopierenToolStripMenuItem.Enabled = True Me.SofortRechnungDruckenToolStripMenuItem.Enabled = True Me.KopieErstellenToolStripMenuItem.Enabled = True Me.BehandlungKopierenToolStripMenuItem.Enabled = True Me.NeueBehandlungToolStripMenuItem.Visible = True Me.BehandlungAbschliessenToolStripMenuItem.Visible = True Me.BehandlungZurücksetzenToolStripMenuItem.Visible = True Me.BehandlungKopierenToolStripMenuItem.Visible = True Me.SofortRechnungDruckenToolStripMenuItem.Visible = True Me.KopieErstellenToolStripMenuItem.Visible = True Me.BehandlungKopierenToolStripMenuItem.Visible = True Me.SofortRechnungDruckenToolStripMenuItem.Text = "Sofort-Rechnung drucken" Me.AbschlussUndSofortrechnungAlsOutlookMailToolStripMenuItem.Text = "Abschluss und Sofortrechnung als " + Globals.MailClient + "-Mail" Me.AlsMailToolStripMenuItem.Text = "als PDF an " + Globals.MailClient + "-Mail" Me.AlsPDFPerMailToolStripMenuItem.Text = "als PDF per " + Globals.MailClient + "-Mail" ' Me.ctxmenubehandlung.Enabled = True Select Case i Case -11 Me.BehandlungZurücksetzenToolStripMenuItem.Enabled = False Me.BehandlungabschliessenToolStripMenuItem1.Enabled = True Me.KopieErstellenToolStripMenuItem.Enabled = False Me.SofortRechnungDruckenToolStripMenuItem.Enabled = False Case -12 Me.BehandlungZurücksetzenToolStripMenuItem.Enabled = True Me.BehandlungabschliessenToolStripMenuItem1.Enabled = False Me.SofortRechnungDruckenToolStripMenuItem.Enabled = True KopieErstellenToolStripMenuItem.Enabled = False Case -13 Me.BehandlungZurücksetzenToolStripMenuItem.Enabled = True Me.BehandlungabschliessenToolStripMenuItem1.Enabled = False Me.SofortRechnungDruckenToolStripMenuItem.Enabled = False Me.KopieErstellenToolStripMenuItem.Enabled = True End Select If Globals.Applicationtype = Globals.ApplicationTypes.Projektabrechnung Then Select Case i Case -23 Me.BehandlungabschliessenToolStripMenuItem1.Text = "Offerte abschliessen" BehandlungabschliessenToolStripMenuItem1.Enabled = False Me.NeueBehandlungToolStripMenuItem1.Text = "Neue Offerte" Me.BehandlungZurücksetzenToolStripMenuItem.Text = "Offerte zurücksetzen" Me.BehandlungZurücksetzenToolStripMenuItem.Visible = True Me.BehandlungLöschenToolStripMenuItem1.Text = "Offerte löschen" Me.BehandlungKopierenToolStripMenuItem.Text = "Offerte kopieren" Me.SofortRechnungDruckenToolStripMenuItem.Enabled = False Me.KopieErstellenToolStripMenuItem.Enabled = False Me.SofortRechnungDruckenToolStripMenuItem.Text = "Offerte drucken" Me.SofortRechnungDruckenToolStripMenuItem.Enabled = True Case -2 Me.BehandlungabschliessenToolStripMenuItem1.Text = "Offerte abschliessen" Me.BehandlungabschliessenToolStripMenuItem1.Enabled = False BehandlungabschliessenToolStripMenuItem1.Enabled = False Me.NeueBehandlungToolStripMenuItem1.Text = "Neuer Offerte" Me.BehandlungZurücksetzenToolStripMenuItem.Text = "Offerte zurücksetzen" Me.BehandlungZurücksetzenToolStripMenuItem.Enabled = False Me.BehandlungLöschenToolStripMenuItem1.Text = "Offerte löschen" Me.BehandlungLöschenToolStripMenuItem1.Enabled = False Me.BehandlungKopierenToolStripMenuItem.Text = "Offerte kopieren" Case > -20 Me.BehandlungabschliessenToolStripMenuItem1.Text = "Projekt abschliessen" Me.NeueBehandlungToolStripMenuItem1.Text = "Neues Projekt" Me.BehandlungZurücksetzenToolStripMenuItem.Text = "Projek zurücksetzen" Me.BehandlungZurücksetzenToolStripMenuItem.Visible = True Me.BehandlungLöschenToolStripMenuItem1.Text = "Projekt löschen" Me.BehandlungKopierenToolStripMenuItem.Text = "Projekt kopieren" Case < -20 And Me.BehandlungabschliessenToolStripMenuItem1.Text = "Offerte abschliessen" BehandlungabschliessenToolStripMenuItem1.Enabled = True Me.BehandlungabschliessenToolStripMenuItem1.Text = "Offerte abschliessen" Me.NeueBehandlungToolStripMenuItem1.Text = "Neue Offerte" Me.BehandlungZurücksetzenToolStripMenuItem.Text = "Offerte zurücksetzen" Me.BehandlungZurücksetzenToolStripMenuItem.Visible = False Me.BehandlungLöschenToolStripMenuItem1.Text = "Offerte löschen" Me.BehandlungKopierenToolStripMenuItem.Text = "Offerte kopieren" Me.SofortRechnungDruckenToolStripMenuItem.Enabled = False Me.KopieErstellenToolStripMenuItem.Enabled = False End Select Else Select Case i Case -23 Me.BehandlungabschliessenToolStripMenuItem1.Text = "Kostenvoranschlag abschliessen" BehandlungabschliessenToolStripMenuItem1.Enabled = False Me.NeueBehandlungToolStripMenuItem1.Text = "Neuer Kostenvoranschlag" Me.BehandlungZurücksetzenToolStripMenuItem.Text = "Kostenvoranschlag zurücksetzen" Me.BehandlungZurücksetzenToolStripMenuItem.Visible = True Me.BehandlungLöschenToolStripMenuItem1.Text = "Kostenvoranschlag löschen" Me.BehandlungKopierenToolStripMenuItem.Text = "Kostenvoranschlag kopieren" Me.SofortRechnungDruckenToolStripMenuItem.Enabled = False Me.KopieErstellenToolStripMenuItem.Enabled = False Me.SofortRechnungDruckenToolStripMenuItem.Text = "Kostenvoranschlag drucken" Me.SofortRechnungDruckenToolStripMenuItem.Enabled = True Case -2 Me.BehandlungabschliessenToolStripMenuItem1.Text = "Kostenvoranschlag abschliessen" Me.BehandlungabschliessenToolStripMenuItem1.Enabled = False BehandlungabschliessenToolStripMenuItem1.Enabled = False Me.NeueBehandlungToolStripMenuItem1.Text = "Neuer Kostenvoranschlag" Me.BehandlungZurücksetzenToolStripMenuItem.Text = "Kostenvoranschlag zurücksetzen" Me.BehandlungZurücksetzenToolStripMenuItem.Enabled = False Me.BehandlungLöschenToolStripMenuItem1.Text = "Kostenvoranschlag löschen" Me.BehandlungLöschenToolStripMenuItem1.Enabled = False Me.BehandlungKopierenToolStripMenuItem.Text = "Kostenvoranschlag kopieren" Case > -20 Me.BehandlungabschliessenToolStripMenuItem1.Text = "Behandlung abschliessen" Me.NeueBehandlungToolStripMenuItem1.Text = "Neue Behandlung" Me.BehandlungZurücksetzenToolStripMenuItem.Text = "Behandlung zurücksetzen" Me.BehandlungZurücksetzenToolStripMenuItem.Visible = True Me.BehandlungLöschenToolStripMenuItem1.Text = "Behandlung löschen" Me.BehandlungKopierenToolStripMenuItem.Text = "Behandlung kopieren" Case < -20 And Me.BehandlungabschliessenToolStripMenuItem1.Text = "Kostenvoranschlag abschliessen" BehandlungabschliessenToolStripMenuItem1.Enabled = True Me.BehandlungabschliessenToolStripMenuItem1.Text = "Kostenvoranschlag abschliessen" Me.NeueBehandlungToolStripMenuItem1.Text = "Neuer Kostenvoranschlag" Me.BehandlungZurücksetzenToolStripMenuItem.Text = "Kostenvoranschlag zurücksetzen" Me.BehandlungZurücksetzenToolStripMenuItem.Visible = False Me.BehandlungLöschenToolStripMenuItem1.Text = "Kostenvoranschlag löschen" Me.BehandlungKopierenToolStripMenuItem.Text = "Kostenvoranschlag kopieren" Me.SofortRechnungDruckenToolStripMenuItem.Enabled = False Me.KopieErstellenToolStripMenuItem.Enabled = False End Select End If If Globals.MenuString <> "" Then Dim splitter() As String splitter = Globals.MenuString.Split(";") For i = 0 To splitter.Length - 1 Dim x As Integer = splitter(i) Me.BehandlungabschliessenToolStripMenuItem1.DropDownItems(x).Visible = False Next End If Dim s As String s = DB.Get_Option(9103) If s <> "" Then Me.AbschlussUndSofortrechnungToolStripMenuItem.Text = s s = DB.Get_Option(9104) If s <> "" Then Me.AbschlussUndSofortrechungAlsPDFToolStripMenuItem.Text = s s = DB.Get_Option(9105) If s <> "" Then Me.AbschlussUndSofortrechnungAlsOutlookMailToolStripMenuItem.Text = s s = DB.Get_Option(9106) If s <> "" Then Me.AbschlussUndVerbuchenOhneRGQuittungToolStripMenuItem.Text = s Catch ex As Exception MsgBox(ex.Message) Me.ctxmenubehandlung.Enabled = False End Try End Sub Private Sub BehandlungZurücksetzenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BehandlungZurücksetzenToolStripMenuItem.Click Dim db As New clsDB Dim Messagetext As String Dim key As Integer = Me.treebehandlungen.SelectedNode.Tag db.Get_Tabledata("Behandlu", "where nrbehandlung=" + key.ToString) If db.dsDaten.Tables(0).Rows(0).Item("Status") = 2 Or db.dsDaten.Tables(0).Rows(0).Item("Status") = 3 Then Messagetext = "Behandlung " Else Messagetext = "Kostenvoranschlag" End If Dim fakt As New clsFakturierung Dim Result = fakt.Verrechnet(Me.treebehandlungen.SelectedNode.Tag) Select Case Result Case 0 If MsgBox(Messagetext + " zurücksetzen?", vbYesNo + vbQuestion, Messagetext + " zurücksetzen") = MsgBoxResult.Yes Then Behandlung_Zurücksetzen(Me.treebehandlungen.SelectedNode.Tag.ToString) End If Case 1 If MsgBox("Rechnung stornieren und Behandlung zurücksetzen?", vbYesNo + vbQuestion) = vbYes Then fakt.Storno(Me.treebehandlungen.SelectedNode.Tag) Behandlung_Zurücksetzen(Me.treebehandlungen.SelectedNode.Tag.ToString) If Globals.License.DMS = True Then Dim dok As New clsDok dok.delete_doks(Me.treebehandlungen.SelectedNode.Tag) dok = Nothing End If End If Case 2 MsgBox("Behandlung kann nicht zurückgesetzt werden, da bereits Zahlung für die Rechnung eingegangen sind.", vbExclamation) End Select End Sub Private Sub Behandlung_Zurücksetzen(ByVal nrbehandlung As Integer) Dim key As Integer = Me.treebehandlungen.SelectedNode.Tag Dim db As New clsDB Dim result As String result = db.Get_Datavalue(db.Get_SQL(29), nrbehandlung) If result <> 0 Then MsgBox("Behandlung kann nicht zurückgesetzt werden, da Zahlungen vorhanden sind.", vbExclamation) Exit Sub End If db.Get_Tabledata("Behandlu", "where nrbehandlung=" + nrbehandlung.ToString) db.dsDaten.Tables(0).Rows(0).Item("aktiv") = 1 If db.dsDaten.Tables(0).Rows(0).Item("Status") > 3 Then db.dsDaten.Tables(0).Rows(0).Item("Status") = 4 Else db.dsDaten.Tables(0).Rows(0).Item("Status") = 1 End If db.dsDaten.Tables(0).Rows(0).Item("mutiert_am") = Now db.dsDaten.Tables(0).Rows(0).Item("mutierer") = Globals.ActUser db.Update_Data() db.Dispose() Me.Get_Behandlungen() Me.treebehandlungen.SelectedNode = Globals.FindNode(Me.treebehandlungen.Nodes, key, key) Me.nodeselected() End Sub Sub Behandlung_Abschliessen(ByVal nrbehandlung As Integer, Optional show_recall As Boolean = True) Globals.InAbschluss = 0 Dim istKV As Boolean = False Dim db As New clsDB Dim Messagetext As String Dim key As Integer = Me.treebehandlungen.SelectedNode.Tag db.Get_Tabledata("Behandlu", "where nrbehandlung=" + nrbehandlung.ToString) If db.dsDaten.Tables(0).Rows(0).Item("Status") = 1 Then Messagetext = "Behandlung " If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then Messagetext = "Projekt" Else istKV = True Messagetext = "Kostenvoranschlag" If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then Messagetext = "Offerte" End If If db.dsDaten.Tables(0).Rows(0).Item("rgdatum").ToString < Now.ToString And db.dsDaten.Tables(0).Rows(0).Item("rgdatum").ToString <> "" Then Dim d As New frmMsgbox d.set_text("Das Rechnungsdatum liegt in der Vergangenheit.", "Löschen und weiter", "weiter", "Abbruch") Dim res As DialogResult res = d.ShowDialog Select Case res Case DialogResult.Yes db.dsDaten.Tables(0).Rows(0).Item("rgdatum") = System.DBNull.Value db.Update_Data() Case DialogResult.No Case DialogResult.Abort, DialogResult.Cancel Exit Sub End Select End If If MsgBox(Messagetext + " abschliessen?", vbYesNo + vbQuestion) = vbYes Then Me.Behandungdetail1.Save_Data() db.Get_Tabledata("Behandlu", "where nrbehandlung=" + nrbehandlung.ToString) If db.dsDaten.Tables(0).Rows(0).Item("Status") = 1 Then db.dsDaten.Tables(0).Rows(0).Item("Status") = 2 Messagetext = "Behandlung " Else db.dsDaten.Tables(0).Rows(0).Item("Status") = 5 istKV = True Messagetext = "Kostenvoranschlag" End If If db.dsDaten.Tables(0).Rows(0).Item("Behandlungsende").ToString = "" Then db.dsDaten.Tables(0).Rows(0).Item("Behandlungsende") = db.dsDaten.Tables(0).Rows(0).Item("Behandlungsbeginn") End If db.dsDaten.Tables(0).Rows(0).Item("mutiert_am") = Now db.dsDaten.Tables(0).Rows(0).Item("mutierer") = Globals.ActUser db.Update_Data() db.Dispose() Me.Get_Behandlungen() Me.treebehandlungen.SelectedNode = Globals.FindNode(Me.treebehandlungen.Nodes, key, key) Me.nodeselected() If istKV Then Exit Sub If show_recall = False Then Exit Sub Do_Show_Recall() End If Globals.InAbschluss = 0 End Sub Public Sub Do_Show_Recall() Dim pat As New clsDB pat.Get_Tabledata("Privat", "where nrprivat=" + Me.PatientNr.ToString) Try If pat.dsDaten.Tables(0).Rows(0).Item("ZAZRecall") > 0 Then Dim Newdate As DateTime Newdate = DateAdd(DateInterval.Month, pat.dsDaten.Tables(0).Rows(0).Item("ZAZRecall"), Now) evh.Fire_Recall_Anzeigen(Newdate, Me.PatientNr, 1) End If Catch ex As Exception End Try End Sub #Region "EVH" Private Sub evh_Behandlung_changed(behandlungsnummer As Integer, patientnr As Integer) Handles evh.Behandlung_changed If Me.PatientNr = patientnr and patientnr <> 0 Then Dim tn As DevComponents.AdvTree.Node tn = Globals.FindNode(Me.treebehandlungen.Nodes, behandlungsnummer, behandlungsnummer) Try tn.Text = Me.Behandungdetail1.DDTBehandlungsbeginn.Text + " / " + Me.Behandungdetail1.txtcTotal.Text Catch End Try End If End Sub Private Sub evh_Behandlung_Inserted(Patientnr As Integer, Behandlungsnummer As Integer) Handles evh.Behandlung_Inserted If Me.PatientNr = Patientnr Then Get_Behandlungen() Me.treebehandlungen.SelectedNode = Globals.FindNode(Me.treebehandlungen.Nodes, Behandlungsnummer, Behandlungsnummer) End If End Sub Private Sub evh_Taxpunktwert_changed(behandlungsnummer As Integer, patientnr As Integer, taxpunktwert As Double) Handles evh.Taxpunktwert_changed Try If Me.treebehandlungen.SelectedNode.Tag = behandlungsnummer Then Leistungen1.Frankenwert = taxpunktwert Leistungen1.Recalc_Leistungen() End If Catch ex As Exception End Try End Sub Private Sub evh_Behandlung_Zurücksetzen(behandlungsnummer As Integer, patient As Integer) Handles evh.Behandlung_Zurücksetzen If Me.PatientNr = patient Then Behandlung_Zurücksetzen(behandlungsnummer) End Sub Private Sub evh_Behandlung_Abschliessen(behandlungsnummer As Integer, patient As Integer) Handles evh.Behandlung_Abschliessen If Me.PatientNr = patient Then Behandlung_Abschliessen(behandlungsnummer) End Sub Private Sub NeuerKostenvoranschalgToolStripMenuItem_Click(sender As Object, e As EventArgs) Neue_Behandlung(4) End Sub Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click Get_Behandlungen() End Sub Private Sub KopieErstellenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KopieErstellenToolStripMenuItem.Click Globals.Rg_Funktionen.Rechnungskopie(Me.treebehandlungen.SelectedNode.Tag.ToString) Exit Sub Globals.RGCollection.Clear() Dim anzahlraten As Integer = 0 DB.Get_Tabledata("Behandlu", "where nrbehandlung=" + Me.treebehandlungen.SelectedNode.Tag.ToString) Dim behandlungsnr As Integer = DB.dsDaten.Tables(0).Rows(0).Item("nrbehandlung") anzahlraten = DB.dsDaten.Tables(0).Rows(0).Item("Anzahlraten") If anzahlraten = 0 Then anzahlraten = 1 DB.Get_Tabledata("estyp", "where nrestyp=" + DB.dsDaten.Tables(0).Rows(0).Item("nrestyp").ToString) Dim reportnr As Integer reportnr = DB.Get_ReportNr(DB.dsDaten.Tables(0).Rows(0).Item("estyp")) Dim fakturanr As Integer Try DB.Get_Tabledata("Faktura", "", "Select top 1 nrfaktura from faktura where nrbehandlung=" + behandlungsnr.ToString + " and status <> 9 order by erstellt_am asc ") fakturanr = DB.dsDaten.Tables(0).Rows(0).Item(0) Catch fakturanr = 0 End Try Globals.FakturaNr = fakturanr Dim Folgeauswertung As Integer Dim Separater_Druckjob As Boolean Dim doloop As Boolean = True DB.Get_Tabledata("Auswertung", "where auswertungnr=" + reportnr.ToString) Folgeauswertung = DB.dsDaten.Tables(0).Rows(0).Item("Folge_Report") Separater_Druckjob = DB.dsDaten.Tables(0).Rows(0).Item("Folgereport_Sep_Druckjob") Dim hauptfaktura As Integer While doloop = True For i As Integer = 1 To anzahlraten Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + behandlungsnr.ToString, behandlungsnr.ToString) f.Show() If fakturanr = 0 Then f.Fakturierung(reportnr, behandlungsnr, "", i, 1, fakturanr) Else f.Fakturierung(reportnr, behandlungsnr, "", i, 1, fakturanr) End If 'f.Print_Rechnung(False, False, i) f.Close() 'If i = 1 Then ' Dim fakt As New clsFakturierung ' fakt.Verbuchen(Me.Behandlungsnr, 1) ' hauptfaktura = fakt.fakturanr 'Else ' Dim fakt As New clsFakturierung ' fakt.Verbuchen(Me.Behandlungsnr, i, hauptfaktura) 'End If Next i If Folgeauswertung > 0 Then reportnr = Folgeauswertung DB.Get_Tabledata("Auswertung", "where auswertungnr=" + Folgeauswertung.ToString) Folgeauswertung = DB.dsDaten.Tables(0).Rows(0).Item("Folge_Report") Separater_Druckjob = DB.dsDaten.Tables(0).Rows(0).Item("Folgereport_Sep_Druckjob") Else doloop = False End If End While If Globals.RGCollection.Count > 1 Then Dim document As New PdfDocument() document.EnableMemoryOptimization = True Dim i As Integer = 0 Dim fn As String = "" For Each inputDocument As String In Globals.RGCollection i = i + 1 If i = 1 Then fn = inputDocument Dim loadedDocument As New PdfLoadedDocument(inputDocument) loadedDocument.EnableMemoryOptimization = True document.ImportPageRange(loadedDocument, 0, loadedDocument.Pages.Count - 1) loadedDocument.Close(True) Next document.Save(fn + ".copy.pdf") document.Close() End If End Sub Private Sub SofortRechnungDruckenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SofortRechnungDruckenToolStripMenuItem.Click Behandungdetail1.Sofortrechung_normal() ' Behandungdetail1.ToolStripDropDownButton1_Click(sender, e) End Sub Private Sub VorschauToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VorschauToolStripMenuItem.Click Behandungdetail1.VorschaRechnungToolStripMenuItem_Click(sender, e) End Sub Private Sub EntwurfToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EntwurfToolStripMenuItem.Click Behandungdetail1.DesignRechnungToolStripMenuItem_Click(sender, e) End Sub Private Sub RechungKVVorschauToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RechungKVVorschauToolStripMenuItem.Click Behandungdetail1.VorschaRechnungToolStripMenuItem_Click(sender, e) End Sub Private Sub RechnungKVEntwurfToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RechnungKVEntwurfToolStripMenuItem.Click Behandungdetail1.DesignRechnungToolStripMenuItem_Click(sender, e) End Sub Private Sub treebehandlungen_AfterNodeSelect(sender As Object, e As AdvTreeNodeEventArgs) Handles treebehandlungen.AfterNodeSelect ' Me.treebehandlungen_Click(sender, e) End Sub Private Sub evh_Refresh_Behandlung(behandlungsnr As Integer, patientnr As Integer) Handles evh.Refresh_Behandlung If Me.PatientNr = patientnr Then Me.Get_Behandlungen() Me.treebehandlungen.SelectedNode = Globals.FindNode(Me.treebehandlungen.Nodes, behandlungsnr, behandlungsnr) Me.nodeselected() End If End Sub Private Sub AlsPDFToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsPDFToolStripMenuItem.Click Globals.Rg_Funktionen.Rechnungskopie(Me.treebehandlungen.SelectedNode.Tag.ToString, False, True) End Sub Private Sub ÜberDruckerToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ÜberDruckerToolStripMenuItem.Click Globals.Rg_Funktionen.Rechnungskopie(Me.treebehandlungen.SelectedNode.Tag.ToString) Exit Sub End Sub Private Sub evh_Total_Berechnet(behandlungsnummer As Integer, Total As Double) Handles evh.Total_Berechnet Try If Me.treebehandlungen.SelectedNode.Tag = behandlungsnummer Then Dim s As String s = treebehandlungen.SelectedNode.Text Dim i As Integer i = s.IndexOf(" /") If i > 0 Then s = s.Substring(0, i) s = s + " / " + Total.ToString("N2") treebehandlungen.SelectedNode.Text = s End If End If Catch ex As Exception End Try End Sub Private Sub AlsPdfToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles AlsPdfToolStripMenuItem1.Click Behandungdetail1.Sofortrechnung_als_pdf() End Sub Private Sub AlsMailToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsMailToolStripMenuItem.Click Behandungdetail1.Sofortrechnung_als_pdf(True, 1) End Sub Private Sub AbschlussMitRecallAnzeigeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbschlussMitRecallAnzeigeToolStripMenuItem.Click Behandlung_Abschliessen(Me.treebehandlungen.SelectedNode.Tag.ToString, True) End Sub Private Sub AbshlussOhneRecallAnzeigeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbshlussOhneRecallAnzeigeToolStripMenuItem.Click Behandlung_Abschliessen(Me.treebehandlungen.SelectedNode.Tag.ToString, False) End Sub Private Sub AlsPDFPerMailToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlsPDFPerMailToolStripMenuItem.Click Globals.Rg_Funktionen.Rechnungskopie(Me.treebehandlungen.SelectedNode.Tag.ToString, False, True, True) End Sub Private Sub AbschlussUndSofortrechnungAlsOutlookMailToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbschlussUndSofortrechnungAlsOutlookMailToolStripMenuItem.Click BehandlungabschliessenToolStripMenuItem1_Click(sender, e) AlsMailToolStripMenuItem_Click(sender, e) Do_Show_Recall() End Sub Private Sub AbschlussUndSofortrechnungToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbschlussUndSofortrechnungToolStripMenuItem.Click BehandlungabschliessenToolStripMenuItem1_Click(sender, e) SofortRechnungDruckenToolStripMenuItem_Click(sender, e) Do_Show_Recall() End Sub Private Sub AbschlussUndSofortrechungAlsPDFToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbschlussUndSofortrechungAlsPDFToolStripMenuItem.Click BehandlungabschliessenToolStripMenuItem1_Click(sender, e) AlsPdfToolStripMenuItem1_Click(sender, e) Do_Show_Recall() End Sub Private Sub AbschlussUndVerbuchenOhneRGQuittungToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbschlussUndVerbuchenOhneRGQuittungToolStripMenuItem.Click Globals.IgnorePrint = True BehandlungabschliessenToolStripMenuItem1_Click(sender, e) SofortRechnungDruckenToolStripMenuItem_Click(sender, e) Globals.IgnorePrint = False evh.Fire_Finanzen_Anzeigen(Me.PatientNr) End Sub #End Region End Class