Public Class clsFakturaFunktionen Public Sub Vorschau_Rechnung(ByVal nrbehandlung As String) Dim db As New clsDB Dim db1 As New clsDB Dim anzahlraten As Integer = 0 'db.Get_Tabledata("Behandlu", "where nrbehandlung=" + Me.Behandlungsnr.ToString) db.Get_Tabledata("Behandlu", "where nrbehandlung=" + nrbehandlung) db1.Get_Tabledata("estyp", "where nrestyp=" + db.dsDaten.Tables(0).Rows(0).Item("nrestyp").ToString) anzahlraten = db.dsDaten.Tables(0).Rows(0).Item("Anzahlraten") If anzahlraten = 0 Then anzahlraten = 1 Dim reportnr As Integer reportnr = db.Get_ReportNr(db1.dsDaten.Tables(0).Rows(0).Item("estyp")) 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") While doloop = True For i As Integer = 1 To anzahlraten ' Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + Me.Behandlungsnr.ToString, Me.Behandlungsnr.ToString) Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + nrbehandlung, nrbehandlung) f.Show() f.Print_Rechnung(True, False, i) If anzahlraten > 1 And i < 2 And 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") Dim f1 As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + nrbehandlung, nrbehandlung) f1.Show() f1.Print_Rechnung(True, False, i) reportnr = db.Get_ReportNr(db1.dsDaten.Tables(0).Rows(0).Item("estyp")) End If Next i If Folgeauswertung > 0 And anzahlraten < 2 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 End Sub Public Sub Rechnungskopie(ByVal nrbehandlung As String, Optional preview As Boolean = False, Optional asPDF As Boolean = False, Optional PerMail As Boolean = False) Globals.pdfCollection.Clear() Dim db As New clsDB Dim db1 As New clsDB Dim db2 As New clsDB Globals.RGCollection.Clear() Dim anzahlraten As Integer = 0 Dim Empfaenger As String = "" db.Get_Tabledata("Behandlu", "where nrbehandlung=" + nrbehandlung) Dim behandlungsnr As Integer = db.dsDaten.Tables(0).Rows(0).Item("nrbehandlung") anzahlraten = db.dsDaten.Tables(0).Rows(0).Item("Anzahlraten") Empfaenger = db.dsDaten.Tables(0).Rows(0).Item("Empfaenger") 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 Dim ReportNrOriginal As Integer reportnr = db.Get_ReportNr(db.dsDaten.Tables(0).Rows(0).Item("estyp")) ReportNrOriginal = reportnr Dim fakturanr As Integer Try db2.Get_Tabledata("Faktura", "", "Select top 10 nrfaktura from faktura where nrbehandlung=" + behandlungsnr.ToString + " and status <> 9 order by erstellt_am asc ") fakturanr = db2.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 fakturanr = db2.dsDaten.Tables(0).Rows(i - 1).Item(0) Globals.FakturaNr = fakturanr If i = 1 And Empfaenger <> "" Then Dim f0 As New frmReportView(9999, False, "Vorschau Rechung", " where nrbehandlung = " + nrbehandlung.ToString, nrbehandlung.ToString, asPDF) f0.Visible = False f0.Show() f0.Visible = False f0.Fakturierung(9999, nrbehandlung, "", i, buchen:=False) f0.Close() Globals.FakturaNr = 0 End If Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + behandlungsnr.ToString, behandlungsnr.ToString, asPDF) If Not preview Then f.Visible = False Else f.Visible = True If fakturanr = 0 Then If preview Then f.Fakturierung_Vorschau(reportnr, behandlungsnr, "", i, 1, fakturanr) Else f.Fakturierung(reportnr, behandlungsnr, "", i, 1, fakturanr) End If Else If preview Then f.Fakturierung_Vorschau(reportnr, behandlungsnr, "", i, 1, fakturanr) Else f.Fakturierung(reportnr, behandlungsnr, "", i, 1, fakturanr) End If End If If Not preview Then f.Close() If anzahlraten > 1 And i < 2 And 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") Dim f1 As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + behandlungsnr.ToString, behandlungsnr.ToString, asPDF) f1.Visible = False f1.Show() f1.Fakturierung(reportnr, behandlungsnr, "", i, 1, fakturanr) f1.Close() reportnr = ReportNrOriginal 'fakturanr = fakturanr - 1 End If 'fakturanr = fakturanr + 1 Next i If Folgeauswertung > 0 And anzahlraten < 2 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 preview = False Then Dim pdfh As New clspdfhelper pdfh.HandlePDF(asPDF, PerMail, 2, clsMailClient.EmpfangerFrom.Behandlung, nrbehandlung) End If End Sub Public Sub Mahnung(ByVal Fakturanr As String, ByVal Stufe As Integer, Optional Preview As Boolean = False, Optional Design As Boolean = False, Optional asPDF As Boolean = False, Optional perMail As Boolean = False) Globals.pdfCollection.Clear() Dim db As New clsDB Dim db1 As New clsDB Dim anzahlraten As Integer = 0 Dim Behandlungsnr As Integer Dim Empfaenger As String = "" db.Get_Tabledata("Faktura", "", "Select nrbehandlung from faktura where nrfaktura=" + Fakturanr) Behandlungsnr = db.dsDaten.Tables(0).Rows(0).Item("nrbehandlung") db.Get_Tabledata("Behandlu", "where nrbehandlung=" + db.dsDaten.Tables(0).Rows(0).Item("nrbehandlung").ToString) db1.Get_Tabledata("estyp", "where nrestyp=" + db.dsDaten.Tables(0).Rows(0).Item("nrestyp").ToString) anzahlraten = db.dsDaten.Tables(0).Rows(0).Item("Anzahlraten") Empfaenger = db.dsDaten.Tables(0).Rows(0).Item("Empfaenger") If anzahlraten = 0 Then anzahlraten = 1 Dim reportnr As Integer reportnr = db.Get_ReportNr(db1.dsDaten.Tables(0).Rows(0).Item("estyp")) reportnr = db1.dsDaten.Tables(0).Rows(0).Item("mahnnummer") + Stufe Globals.FakturaNr = 0 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 Dim buchen As Boolean = False If Preview = False And Design = False Then buchen = True While doloop = True For i As Integer = 1 To anzahlraten If i = 1 And Empfaenger <> "" Then Dim f0 As New frmReportView(9999, False, "Vorschau Rechung", " where nrbehandlung = " + Behandlungsnr.ToString, Behandlungsnr.ToString) f0.Visible = False f0.Show() f0.Visible = False f0.Fakturierung(9999, Behandlungsnr.ToString, "", i, buchen:=False) f0.Close() Globals.FakturaNr = 0 End If Dim f As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + Behandlungsnr.ToString, Behandlungsnr.ToString) f.Visible = False f.Show() If Not Preview And Not Design Then f.Visible = False f.Mahnungg(Stufe, reportnr, Behandlungsnr, "", i, True, Fakturanr, buchen, Preview, Design) If Not Preview Then f.Close() If Design Then f.Close() If anzahlraten > 1 And i < 2 And 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") Dim f1 As New frmReportView(reportnr, False, "Vorschau Rechung", " where nrbehandlung = " + Behandlungsnr.ToString, Behandlungsnr.ToString) f1.Visible = False f1.Show() If Not Preview And Not Design Then f1.Visible = False f1.Mahnungg(Stufe, reportnr, Behandlungsnr, "", i, True, Fakturanr, buchen, Preview, Design) f1.Close() reportnr = db.Get_ReportNr(db1.dsDaten.Tables(0).Rows(0).Item("estyp")) reportnr = db1.dsDaten.Tables(0).Rows(0).Item("mahnnummer") + Stufe End If Next i If Folgeauswertung > 0 And anzahlraten < 2 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 Preview = False And Design = False Then Dim pdfh As New clspdfhelper pdfh.Create_Archivdoc(clspdfhelper.GetEmpfaengerType.FromFaktura, Fakturanr, "Mahnung:") pdfh = Nothing End If Globals.pdfCollection.Clear() End Sub Public Sub Offerte_Auftragsbestaegitigung_Lieferschein(ByVal nrbehandlung As String, ByVal typ As Integer, ByVal PDFHandling As Integer, ByVal archivdoc As Boolean, ByVal fromtype As clspdfhelper.GetEmpfaengerType) Dim pdfh As New clspdfhelper Dim db As New clsDB Dim db1 As New clsDB Dim anzahlraten As Integer = 0 'db.Get_Tabledata("Behandlu", "where nrbehandlung=" + Me.Behandlungsnr.ToString) db.Get_Tabledata("Behandlu", "where nrbehandlung=" + nrbehandlung) db1.Get_Tabledata("estyp", "where nrestyp=" + db.dsDaten.Tables(0).Rows(0).Item("nrestyp").ToString) anzahlraten = db.dsDaten.Tables(0).Rows(0).Item("Anzahlraten") If anzahlraten = 0 Then anzahlraten = 1 Dim reportnr As Integer Dim Doktype As String Dim MAILTEXTNR As Integer Select Case typ Case 1 Doktype = "Offerte" MAILTEXTNR = 3 reportnr = db.Get_ReportNr("Offerte") Case 2 Doktype = "Auftragsbestätigung" MAILTEXTNR = 4 reportnr = db.Get_ReportNr("Offerte") Case 3 MAILTEXTNR = 5 Doktype = "Lieferschein" reportnr = db.Get_ReportNr("Offerte") End Select 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") Select Case PDFHandling Case 0 Dim f As New frmReportView(reportnr, False, "Vorschau ", " where nrbehandlung = " + nrbehandlung, nrbehandlung) f.Show() f.Print_Rechnung(True, False, 1, 0, 0, Doktype) Case 1 Dim f As New frmReportView(reportnr, False, "PDF ", " where nrbehandlung = " + nrbehandlung, nrbehandlung, True) f.Visible = False f.Print_Rechnung(False, False, 1, 0, 0, Doktype) pdfh.Create_Archivdoc(fromtype, "", "Lieferschein:", nrbehandlung) Case 2 Dim f As New frmReportView(reportnr, False, "PDF/Mail ", " where nrbehandlung = " + nrbehandlung, nrbehandlung, True) f.Visible = False f.Print_Rechnung(False, False, 1, 0, 0, Doktype) pdfh.Create_Archivdoc(fromtype, "", "Auftragsbestätigung:", nrbehandlung) Case 3 Dim f As New frmReportView(reportnr, False, "Druck ", " where nrbehandlung = " + nrbehandlung, nrbehandlung) f.Visible = False f.Show() f.Print_Rechnung(False, False, 1, 0, 0, Doktype) f.Close() pdfh.Create_Archivdoc(fromtype, "", "Lieferschein:", nrbehandlung) Case 4 Dim f As New frmReportView(reportnr, False, "Vorschau ", " where nrbehandlung = " + nrbehandlung, nrbehandlung) f.Show() f.Print_Rechnung(False, True, 1, 0, 0, Doktype) f.Close() End Select Dim asPDF As Boolean = False Dim PerMail As Boolean = False Select Case PDFHandling Case 1 pdfh.HandlePDF(True, False, MAILTEXTNR, clsMailClient.EmpfangerFrom.Behandlung, nrbehandlung) Case 2 pdfh.HandlePDF(True, True, MAILTEXTNR, clsMailClient.EmpfangerFrom.Behandlung, nrbehandlung) End Select End Sub End Class