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
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
|