abrechnung, etc.

This commit is contained in:
2026-06-08 17:21:08 +02:00
parent 955ed14693
commit b970e3b339
5 changed files with 79 additions and 51 deletions

View File

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

View File

@@ -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!)

View File

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

View File

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

View File

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