This commit is contained in:
2025-01-28 18:27:33 +01:00
parent 0aee64f6e8
commit 34198d99ad
4 changed files with 72 additions and 26 deletions

View File

@@ -76,6 +76,7 @@ Partial Class usrcntlFakturierung
Me.Label63 = New System.Windows.Forms.Label()
Me.Label45 = New System.Windows.Forms.Label()
Me.Button14 = New System.Windows.Forms.Button()
Me.cbxMautanh = New System.Windows.Forms.CheckBox()
Me.GroupBox1.SuspendLayout()
Me.GBMautberichte.SuspendLayout()
CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -303,6 +304,7 @@ Partial Class usrcntlFakturierung
'
'GBSammelrechnung
'
Me.GBSammelrechnung.Controls.Add(Me.cbxMautanh)
Me.GBSammelrechnung.Controls.Add(Me.Button1)
Me.GBSammelrechnung.Controls.Add(Me.PictureBox6)
Me.GBSammelrechnung.Controls.Add(Me.PictureBox5)
@@ -666,6 +668,18 @@ Partial Class usrcntlFakturierung
Me.Button14.Text = "Rechnungspos. berechnen"
Me.Button14.UseVisualStyleBackColor = True
'
'cbxMautanh
'
Me.cbxMautanh.AutoSize = True
Me.cbxMautanh.Checked = True
Me.cbxMautanh.CheckState = System.Windows.Forms.CheckState.Checked
Me.cbxMautanh.Location = New System.Drawing.Point(450, 262)
Me.cbxMautanh.Name = "cbxMautanh"
Me.cbxMautanh.Size = New System.Drawing.Size(184, 17)
Me.cbxMautanh.TabIndex = 107
Me.cbxMautanh.Text = "Mautanhänge im PDF hinzufügen"
Me.cbxMautanh.UseVisualStyleBackColor = True
'
'usrcntlFakturierung
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -747,4 +761,5 @@ Partial Class usrcntlFakturierung
Friend WithEvents PictureBox3 As PictureBox
Friend WithEvents PictureBox2 As PictureBox
Friend WithEvents Button1 As Button
Friend WithEvents cbxMautanh As CheckBox
End Class

View File

