You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

322 lines
16 KiB

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, asPDF)
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.HandlePDF(asPDF, False, False, clsMailClient.EmpfangerFrom.Behandlung, Fakturanr)
pdfh = Nothing
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