Merge branch 'newMaster2024' of https://git.it.verag.ag/edv/SDL into newMaster2024

This commit is contained in:
2025-10-16 16:06:43 +02:00
40 changed files with 3883 additions and 692 deletions

View File

@@ -1958,12 +1958,12 @@ Public Class cFakturierung
Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False)
If printStbVdb Then
If printStbVdb AndAlso RECHNUNG.Firma_ID <> 1 Then
If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Zollbeleg drucken?", vbYesNoCancel)) Then
printSpedBuchAnhaenge(RECHNUNG, True, True)
End If
End If
If RECHNUNG.ANHAENGE.Count > 0 Then
If RECHNUNG.ANHAENGE.Count > 0 AndAlso RECHNUNG.Firma_ID <> 1 Then
If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then
printRGAnhaenge(RECHNUNG)
End If
@@ -2123,7 +2123,7 @@ Public Class cFakturierung
'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)
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)
@@ -2133,12 +2133,23 @@ Public Class cFakturierung
Dim KundePLZ As String = ""
Dim KundeOrt As String = ""
If RECHNUNG_AD IsNot Nothing AndAlso RECHNUNG_AD.Postfach IsNot Nothing AndAlso RECHNUNG_AD IsNot Nothing Then
KundePLZ = RECHNUNG_AD.Postfach
KundeOrt = RECHNUNG_AD.PLZ
If RECHNUNG_AD IsNot Nothing Then
If RECHNUNG_AD.PLZ IsNot Nothing Then
KundePLZ = RECHNUNG_AD.PLZ
ElseIf RECHNUNG_AD.PLZPF IsNot Nothing Then
KundePLZ = RECHNUNG_AD.PLZPF
End If
If RECHNUNG_AD.Ort IsNot Nothing Then
KundeOrt = RECHNUNG_AD.Ort
ElseIf RECHNUNG_AD.Postfach IsNot Nothing Then
KundeOrt = RECHNUNG_AD.Postfach
End If
End If
desc.SetBuyer(RECHNUNG.RechnungsName_1, IIf(KundePLZ <> "", KundePLZ, RECHNUNG.RechnungsOrt), IIf(KundeOrt <> "", KundeOrt, RECHNUNG.RechnungsOrt), RECHNUNG.RechnungsStraße, GetCountryCodeFromLandKZ(RECHNUNG.RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(RECHNUNG.KundenNrZentrale), RECHNUNG.KundenNrZentrale, ""))
'im RECHNUNG.RechnungsOrt befinden sich Ort und PLZ kombiniert!
desc.SetBuyer(RECHNUNG.RechnungsName_1 & IIf(RECHNUNG.RechnungsName_2 <> "", " " & RECHNUNG.RechnungsName_2, ""), IIf(KundePLZ <> "", KundePLZ, RECHNUNG.RechnungsOrt), IIf(KundeOrt <> "", KundeOrt, RECHNUNG.RechnungsOrt), RECHNUNG.RechnungsStraße, GetCountryCodeFromLandKZ(RECHNUNG.RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(RECHNUNG.KundenNrZentrale), RECHNUNG.KundenNrZentrale, ""))
Dim FirmaOrt = FIRMA.Firma_Ort
FirmaOrt = FirmaOrt.Replace(FIRMA.Firma_LandKz & "-" & FIRMA.Firma_PLZ & " ", "")
@@ -2218,7 +2229,7 @@ Public Class cFakturierung
'If RECHNUNG.TextZZ.ToString.Contains("Abbuchungsauftrag") Then
' desc.SetPaymentMeansSepaDirectDebit("", "")
'Else
desc.SetPaymentMeans(PaymentMeansTypeCodes.PaymentToBankAccount, RECHNUNG.TextZZ)
desc.SetPaymentMeans(PaymentMeansTypeCodes.SEPACreditTransfer, RECHNUNG.TextZZ)
'End If
Dim isReverseCharge = isReverseChargeSumme(FIRMA, RECHNUNG)
@@ -2231,7 +2242,7 @@ Public Class cFakturierung
If RECHNUNG.SteuerfreierGesamtbetrag > 0 Then
desc.AddApplicableTradeTax(Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag), 0, TaxTypes.VAT, TaxCategoryCodes.Z)
desc.AddApplicableTradeTax(Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag), 0, 0, TaxTypes.VAT, TaxCategoryCodes.Z)
End If
If RECHNUNG.SteuerpflichtigerGesamtbetrag > 0 Then
@@ -2338,7 +2349,7 @@ Public Class cFakturierung
If ROW("KdAuftragsNr") IsNot DBNull.Value AndAlso ROW("KdAuftragsNr") <> "" Then
desc.ReferenceOrderNo = ROW("KdAuftragsNr")
Else
desc.ReferenceOrderNo = " "
desc.ReferenceOrderNo = "-"
End If
Dim Rechnugnsname2 As String = ""
@@ -2398,10 +2409,21 @@ Public Class cFakturierung
Dim KundePLZ As String = ""
Dim KundeOrt As String = ""
If RECHNUNG_AD IsNot Nothing AndAlso RECHNUNG_AD.Postfach IsNot Nothing AndAlso RECHNUNG_AD.PLZ IsNot Nothing AndAlso RECHNUNG_AD.Postfach <> "" AndAlso RECHNUNG_AD.PLZ <> "" Then
KundePLZ = RECHNUNG_AD.Postfach
KundeOrt = RECHNUNG_AD.PLZ
If RECHNUNG_AD IsNot Nothing Then
If RECHNUNG_AD.PLZ IsNot Nothing AndAlso RECHNUNG_AD.PLZ <> "" Then
KundePLZ = RECHNUNG_AD.PLZ
ElseIf RECHNUNG_AD.PLZPF IsNot Nothing AndAlso RECHNUNG_AD.PLZPF <> "" Then
KundePLZ = RECHNUNG_AD.PLZPF
End If
If RECHNUNG_AD.Ort IsNot Nothing AndAlso RECHNUNG_AD.Ort <> "" Then
KundeOrt = RECHNUNG_AD.Ort
ElseIf RECHNUNG_AD.Postfach IsNot Nothing AndAlso RECHNUNG_AD.Postfach <> "" Then
KundeOrt = RECHNUNG_AD.Postfach
End If
Else
'Rechnungsort ist kombination aus PLZ und Ort!
KundePLZ = RechnungsOrt
KundeOrt = RechnungsOrt
@@ -2600,7 +2622,7 @@ Public Class cFakturierung
If Gesamt_RG_BetragSteuerfrei > 0 Then
desc.AddApplicableTradeTax(Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei), 0, TaxTypes.VAT, TaxCategoryCodes.Z)
desc.AddApplicableTradeTax(Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei), 0, 0, TaxTypes.VAT, TaxCategoryCodes.Z)
End If
If Gesamt_RG_BetragSteuerpflichtig > 0 Then
@@ -2624,7 +2646,7 @@ Public Class cFakturierung
Public Shared Function GetCountryCodeFromLandKZ(LandKZ As String, easi As ElectronicAddressSchemeIdentifiers) As CountryCodes
If LandKZ = "" Then Return CountryCodes.Unknown
If LandKZ = "" Then Return Nothing
Dim landKZISO2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2Land(LandKZ)
Dim cc As CountryCodes
@@ -2646,7 +2668,7 @@ Public Class cFakturierung
Case "CZ" : cc = CountryCodes.CZ : easi = ElectronicAddressSchemeIdentifiers.CzechRepublicVatNumber
Case "DK" : cc = CountryCodes.DK
Case "DZ" : cc = CountryCodes.DZ
Case "ES" : cc = CountryCodes.ES
Case "ES" : cc = CountryCodes.ES : easi = ElectronicAddressSchemeIdentifiers.AgenciaEspaOlaDeAdministraciNTributaria
Case "FR" : cc = CountryCodes.FR : easi = ElectronicAddressSchemeIdentifiers.FrenchVatNumber
Case "FN" : cc = CountryCodes.FI
Case "HR" : cc = CountryCodes.HR : easi = ElectronicAddressSchemeIdentifiers.CroatiaVatNumber
@@ -2666,7 +2688,7 @@ Public Class cFakturierung
Case "SK" : cc = CountryCodes.SK : easi = ElectronicAddressSchemeIdentifiers.SlovakiaVatNumber
Case Else
cc = CountryCodes.Unknown
cc = Nothing
End Select