@@ -961,7 +961,7 @@ Public Class usrcntlFakturierung
Dim SQLStringGruppierteSammelrechnung = "SELECT [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz
FROM Rechnungsausgang INNER JOIN Adressen on AdressenNr = RechnungsKundenNr
WHERE [Status] = 2 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null " & IIf(kdnr > 0, " AND RechnungsKundenNr = " & kdnr, "") & "
WHERE [Status] = 2 AND [Sammelrechnung] = 6 AND UPPER(Rechnungsausgang.Sachbearbeiter) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null " & IIf(kdnr > 0, " AND RechnungsKundenNr = " & kdnr, "") & "
group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz
ORDER BY [Firma_ID], [Status], RechnungsNr"
@@ -972,28 +972,30 @@ Public Class usrcntlFakturierung
If cbxVorschau.Checked Then
Dim nurNICHTEUKunden As Boolean = False
If rbAlleKunden.Checked Then
If vbYes = MsgBox("Sollen nur die Rechnungen der NICHT-EU Kunden gedruckt werden?", vbYesNoCancel) Then nurNICHTEUKunden = True
nurNICHTEUKunden = MsgBox("Sollen nur die Rechnungen der NICHT-EU Kunden gedruckt werden?", vbYesNo)
End If
For Each rowRE In dtSelectedSammelrechnungen.Rows
Dim dTLANDEU As DataTable = (New SQL).loadDgvBySql("select LandKz, MitgliedslandEU from Währungstabelle where LandKz is not null", "FMZOLL")
Dim R As DataRow = dTLANDEU.NewRow
R("LandKz") = "MK"
R("MitgliedslandEU") = False
dTLANDEU.Rows.Add(R)
For Each rowRE In dtSelectedSammelrechnungen.Rows
Dim path = ""
If nurNICHTEUKunden Then
Dim isEU As Boolean = True
isEU = (New SQL).getValueTxtBySql("select MitgliedslandEU from Währungstabelle where landkz = '" & rowRE("Adressen.LandKz") & "'", "FMZOLL",)
If Not isEU Then cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , , )
Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = rowRE("LandKZ")).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault()
If Not isEU Then cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked)
If path <> "" Then listPDFs.Add(path)
Else
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , , )
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , , ,, cbxMautanh.Checked)
If path <> "" Then listPDFs.Add(path)
If path <> "" Then
listPDFs.Add(path)
End If
End If
@@ -1005,9 +1007,11 @@ Public Class usrcntlFakturierung
'GroupBox12.Refresh()
My.Application.DoEvents()
End If
cnt += 1
cnt += 1
Next
'Exit For
Next
If listPDFs.Count > 0 Then
@@ -1518,16 +1522,14 @@ Public Class usrcntlFakturierung
Dim rechnungenMitGesamtmautanhantCSV As String = (New SQL).getValueTxtBySqlVarList("SELECT COUNT(*) FROM Rechnungsausgang
inner join RechnungsausgangAnhaenge on Rechnungsausgang.RK_ID = RechnungsausgangAnhaenge.RK_ID
WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.csv')
group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsausgangAnhaenge.Bezeichnung ", "FMZOLL",, 0)
WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.csv')", "FMZOLL",, 0)
Dim rechnungenMitGesamtmautanhantPDF As String = (New SQL).getValueTxtBySqlVarList("SELECT COUNT(*) FROM Rechnungsausgang
inner join RechnungsausgangAnhaenge on Rechnungsausgang.RK_ID = RechnungsausgangAnhaenge.RK_ID
WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.pdf')
group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsausgangAnhaenge.Bezeichnung ", "FMZOLL",, 0)
WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.pdf')", "FMZOLL",, 0)
MsgBox("Anzahl CSV-Anhänge: " & rechnungenMitGesamtmautanhantCSV & vbNewLine & "Anzahl PDF-Anhänge: " & rechnungenMitGesamtmautanhantPDF)
@@ -1538,7 +1540,7 @@ Public Class usrcntlFakturierung
sammelrechnung0vorhanden = checkIfStatus0Sammelrechnugnenvorhanden(cboSachbearbeiter._value, CDate(dtRechnungsdatum.Text))
Button14.Enabled = sammelrechnung0vorhanden
Button19.Enabled = sammelrechnung0vorhanden
'Button19.Enabled = sammelrechnung0vorhanden wenn RE bereits Status 2 wird sie nur gedruckt!!!!
Button20.Enabled = sammelrechnung0vorhanden
@@ -1547,6 +1549,10 @@ Public Class usrcntlFakturierung
Private Function checkIfStatus0Sammelrechnugnenvorhanden(Sachbearbeiter As String, rechnungsdatum As Date) As Boolean
If Sachbearbeiter = "" Then Return False
If rechnungsdatum > Today() Then Return False
Dim rechnungenMitStatus0 As Integer = CInt((New SQL).getValueTxtBySqlVarList("SELECT COUNT(*) From Rechnungsausgang
Where [Status] = 0 And [Sammelrechnung] = 6 And UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'", "FMZOLL",, 0))
@@ -1559,7 +1565,7 @@ Public Class usrcntlFakturierung
Dim sammelrechnung0vorhanden As Boolean = True
sammelrechnung0vorhanden = checkIfStatus0Sammelrechnugnenvorhanden(cboSachbearbeiter._value, CDate(dtRechnungsdatum.Text))
Button19.Enabled = sammelrechnung0vorhanden
'Button19.Enabled = sammelrechnung0vorhanden wenn RE bereits Status 2 wird sie nur gedruckt!!!!
Button14.Enabled = sammelrechnung0vorhanden
Button20.Enabled = sammelrechnung0vorhanden