This commit is contained in:
2025-10-02 09:12:21 +02:00
47 changed files with 3882 additions and 1835 deletions

View File

@@ -2114,6 +2114,13 @@ Public Class cFakturierung
desc.Type = InvoiceType.CreditNote
End Select
'Die „Berechnung BT-10“ bezieht sich auf das Feld BT-10 „Buyer reference“ (Käuferreferenz) in der elektronischen Rechnung, speziell im XRechnung-Standard. Dieses Feld dient zur Angabe der Leitweg-ID
'für öffentliche Auftraggeber oder anderer Referenzinformationen für interne Zuordnungsprozesse.
'Die Leitweg-ID ist in Deutschland eine Pflichtangabe für elektronische Rechnungen an die Bundesverwaltung und muss vom Rechnungssteller vom Auftraggeber erhalten werden.
desc.ReferenceOrderNo = IIf(RECHNUNG.KdAuftragsNr Is Nothing, "", RECHNUNG.KdAuftragsNr)
If RECHNUNG.Besonderheiten IsNot Nothing Then desc.AddNote(RECHNUNG.Besonderheiten.ToString, SubjectCodes.AAI)
If RECHNUNG.Text IsNot Nothing Then desc.AddNote(RECHNUNG.Text.ToString, SubjectCodes.AAI)
desc.AddNote("Es bestehen Rabatt- und Bonusvereinbarungen.", SubjectCodes.AAK)
@@ -2319,6 +2326,17 @@ Public Class cFakturierung
End Select
'Die „Berechnung BT-10“ bezieht sich auf das Feld BT-10 „Buyer reference“ (Käuferreferenz) in der elektronischen Rechnung, speziell im XRechnung-Standard. Dieses Feld dient zur Angabe der Leitweg-ID
'für öffentliche Auftraggeber oder anderer Referenzinformationen für interne Zuordnungsprozesse.
'Die Leitweg-ID ist in Deutschland eine Pflichtangabe für elektronische Rechnungen an die Bundesverwaltung und muss vom Rechnungssteller vom Auftraggeber erhalten werden.
Dim BestellungsRefNr As String = ""
If ROW("KdAuftragsNr") IsNot DBNull.Value AndAlso ROW("KdAuftragsNr") <> "" Then
desc.ReferenceOrderNo = ROW("KdAuftragsNr")
Else
desc.ReferenceOrderNo = " "
End If
Dim Rechnugnsname2 As String = ""
If ROW("RechnungsName 2") IsNot DBNull.Value AndAlso ROW("RechnungsName 2") <> "" Then
Rechnugnsname2 = ROW("RechnungsName 2")
@@ -2394,7 +2412,6 @@ Public Class cFakturierung
' Optionally, to support Peppol-----------------------------
If RE_UID <> "" Then
desc.AddBuyerTaxRegistration(RE_UID, TaxRegistrationSchemeID.VA)
If vatBuyer Then
@@ -5183,6 +5200,8 @@ Public Class cFakturierung
Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(r("RK_ID"))
If RG IsNot Nothing Then
RG.LOAD_ANHAENGE()
Dim PDFList As New List(Of String)
Dim mergedPDFList = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Attachment_" & RG.RechnungsNr & ".pdf", "pdf",, False, "Zusammenfassung")
For Each RG_AH In RG.ANHAENGE.Where(Function(x) x.Bezeichnung.ToLower.EndsWith(extTyp))
Select Case extTyp
@@ -5195,16 +5214,30 @@ Public Class cFakturierung
End If
Else
If RG_AH.Bezeichnung.ToUpper.Contains("MAUT") Or RG_AH.Bezeichnung.ToUpper.Contains("DIESEL") Or RG_AH.Bezeichnung.ToUpper.Contains("INVOICE") Then
If RG.Firma_ID = 19 AndAlso RG.Sammelrechnung = 6 AndAlso RG.FilialenNr = 4817 Then 'in diesem Fall PDFs zusammenfassen!
Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId)
If Not listAnh.Contains(Path) Then
If Not Path.ToString.Contains("Sammelrechnung") Then
PDFList.Add(Path)
Else
listAnh.Add(Path)
End If
If Not (listAnh.Any(Function(f) f.Contains("COPY_INVOICE")) And Path.ToUpper.Contains("COPY_INVOICE")) Then 'damit diesel IDS-Rechnung nicht doppelt hinzugefügt wird.
listAnh.Add(Path)
Else
If RG_AH.Bezeichnung.ToUpper.Contains("MAUT") Or RG_AH.Bezeichnung.ToUpper.Contains("DIESEL") Or RG_AH.Bezeichnung.ToUpper.Contains("INVOICE") Then
Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId)
If Not listAnh.Contains(Path) Then
If Not (listAnh.Any(Function(f) f.Contains("COPY_INVOICE")) And Path.ToUpper.Contains("COPY_INVOICE")) Then 'damit diesel IDS-Rechnung nicht doppelt hinzugefügt wird.
listAnh.Add(Path)
End If
End If
End If
End If
End If
@@ -5224,7 +5257,14 @@ Public Class cFakturierung
Next
If mergedPDFList.Count > 0 Then
If FormularManagerNEU.MergePdfFiles(PDFList, mergedPDFList) Then
listAnh.Add(mergedPDFList)
End If
End If
End If
Next