diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index a64dcc6c..a7a0d56f 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -965,7 +965,7 @@ Public Class cAutomailversand If isEinzelrechnung Then RE_Text = "diese Rechnung" Else - RE_Text = "alle markieren Rechnungen" + RE_Text = "alle markierten Rechnungen" End If If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand deaktivieren?" & vbNewLine & "Die Rechnungen müssen dann manuell per Mail verschickt werden!", vbYesNoCancel) Then @@ -992,17 +992,17 @@ Public Class cAutomailversand End If End Function - Public Shared Function automRechnungsversand_durchführen(Optional isEinzelrechnung As Boolean = False) + Public Shared Function automRechnungsversand_durchführen(Optional isEinzelrechnung As Boolean = False, Optional printAfterSent As Boolean = False) Dim RE_Text = "" If isEinzelrechnung Then RE_Text = "diese Rechnung" Else - RE_Text = "alle markieren Rechnungen" + RE_Text = "alle markierten Rechnungen" End If - If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand JETZT durchführen?" & vbNewLine & "Ansonsten werden sie im Nachtlauf automatisch versendet!", vbYesNoCancel) Then + If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand JETZT durchführen?" & IIf(printAfterSent, vbNewLine & "Die Rechnungen werden nach dem verschicken ausgedruckt!", "") & vbNewLine & "Ansonsten werden sie im Nachtlauf automatisch versendet!", vbYesNoCancel) Then Return True Else Return False diff --git a/SDL/Fakturierung/frmAbrechnungsMaske.Designer.vb b/SDL/Fakturierung/frmAbrechnungsMaske.Designer.vb index 4283c005..4bb9a5e5 100644 --- a/SDL/Fakturierung/frmAbrechnungsMaske.Designer.vb +++ b/SDL/Fakturierung/frmAbrechnungsMaske.Designer.vb @@ -32,6 +32,7 @@ Partial Class frmAbrechnungsMaske Me.Label12 = New System.Windows.Forms.Label() Me.dgvRechnungen = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.Panel2 = New System.Windows.Forms.Panel() + Me.btn_doMailAutoversand = New System.Windows.Forms.Button() Me.Button11 = New System.Windows.Forms.Button() Me.cbxOriginalDrucken = New System.Windows.Forms.CheckBox() Me.cboSort = New VERAG_PROG_ALLGEMEIN.MyComboBox() @@ -88,7 +89,6 @@ Partial Class frmAbrechnungsMaske Me.btnVonJahr = New System.Windows.Forms.Button() Me.UsrCntlFaktAbrechnung1 = New SDL.usrCntlFaktAbrechnung() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.btn_doMailAutoversand = New System.Windows.Forms.Button() Me.pnl.SuspendLayout() CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainer.Panel1.SuspendLayout() @@ -227,6 +227,21 @@ Partial Class frmAbrechnungsMaske Me.Panel2.Size = New System.Drawing.Size(561, 97) Me.Panel2.TabIndex = 0 ' + 'btn_doMailAutoversand + ' + Me.btn_doMailAutoversand.BackgroundImage = Global.SDL.My.Resources.Resources.zauberstab + Me.btn_doMailAutoversand.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.btn_doMailAutoversand.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn_doMailAutoversand.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btn_doMailAutoversand.Location = New System.Drawing.Point(293, 21) + Me.btn_doMailAutoversand.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) + Me.btn_doMailAutoversand.Name = "btn_doMailAutoversand" + Me.btn_doMailAutoversand.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0) + Me.btn_doMailAutoversand.Size = New System.Drawing.Size(40, 25) + Me.btn_doMailAutoversand.TabIndex = 29 + Me.btn_doMailAutoversand.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btn_doMailAutoversand.UseVisualStyleBackColor = True + ' 'Button11 ' Me.Button11.BackgroundImage = Global.SDL.My.Resources.Resources.email_print1 @@ -527,6 +542,7 @@ Partial Class frmAbrechnungsMaske Me.cboRechnungsdruck._allowedValuesFreiText = Nothing Me.cboRechnungsdruck._allowFreiText = False Me.cboRechnungsdruck._value = "" + Me.cboRechnungsdruck.DropDownWidth = 120 Me.cboRechnungsdruck.FormattingEnabled = True Me.cboRechnungsdruck.Location = New System.Drawing.Point(453, 23) Me.cboRechnungsdruck.Margin = New System.Windows.Forms.Padding(2) @@ -976,21 +992,6 @@ Partial Class frmAbrechnungsMaske Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4) ' - 'btn_doMailAutoversand - ' - Me.btn_doMailAutoversand.BackgroundImage = Global.SDL.My.Resources.Resources.zauberstab - Me.btn_doMailAutoversand.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.btn_doMailAutoversand.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btn_doMailAutoversand.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btn_doMailAutoversand.Location = New System.Drawing.Point(293, 21) - Me.btn_doMailAutoversand.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) - Me.btn_doMailAutoversand.Name = "btn_doMailAutoversand" - Me.btn_doMailAutoversand.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0) - Me.btn_doMailAutoversand.Size = New System.Drawing.Size(40, 25) - Me.btn_doMailAutoversand.TabIndex = 29 - Me.btn_doMailAutoversand.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.btn_doMailAutoversand.UseVisualStyleBackColor = True - ' 'frmAbrechnungsMaske ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) diff --git a/SDL/Fakturierung/frmAbrechnungsMaske.vb b/SDL/Fakturierung/frmAbrechnungsMaske.vb index a3123a69..0cc6b6a0 100644 --- a/SDL/Fakturierung/frmAbrechnungsMaske.vb +++ b/SDL/Fakturierung/frmAbrechnungsMaske.vb @@ -39,6 +39,7 @@ Public Class frmAbrechnungsMaske cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("E-MAIL", "2")) cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MAIL+KOPIE", "5")) cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AUTO-MAIL", "6")) + cboRechnungsdruck.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AUTO-MAIL + KOPIE", "7")) cboRechnungsdruck.changeItem("") cboSort.Items.Clear() @@ -235,7 +236,7 @@ Public Class frmAbrechnungsMaske If .Columns.Contains("AUTO_sent") Then .Columns("AUTO_sent").Width = 40 - If cboRechnungsdruck._value <> "6" Then + If (cboRechnungsdruck._value <> "6" AndAlso cboRechnungsdruck._value <> "7") Then .Columns("AUTO_sent").Visible = False Else .Columns("AUTO_sent").Visible = True @@ -328,7 +329,8 @@ Public Class frmAbrechnungsMaske If cboRechnungsdruck._value <> "" Then Select Case cboRechnungsdruck._value - Case 6 : sqlstr &= " And isnull(Automailversand,0)=1 " : enableAUTOMAIL_BTN = True + Case 6 : sqlstr &= " And Rechnungsdruck='3' And isnull(Automailversand,0)=1 " : enableAUTOMAIL_BTN = True + Case 7 : sqlstr &= " And Rechnungsdruck='5' And isnull(Automailversand,0)=1 " : enableAUTOMAIL_BTN = True Case 2 : sqlstr &= " And Rechnungsdruck='" & cboRechnungsdruck._value & "' And isnull(Automailversand,0)=0" : enableAUTOMAIL_BTN = True Case 5 : sqlstr &= " And Rechnungsdruck='" & cboRechnungsdruck._value & "' And isnull(Automailversand,0)=0" : enableAUTOMAIL_BTN = False Case Else @@ -976,10 +978,13 @@ Public Class frmAbrechnungsMaske Private Sub btn_doMailAutoversand_Click(sender As Object, e As EventArgs) Handles btn_doMailAutoversand.Click + Dim printAfterSent As Boolean = False + If cboRechnungsdruck._value = "7" Then printAfterSent = True + If dgvRechnungen.SelectedRows.Count > 0 Then - If Not cAutomailversand.automRechnungsversand_durchführen Then Exit Sub + If Not cAutomailversand.automRechnungsversand_durchführen(printAfterSent) Then Exit Sub Dim ListOfRK_ID As New List(Of Integer) @@ -999,6 +1004,16 @@ Public Class frmAbrechnungsMaske fun.sendMailEinzelrechnungen(cboFirma._value, Today(), cboSachbearbeiter._value, ListOfRK_ID) initDGV() + If printAfterSent Then + + For Each row In ListOfRK_ID + cFakturierung.doRechnungsDruck(row,,, 1,, cboPrinter.Text) + + Next + + End If + + End If diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb index 933bed7a..4fded175 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb @@ -671,10 +671,20 @@ Public Class frmFaktSammelRgDrucken Dim abfertigungsarten = getValues() - RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr, 7, listPDFs, cboSB._value,,, getAvisoIds, cbxEVOLOG.Checked, SonstAnlagen, , cbxTransFerry.Checked, cboFaktGrp._value, abfertigungsarten,,, True) - If Not RechnungsNrisSet Then - MsgBox("Fehler bei RechnungsNr-Erzeugung!") + Dim IM_EX As Boolean = False + IM_EX = r.Cells("IM_EX").Value IsNot Nothing AndAlso Not IsDBNull(r.Cells("IM_EX").Value) AndAlso r.Cells("RENR").Value = True + + If abfertigungsarten = "" AndAlso IM_EX Then + + Else + RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr, 7, listPDFs, cboSB._value,,, getAvisoIds, cbxEVOLOG.Checked, SonstAnlagen, , cbxTransFerry.Checked, cboFaktGrp._value, abfertigungsarten,,, True) + If Not RechnungsNrisSet Then + MsgBox("Fehler bei RechnungsNr-Erzeugung!") + End If + End If + + Me.Enabled = True End If End If @@ -835,11 +845,13 @@ Public Class frmFaktSammelRgDrucken Button4.Enabled = cbxAUTOMail.Checked Button7.Enabled = cbxAUTOMail.Checked Button3.Enabled = Not cbxAUTOMail.Checked + Button6.Enabled = cbxAUTOMail.Checked Else Button7.Enabled = False Button4.Enabled = False Button3.Enabled = False + Button6.Enabled = False End If diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index 511b484f..ca6da27f 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -5550,24 +5550,24 @@ mwst: Return enableAUTOMAIL End Select - 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft - - 'STATUS 0-_> Rechnung angelegt - 'STATUS 1-_> Einzel-Rg gedruckt - 'STATUS 2-_> Anlagen zur Rg gedruckt - 'STATUS 3-_> Sammel-Rg gedruckt - 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? - - If cboSammelrechnung._value = 0 AndAlso lblDruckDatum.Text = "" AndAlso RD_DRUCK = 2 Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? - If RECHNUNG IsNot Nothing AndAlso (RECHNUNG.Status <> 0 AndAlso RECHNUNG.Status <> 2) Then - Return enableAUTOMAIL = False - Else - enableAUTOMAIL = True - End If + 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft + 'STATUS 0-_> Rechnung angelegt + 'STATUS 1-_> Einzel-Rg gedruckt + 'STATUS 2-_> Anlagen zur Rg gedruckt + 'STATUS 3-_> Sammel-Rg gedruckt + 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? + If cboSammelrechnung._value = 0 AndAlso lblDruckDatum.Text = "" AndAlso RD_DRUCK = 2 Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? + If RECHNUNG IsNot Nothing AndAlso (RECHNUNG.Status <> 0 AndAlso RECHNUNG.Status <> 2) Then + Return enableAUTOMAIL = False Else - enableAUTOMAIL = False + enableAUTOMAIL = True + End If + + + Else + enableAUTOMAIL = False End If @@ -5608,18 +5608,18 @@ mwst: End Select - 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft + 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft - 'STATUS 0-_> Rechnung angelegt - 'STATUS 1-_> Einzel-Rg gedruckt - 'STATUS 2-_> Anlagen zur Rg gedruckt - 'STATUS 3-_> Sammel-Rg gedruckt - 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? + 'STATUS 0-_> Rechnung angelegt + 'STATUS 1-_> Einzel-Rg gedruckt + 'STATUS 2-_> Anlagen zur Rg gedruckt + 'STATUS 3-_> Sammel-Rg gedruckt + 'STATUS 4-_> ? irgendwas mit SR 6 Maut/Diesel?? - If RECHNUNG.Sammelrechnung = 0 AndAlso RECHNUNG.DruckDatumZeit Is Nothing AndAlso RD_DRUCK = 2 AndAlso (RECHNUNG.Status = 0 Or RECHNUNG.Status = 2) Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? - enableAUTOMAIL = True - Else - enableAUTOMAIL = False + If RECHNUNG.Sammelrechnung = 0 AndAlso RECHNUNG.DruckDatumZeit Is Nothing AndAlso (RD_DRUCK = 2 Or RD_DRUCK = 5) AndAlso (RECHNUNG.Status = 0 Or RECHNUNG.Status = 2) Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? + enableAUTOMAIL = True + Else + enableAUTOMAIL = False