Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports Microsoft.Office.Interop
Public Class frmAbrechnungsMaske
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim selChangedAllowed = True
Dim loaded = False
Private Sub frmAbrechnungsMaske_Load(sender As Object, e As EventArgs) Handles Me.Load
'Größe anpassen:
Me.Height = Screen.FromRectangle(Me.Bounds).WorkingArea.Size.Height
Me.Top = 0
initFilterPanel()
cProgramFunctions.initDrucker(cboPrinter)
txtAbfertDat.Text = Now.ToShortDateString 'CDate("01." & Now.ToString("MM.yyyy")).AddMonths(-1).ToShortDateString
txtAbfertDatBis.Text = Now.ToShortDateString
btnMonat.Text = MONAT.ToString("MMMM")
btnJahr.Text = JAHR.Year
cbx.Checked = False
MyComboBox3.Items.Clear()
MyComboBox3.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Alle", ""))
MyComboBox3.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ER", "ER"))
MyComboBox3.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("SR", "SR"))
MyComboBox3.changeItem("")
MyComboBox1.Items.Clear()
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("POST", "0"))
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FAX", "1"))
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("E-MAIL", "2"))
MyComboBox1.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MAIL+KOPIE", "5"))
MyComboBox1.changeItem("")
cboSort.Items.Clear()
cboSort.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Eingabezeitpunkt", "EZ"))
cboSort.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Pos.Nr", "POS"))
cboSort.changeItem("EZ")
'BERECHTIGUNG 90 = FAKTURIERUNG!!!
Dim FirmaTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_VERAGIMEX", "SDL") Then
FirmaTmp = "VERAGIMEX"
End If
'If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
'FirmaTmp = "AMBAR"
'End If
MyComboBox2.Items.Clear()
Select Case FirmaTmp
Case "VERAG"
If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "MDM" Then
Dim whereFirma = " AND FIRMENGRUPPE In ('VERAG360')"
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_VERAGAG_DE", "SDL") Then
whereFirma = " AND FIRMENGRUPPE In ('VERAG360','VERAGAG_DE') "
End If
cboFirma.fillWithSQL("Select [Firma_ID],[Firma_Bez] FROM [tblFirma] WHERE 1=1 " & whereFirma, False, "FMZOLL")
cboFirma.changeItem("1")
MyComboBox2.fillWithSQL("SELECT [mit_username] FROM [tblMitarbeiter] where mit_firma IN ('VERAG'" & If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "ADMIN", ",'ALL'", "") & ") and mit_gekuendigt=0 AND (mit_abteilung IN ('VRR','BH') OR [mit_id] IN (SELECT [beroz_bergrId] FROM [tblBerechtigungsObjekteZuordnung] where [beroz_beroId]=90 AND beroz_art='B')) order by mit_username", False, "ADMIN", True)
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("*BAUBÖCK", "BAUBOECK"))
Else
Dim whereFirma = " AND FIRMENGRUPPE IN ('VERAG','VERAGUNISPED','FRONTOFFICE','ATILLA') "
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_VERAGAG_DE", "SDL") Then
whereFirma = " AND FIRMENGRUPPE In ('VERAG','VERAGUNISPED','FRONTOFFICE','ATILLA','VERAGAG_DE') "
End If
cboFirma.fillWithSQL("SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma] WHERE 1=1 " & whereFirma, False, "FMZOLL")
cboFirma.changeItem("1")
MyComboBox2.fillWithSQL("SELECT [mit_username] FROM [tblMitarbeiter] where mit_firma IN ('VERAG'" & If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "ADMIN", ",'ALL'", "") & ") and mit_gekuendigt=0 AND (mit_abteilung IN ('VRR','BH') OR [mit_id] IN (SELECT [beroz_bergrId] FROM [tblBerechtigungsObjekteZuordnung] where [beroz_beroId]=90 AND beroz_art='B')) order by mit_username", False, "ADMIN", True)
End If
Case "IMEX"
cboFirma.fillWithSQL("SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma] WHERE FIRMENGRUPPE IN ('IMEX') ", False, "FMZOLL")
cboFirma.changeItem("20")
MyComboBox2.fillWithSQL("SELECT [mit_username] FROM [tblMitarbeiter] where mit_firma='IMEX' and mit_gekuendigt=0 AND (mit_abteilung IN ('VRR','BH') OR (SELECT COUNT(*) FROM [tblBerechtigungsObjekteZuordnung] where [beroz_beroId]=90 AND [beroz_bergrId]=[mit_id] AND beroz_art='B')>0) order by mit_username", False, "ADMIN", True)
Case "UNISPED"
cboFirma.fillWithSQL("SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma] WHERE FIRMENGRUPPE IN ('UNISPED') ", False, "FMZOLL")
cboFirma.changeItem("21")
MyComboBox2.fillWithSQL("SELECT [mit_username] FROM [tblMitarbeiter] where mit_firma='UNISPED' and mit_gekuendigt=0 AND (mit_abteilung IN ('VRR','BH') OR (SELECT COUNT(*) FROM [tblBerechtigungsObjekteZuordnung] where [beroz_beroId]=90 AND [beroz_bergrId]=[mit_id] AND beroz_art='B')>0) order by mit_username", False, "ADMIN", True)
Case "AMBAR"
cboFirma.fillWithSQL("SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma] WHERE FIRMENGRUPPE IN ('AMBAR') ", False, "FMZOLL")
cboFirma.changeItem("24")
MyComboBox2.fillWithSQL("SELECT [mit_username] FROM [tblMitarbeiter] where mit_firma='AMBAR' and mit_gekuendigt=0 AND (mit_abteilung IN ('VRR','BH') OR (SELECT COUNT(*) FROM [tblBerechtigungsObjekteZuordnung] where [beroz_beroId]=90 AND [beroz_bergrId]=[mit_id] AND beroz_art='B')>0) order by mit_username", False, "ADMIN", True)
Case "VERAGIMEX"
Dim whereFirma = " AND FIRMENGRUPPE IN ('VERAG','IMEX','ATILLA','VERAGUNISPED','FRONTOFFICE') "
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_VERAGAG_DE", "SDL") Then
whereFirma = " AND FIRMENGRUPPE In ('VERAG','IMEX','VERAGUNISPED','FRONTOFFICE','ATILLA','VERAGAG_DE') "
End If
cboFirma.fillWithSQL("SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma] WHERE 1=1 " & whereFirma, False, "FMZOLL")
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "VERAG" : cboFirma.changeItem("1")
Case "IMEX" : cboFirma.changeItem("20")
End Select
MyComboBox2.fillWithSQL("SELECT [mit_username] FROM [tblMitarbeiter] where mit_firma IN ('IMEX','VERAG'" & If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "ADMIN", ",'ALL'", "") & ") AND mit_gekuendigt=0 AND (mit_abteilung IN ('VRR','BH') OR (SELECT COUNT(*) FROM [tblBerechtigungsObjekteZuordnung] where [beroz_beroId]=90 AND [beroz_bergrId]=[mit_id] AND beroz_art='B')>0) order by mit_username", False, "ADMIN", True)
MyComboBox2.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("*BAUBÖCK", "BAUBOECK"))
End Select
' MyComboBox2.changeItem(VERAG_PROG_ALLGEMEIN.cAllgemein.USRID) 'Benutzerwechsel
'If MyComboBox2.Items.Count > 0 Then MyComboBox2.SelectedIndex = 0
MyComboBox2.changeItem(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME)
If MyComboBox2._value = "" Then MsgBox("Keine Benutzerberechtigung gefunden!") : Exit Sub
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_AlleBenutzer", Me) Then
MyComboBox2.Enabled = False
End If
End Sub
Private Sub frmAbrechnungsMaske_Shown(sender As Object, e As EventArgs) Handles Me.Shown
newRechnung()
loaded = True
initDGV()
End Sub
Sub newRechnung()
dgvRechnungen.ClearSelection()
UsrCntlFaktAbrechnung1.newRECHNUNG()
End Sub
Sub initFilterPanel()
cboFirma.fillWithSQL("SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma]", True, "FMZOLL")
End Sub
Function getDGV() As VERAG_PROG_ALLGEMEIN.MyDatagridview
Return dgvRechnungen
'If tbcntr.SelectedTab Is TabPage1 Then
' Return MyDatagridview1
'Else
' Return MyDatagridview2
'End If
End Function
Sub initDGV()
If Not loaded Then Exit Sub
Dim dgv As VERAG_PROG_ALLGEMEIN.MyDatagridview = getDGV()
With dgv
Dim sqlstr = ""
If cbxGutschriftenAnVerag.Checked AndAlso cboFirma._value <> "" AndAlso cboFirma._value = "24" Then
sqlstr &= " SELECT R1.FilialenNr, R1.AbfertigungsNr, cast(R1.FilialenNr as varchar) + ' ' + cast(R1.AbfertigungsNr as varchar) as PosNr, R1.UnterNr, Firma_ID,R1.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr FROM Rechnungsausgang as R1 INNER JOIN Adressen ON AdressenNr=R1.RechnungsKundenNr inner Join Speditionsbuch on Speditionsbuch.FilialenNr = R1.FilialenNr And Speditionsbuch.AbfertigungsNr = R1.AbfertigungsNr and Speditionsbuch.UnterNr = R1.SpeditionsbuchUnterNr "
sqlstr &= " WHERE 1=1 AND R1.Firma_ID=24 "
sqlstr &= getRGWhere(MyComboBox3._value)
sqlstr &= " and (SELECT COUNT(*) FROM Rechnungsausgang as R2 where"
sqlstr &= " R1.FilialenNr=R2.FilialenNr and R1.AbfertigungsNr=R2.AbfertigungsNr and R1.SpeditionsbuchUnterNr=R2.SpeditionsbuchUnterNr AND (RechnungsKundenNr=3013401 OR RechnungsKundenNr = 3017683) and R2.[BelegartenNr]=71)=0"
sqlstr &= " and Speditionsbuch.Abfertigungsart IN (1)"
sqlstr &= " ORDER BY FilialenNr, AbfertigungsNr, UnterNr"
Else
' sqlstr &= " SELECT FilialenNr, AbfertigungsNr, UnterNr, Firma_ID, Status, Sammelrechnung, Sachbearbeiter, SteuerpflichtigerGesamtbetrag, SteuerfreierGesamtbetrag, RechnungsNr, RechnungsDatum, DruckDatumZeit, Buchungsjahr, RK_ID"
sqlstr &= " SELECT FilialenNr, AbfertigungsNr, cast(FilialenNr as varchar) + ' ' + cast(AbfertigungsNr as varchar) as PosNr, UnterNr, Firma_ID,Rechnungsausgang.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr"
sqlstr &= ",(CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' WHEN Rechnungsdruck=5 THEN 'MAIL+KOPIE' ELSE '-' END) as Rechnungsdruck "
sqlstr &= " FROM Rechnungsausgang INNER JOIN Adressen ON AdressenNr=Rechnungsausgang.RechnungsKundenNr"
sqlstr &= " WHERE 1=1 "
sqlstr &= getRGWhere(MyComboBox3._value)
' sqlstr &= " AND (SteuerpflichtigerGesamtbetrag<>0 OR SteuerfreierGesamtbetrag<>0)"
sqlstr &= " ORDER BY FilialenNr, AbfertigungsNr, UnterNr "
End If
.SET_SQL(sqlstr, "FMZOLL")
.LOAD()
If .ColumnCount > 0 Then
.Columns("RK_ID").Visible = False
.Columns("FilialenNr").Visible = False
.Columns("AbfertigungsNr").Visible = False
.Columns("Firma_ID").Visible = False
.Columns("RechnungsLandKz").Visible = False
.Columns("RechnungsKundenNr").Visible = False
.Columns("PosNr").HeaderText = "Pos-Nr."
.Columns("UnterNr").Width = 35
.Columns("Art").Width = 30
.Columns("Betrag").Width = 100
.Columns("Rechnungsempfänger").MinimumWidth = 150
.Columns("Rechnungsempfänger").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
If Not cbxGutschriftenAnVerag.Checked Then
.Columns("Rechnungsdruck").Width = 60
.Columns("Rechnungsdruck").HeaderText = "Rg.Art"
.Columns("Rechnungsdruck").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
End If
.Columns("Betrag").DefaultCellStyle.Format = "C2"
End If
End With
End Sub
Function getRGWhere(filterSR)
Dim sqlstr = ""
Dim srchSB = "" ' "NÖBAUER ANJA" 'VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
srchSB = MyComboBox2._value
If cbxGutschriftenAnVerag.Checked AndAlso cboFirma._value <> "" AndAlso cboFirma._value = 24 Then Return sqlstr
Select Case filterSR
Case "ER" : sqlstr &= " And Rechnungsausgang.Sammelrechnung IN (0) "
Case "SR" : sqlstr &= " And Rechnungsausgang.Sammelrechnung NOT IN (0,6) "
Case Else : sqlstr &= " And Rechnungsausgang.Sammelrechnung NOT IN (6) "
End Select
If cbx.Checked Then
'sqlstr &= " AND Status = 0 "
sqlstr &= " AND DruckDatumZeit BETWEEN '" & txtAbfertDat._value & " 00:00:00' AND '" & txtAbfertDatBis._value & " 23:59:59'"
If MyTextBox2.Text <> "" Then
If MyTextBox3.Text <> "" Then
sqlstr &= " AND RechnungsNr BETWEEN '" & MyTextBox2.Text.Replace("*", "%") & "' AND '" & MyTextBox3.Text.Replace("*", "%") & "'"
Else
sqlstr &= " AND RechnungsNr LIKE '" & MyTextBox2.Text.Replace("*", "%") & "'"
End If
End If
Else
sqlstr &= " And (Status = 0 or DruckDatumZeit is null) "
End If
If MyComboBox1._value <> "" Then
sqlstr &= " And Rechnungsdruck='" & MyComboBox1._value & "' "
End If
If srchSB <> "" Then sqlstr &= " And Rechnungsausgang.Sachbearbeiter='" & srchSB & "' "
If cboFirma._value <> "" Then sqlstr &= " AND Rechnungsausgang.Firma_ID=" & cboFirma._value & " "
' sqlstr &= " AND (SteuerpflichtigerGesamtbetrag<>0 OR SteuerfreierGesamtbetrag<>0)"
Return sqlstr
End Function
Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboFirma.SelectedIndexChanged, MyComboBox2.SelectedIndexChanged, MyComboBox3.SelectedIndexChanged, MyComboBox1.SelectedIndexChanged
If cboFirma._value = "24" Then
cbxGutschriftenAnVerag.Visible = True
Else
cbxGutschriftenAnVerag.Visible = False
cbxGutschriftenAnVerag.Checked = False
End If
initDGV()
End Sub
Function checkSrchValues() As Boolean
'If MyComboBox2._value = "" Then Return False
If cboFirma._value = "" Then Return False
Return True
End Function
Private Sub MyDatagridview1_SelectionChanged(sender As Object, e As EventArgs) Handles dgvRechnungen.SelectionChanged
If Not selChangedAllowed Then Exit Sub
If sender.SelectedRows.Count > 0 Then
If UsrCntlFaktAbrechnung1.SAVED Then
UsrCntlFaktAbrechnung1.initRECHNUNG(sender.SelectedRows(0).Cells("RK_ID").Value)
Exit Sub
End If
End If
newRechnung()
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
newRechnung()
End Sub
Private Sub UsrCntlFaktAbrechnung1_EVENT_SAVED() Handles UsrCntlFaktAbrechnung1.EVENT_SAVED
selChangedAllowed = False
getDGV().RELOAD()
selChangedAllowed = True
End Sub
Private Sub UsrCntlFaktAbrechnung1_EVENT_DELETED() Handles UsrCntlFaktAbrechnung1.EVENT_DELETED
selChangedAllowed = False
getDGV().RELOAD()
selChangedAllowed = True
newRechnung()
End Sub
Private Sub UsrCntlFaktAbrechnung1_SOMETHING_CHANGED(rk_id) Handles UsrCntlFaktAbrechnung1.SOMETHING_CHANGED
selChangedAllowed = False
getDGV().RELOAD()
dgvRechnungen.ClearSelection()
selChangedAllowed = True
If rk_id > 0 Then
For Each r As DataGridViewRow In dgvRechnungen.Rows
If r.Cells("RK_ID").Value = rk_id Then
r.Selected = True
Exit Sub
End If
Next
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If checkSrchValues() Then
getDGV().RELOAD()
Dim orderBy = ""
Select Case cboSort._value
Case "EZ" : orderBy = " ORDER BY [ReErfZeitstempel] ASC"
Case Else : orderBy = " ORDER BY /*[BelegartenKz] DESC,*/ FilialenNr, AbfertigungsNr, [RK_ID]"
End Select
'MsgBox("SELECT RK_ID,Rechnungsdruck as Rechnungsdruck FROM Rechnungsausgang INNER JOIN Adressen ON AdressenNr=RechnungsKundenNr WHERE Status=0 " & getRGWhere("ER") & orderBy)
'Exit Sub
Dim PARAM_printZollbeleg = VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("FAKTURIERUNG_PRINT_Zollbeleg")
Dim dt = SQL.loadDgvBySql("SELECT RK_ID,Rechnungsdruck as Rechnungsdruck FROM Rechnungsausgang INNER JOIN Adressen ON AdressenNr=RechnungsKundenNr WHERE Status=0 " & getRGWhere("ER") & orderBy, "FMZOLL")
If dt IsNot Nothing Then
If vbYes = MsgBox("Es werden " & dt.Rows.Count & " Rechnungen gedruckt." & vbNewLine & "Möchten Sie fortfahren?", vbYesNoCancel) Then
Dim RechnungsDatum As Date = Now
If cFakturierung.getRgDatInput("Es werden " & dt.Rows.Count & " Rechnungen gedruckt." & vbNewLine & "Möchten Sie fortfahren?" & vbNewLine, [RechnungsDatum]) Then 'Now.ToShortDateString
For Each r In dt.Rows
If r("Rechnungsdruck") = "2" Or r("Rechnungsdruck") = "5" Then
cFakturierung.doRechnungsDruck_MAIL(r("RK_ID"), RechnungsDatum,, r("Rechnungsdruck"),, cboPrinter.Text,, PARAM_printZollbeleg)
Else
cFakturierung.doRechnungsDruck(r("RK_ID"), RechnungsDatum,,,, cboPrinter.Text,, PARAM_printZollbeleg)
End If
Next
initDGV()
End If
End If
End If
End If
End Sub
Function print_Anlagen() As Boolean
Dim erg = True
Dim dt = SQL.loadDgvBySql("SELECT RK_ID FROM Rechnungsausgang WHERE Status=0 " & getRGWhere("SR") & " ORDER BY [BelegartenKz] DESC, FilialenNr, AbfertigungsNr, [RK_ID]", "FMZOLL")
If dt IsNot Nothing Then
If vbYes = MsgBox("Es werden " & dt.Rows.Count & " Rechnungen gedruckt." & vbNewLine & "Möchten Sie fortfahren?", vbYesNoCancel) Then
For Each r In dt.Rows
If Not cFakturierung.doRechnungsDruck(r("RK_ID"),,,, cboPrinter.Text) Then erg = False
Next
End If
End If
Return erg
' strLinkCriteria = "[Status]=1 And [DruckDatumZeit]=" & Format$(varDatumZeit, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#") & " And [Rechnungsdruck]=0"
'970 DoCmd.OpenReport "Rechnungen drucken", acNormal, , strLinkCriteria
'980 bytRechnungsdrucksteuerung = 0
'990 strLinkCriteria = "[Status]=1 And [DruckDatumZeit]=" & Format$(varDatumZeit, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#") & " And [Rechnungsdruck]<>0"
'1000 DoCmd.OpenReport "Rechnungen drucken A4", acNormal, , strLinkCriteria
'1010 strLinkCriteria = "[Status]=1 And [DruckDatumZeit]=" & Format$(varDatumZeit, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#")
'1020 DoCmd.OpenReport "Tages-Umsatz-Journal drucken (Einzelrechnungen)", acNormal, , strLinkCriteria
'1030 strLinkCriteria = "[Status]=2 And [DruckDatumZeit]=" & Format$(varDatumZeit, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#")
'1040 DoCmd.OpenReport "Anlage zur Sammelrechnung drucken", acNormal, , strLinkCriteria
End Function
'Private Sub Button5_Click2(sender As Object, e As EventArgs)
' If checkSrchValues() Then
' If vbYes = MsgBox("Es werden " & MyDatagridview1.SelectedRows.Count & " Rechnungen gedruckt." & vbNewLine & "Möchten Sie fortfahren?", vbYesNoCancel) Then
' For Each r As DataGridViewRow In MyDatagridview1.SelectedRows
' cFakturierung.doRechnungsDruck(r.Cells("RK_ID").Value,,,, cboPrinter.Text)
' Next
' End If
' End If
'End Sub
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
'If checkSrchValues() Then
' print_Anlagen()
' initDGV()
'End If
If checkSrchValues() Then
Dim f As New frmFaktSammelRgDrucken(cboFirma._value)
f.ShowDialog(Me)
getDGV().RELOAD()
If dgvRechnungen.Rows.Count = 0 Then newRechnung()
End If
End Sub
Private Sub tbcntr_SelectedIndexChanged(sender As Object, e As EventArgs) Handles tbcntr.SelectedIndexChanged
initDGV()
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
If dgvRechnungen.SelectedRows.Count > 0 Then
' getDGV().RELOAD() -> hebt Selektierung auf
If vbYes = MsgBox("Es werden " & dgvRechnungen.SelectedRows.Count & " Rechnungen in ein PDF gewandelt." & vbNewLine & "Möchten Sie fortfahren?", vbYesNoCancel) Then
'Rechnungsdatum festlegen:
Dim RechnungsDatumTMP As Object = Nothing
If Not cbx.Checked Then 'GedruckteRechnugnen
RechnungsDatumTMP = Now
cFakturierung.getRgDatInput("", RechnungsDatumTMP)
End If
Dim list As New List(Of String) ' Sammlung PDFs
For Each r As DataGridViewRow In dgvRechnungen.SelectedRows
Dim path = ""
cFakturierung.doRechnungsDruck(r.Cells("RK_ID").Value, RechnungsDatumTMP,, 4, path, cboPrinter.Text, cbxOriginalDrucken.Checked)
If path <> "" Then list.Add(path)
Next
If list.Count = 1 Then
Process.Start(list(0))
Else
Dim dest_path = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("VERAG_Formular.pdf", ".pdf", False, False)
If Not FormularManagerNEU.MergePdfFiles(list, dest_path) Then
dest_path = "" : MsgBox("Fehler PDF")
Else
Process.Start(dest_path)
End If
End If
'merge PDFs path
initDGV()
End If
End If
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click, Button11.Click
' getDGV().RELOAD() -> hebt Selektierung auf
For Each r As DataGridViewRow In dgvRechnungen.SelectedRows
If r.Cells("Art").Value <> "0" Then
MsgBox("Nur bei Einzelrechnung")
Exit Sub
End If
Next
If dgvRechnungen.SelectedRows.Count = 1 Then
Try
Dim RECHNUNG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(dgvRechnungen.SelectedRows(0).Cells("RK_ID").Value)
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(RECHNUNG.FilialenNr, RECHNUNG.AbfertigungsNr, RECHNUNG.SpeditionsbuchUnterNr)
If SPEDBUCH IsNot Nothing Then
'RG-Druck - Mail (+Kopie)
Dim RG_DRUCK = 2
If sender Is Button11 Then
RG_DRUCK = 5
End If
Dim f As New frmFaktEmail(RECHNUNG, SPEDBUCH, True, RG_DRUCK)
f.ShowDialog(Me)
End If
'merge PDFs path
initDGV()
Catch ex As Exception
MsgBox("Fehler beim Öffnen des Mail-Fensters!" & vbNewLine & vbNewLine & ex.StackTrace & ex.Message)
End Try
ElseIf dgvRechnungen.SelectedRows.Count > 1 Then
If vbYes = MsgBox("Es werden " & dgvRechnungen.SelectedRows.Count & " Rechnungen ans Mail angefügt." & vbNewLine & "Möchten Sie fortfahren?", vbYesNoCancel) Then
'Rechnungsdatum festlegen:
Dim RechnungsDatumTMP As Object = Nothing
If Not cbx.Checked Then 'GedruckteRechnugnen
RechnungsDatumTMP = Now
cFakturierung.getRgDatInput("", RechnungsDatumTMP)
End If
Dim list As New List(Of String) ' Sammlung PDFs
For Each r As DataGridViewRow In dgvRechnungen.SelectedRows
Dim path = ""
cFakturierung.doRechnungsDruck(r.Cells("RK_ID").Value, RechnungsDatumTMP,, 4, path, cboPrinter.Text)
If path <> "" Then list.Add(path)
Next
Try
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Dim RechnungsLandKz = getSelection("RechnungsLandKz")
Select Case RechnungsLandKz
Case "TR"
Mail.Subject = "Rechnungen " & cboFirma.Text
Mail.HTMLBody = "Sayin Bayanlar ve Baylar,
ekte baslikta yazan faturayi bulabilirsinz."
Mail.HTMLBody &= "
Saygilarimizla
" & cFakturierung.getSignature(RechnungsLandKz, cboFirma._value)
Case "A", "AT", "D", "DE", "CH"
Mail.Subject = "Rechnungen " & cboFirma.Text
Mail.HTMLBody = "Sehr geehrte Damen und Herren,
im Anhang senden wir Ihnen unsere Rechnungen."
Mail.HTMLBody &= "
Mit freundlichen Grüßen
" & cFakturierung.getSignature(RechnungsLandKz, cboFirma._value)
Case Else
Mail.Subject = "Invoice " & cboFirma.Text
Mail.HTMLBody = "Sehr geehrte Damen und Herren,
attached we send you the invoices."
Mail.HTMLBody &= "
Best regards
" & cFakturierung.getSignature(RechnungsLandKz, cboFirma._value)
End Select
Mail.HTMLBody = "