Zugferd Sammelrechnung
This commit is contained in:
@@ -6,7 +6,8 @@ Imports VERAG_PROG_ALLGEMEIN
|
|||||||
Imports s2industries.ZUGFeRD
|
Imports s2industries.ZUGFeRD
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
|
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
|
||||||
|
Imports org.omg.PortableServer
|
||||||
|
Imports GrapeCity.ActiveReports.ReportsCore.Tools
|
||||||
|
|
||||||
Public Class cFakturierung
|
Public Class cFakturierung
|
||||||
|
|
||||||
@@ -1927,7 +1928,7 @@ Public Class cFakturierung
|
|||||||
|
|
||||||
Dim RechnungsLandKz As String = ""
|
Dim RechnungsLandKz As String = ""
|
||||||
If ROW("RechnungsLandKz") IsNot DBNull.Value AndAlso ROW("RechnungsLandKz") <> "" Then
|
If ROW("RechnungsLandKz") IsNot DBNull.Value AndAlso ROW("RechnungsLandKz") <> "" Then
|
||||||
RechnungsLandKz = cProgramFunctions.getLandBez_fromISO1Land(ROW("RechnungsLandKz"), "", ROW("RechnungSprache")).ToString.ToUpper
|
RechnungsLandKz = ROW("RechnungsLandKz") 'cProgramFunctions.getLandBez_fromISO1Land(ROW("RechnungsLandKz"), "", ROW("RechnungSprache")).ToString.ToUpper
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -1937,13 +1938,15 @@ Public Class cFakturierung
|
|||||||
'If RECHNUNG.Besonderheiten IsNot Nothing Then
|
'If RECHNUNG.Besonderheiten IsNot Nothing Then
|
||||||
' desc.AddNote(RECHNUNG.Besonderheiten.ToString, SubjectCodes.AAI)
|
' desc.AddNote(RECHNUNG.Besonderheiten.ToString, SubjectCodes.AAI)
|
||||||
'End If
|
'End If
|
||||||
|
|
||||||
If rpt.txtVermerk.Text IsNot Nothing AndAlso rpt.txtVermerk.Text <> "" Then desc.AddNote(rpt.txtVermerk.Text.ToString, SubjectCodes.AAI)
|
If rpt.txtVermerk.Text IsNot Nothing AndAlso rpt.txtVermerk.Text <> "" Then desc.AddNote(rpt.txtVermerk.Text.ToString, SubjectCodes.AAI)
|
||||||
|
|
||||||
desc.AddNote("Es bestehen Rabatt- und Bonusvereinbarungen.", SubjectCodes.AAK)
|
desc.AddNote("Es bestehen Rabatt- und Bonusvereinbarungen.", SubjectCodes.AAK)
|
||||||
|
|
||||||
desc.SetBuyer(ROW("RechnungsName 1") & " " & Rechnugnsname2, RechnungsOrt, RechnungsOrt, RechnungsStraße, GetCountryCodeFromLandKZ(RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(ROW("RechnungsKundenNr")), ROW("RechnungsKundenNr"), ""))
|
desc.SetBuyer(ROW("RechnungsName 1") & " " & Rechnugnsname2, RechnungsOrt, RechnungsOrt, RechnungsStraße, GetCountryCodeFromLandKZ(RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(ROW("RechnungsKundenNr")), ROW("RechnungsKundenNr"), ""))
|
||||||
|
|
||||||
desc.SetSeller(FIRMA.Firma_Bez, FIRMA.Firma_Ort, FIRMA.Firma_Ort, FIRMA.Firma_Straße, GetCountryCodeFromLandKZ(FIRMA.Firma_LandKz, vatSeller))
|
desc.SetSeller(FIRMA.Firma_Bez, FIRMA.Firma_Ort, FIRMA.Firma_Ort, FIRMA.Firma_Straße, GetCountryCodeFromLandKZ(FIRMA.Firma_LandKz, vatSeller))
|
||||||
|
|
||||||
|
If FIRMA.Firma_Steuernummer IsNot Nothing Then desc.AddSellerTaxRegistration(FIRMA.Firma_Steuernummer, TaxRegistrationSchemeID.FC)
|
||||||
desc.AddSellerTaxRegistration(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), TaxRegistrationSchemeID.VA)
|
desc.AddSellerTaxRegistration(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), TaxRegistrationSchemeID.VA)
|
||||||
|
|
||||||
' Optionally, to support Peppol-----------------------------
|
' Optionally, to support Peppol-----------------------------
|
||||||
@@ -1965,108 +1968,79 @@ Public Class cFakturierung
|
|||||||
steuerProzenFaktor = steuerProzent * 100
|
steuerProzenFaktor = steuerProzent * 100
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
Dim einzelpreis As Double = 0
|
||||||
Dim sumNetto As Double = 0
|
Dim sumNetto As Double = 0
|
||||||
|
|
||||||
|
|
||||||
'---------------------------------------------------------------------------------
|
For Each pos As DataRow In SR_DT.Rows
|
||||||
'--------------------------------TODO---------------------------------------------
|
|
||||||
'---------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
'AddHandler rpt.Detail.Format, Sub()
|
Dim SteuerpflichtigerBetrag As Double = 0
|
||||||
' ' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString
|
Dim SteuerfreierBetrag As Double = 0
|
||||||
' ' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString
|
Dim anzahl As Double = 0
|
||||||
|
Dim bez As String = ""
|
||||||
|
|
||||||
' rpt.lblLeistungNr.Text = checkNull(rpt.Fields.Item("LeistungsNr").Value)
|
Dim einzepreis = 0
|
||||||
' rpt.txtLeistung.Text = checkNull(rpt.Fields.Item("LeistungsBez").Value)
|
|
||||||
|
|
||||||
' If Not ROW("Lastschrift") Then
|
einzelpreis = IIf(pos.Item("SteuerpflichtigerBetrag") > 0, pos.Item("SteuerpflichtigerBetrag") / checkNull(pos.Item("Anzahl")), pos.Item("SteuerfreierBetrag") / checkNull(pos.Item("Anzahl")))
|
||||||
' If checkNull(rpt.Fields.Item("LeistungsNr").Value) = "750" Then
|
|
||||||
' strText = "Pos. 750 kann bei Zahlung innerhalb 10 Tagen gekürzt werden."
|
|
||||||
' End If
|
|
||||||
' End If
|
|
||||||
|
|
||||||
|
Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem(
|
||||||
' If rpt.Fields.Item("Belegdaten") IsNot Nothing AndAlso rpt.Fields.Item("Belegdaten").Value IsNot Nothing Then
|
name:=checkNull(pos.Item("LeistungsBez")),
|
||||||
' rpt.txtLeistung.Text &= vbNewLine & checkNull(rpt.Fields.Item("Belegdaten").Value)
|
billedQuantity:=Convert.ToDecimal(checkNull(pos.Item("Anzahl"))),
|
||||||
' End If
|
unitCode:=QuantityCodes.C62, ' immer in Stück
|
||||||
|
netUnitPrice:=Convert.ToDecimal(einzelpreis),
|
||||||
' rpt.lblAnzahl.Text = checkNull(rpt.Fields.Item("Anzahl").Value)
|
grossUnitPrice:=Convert.ToDecimal(einzelpreis),
|
||||||
' ' rpt.lblBetrag.Text = rpt.Fields.Item("betrag").Value
|
categoryCode:=IIf(pos.Item("SteuerpflichtigerBetrag") > 0, TaxCategoryCodes.S, TaxCategoryCodes.Z),
|
||||||
|
taxPercent:=IIf(pos.Item("SteuerpflichtigerBetrag") > 0, Convert.ToDecimal(steuerProzent * 100), 0),
|
||||||
' Dim stPfl As Double = 0
|
taxType:=IIf(pos.Item("SteuerpflichtigerBetrag") > 0, TaxTypes.VAT, TaxTypes.VAT)
|
||||||
' Dim stFrei As Double = 0
|
)
|
||||||
|
Dim netUnitPrice = Convert.ToDecimal(einzelpreis)
|
||||||
' If IsNumeric(checkNull(rpt.Fields.Item("SteuerpflichtigerBetrag").Value)) Then stPfl = CDbl(rpt.Fields.Item("SteuerpflichtigerBetrag").Value())
|
Dim netPricePos = netUnitPrice * Convert.ToDecimal(checkNull(pos.Item("Anzahl")))
|
||||||
' rpt.lblSteuerpflichtig.Text = If(stPfl <> 0, CDbl(stPfl).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
sumNetto += netPricePos
|
||||||
' If IsNumeric(checkNull(rpt.Fields.Item("SteuerfreierBetrag").Value)) Then stFrei = CDbl(rpt.Fields.Item("SteuerfreierBetrag").Value())
|
|
||||||
' rpt.lblSteuerfrei.Text = If(stFrei <> 0, CDbl(stFrei).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
|
||||||
|
|
||||||
|
|
||||||
' sumSteuerpflichtig += stPfl
|
|
||||||
' sumSteuerfrei += stFrei
|
|
||||||
|
|
||||||
' ' Anz += 1
|
|
||||||
' ' gesAnz += 1
|
|
||||||
|
|
||||||
' ' If Anz Mod 2 = 0 Then
|
|
||||||
' ' rpt.Detail.BackColor = Color.FromArgb(240, 240, 240)
|
|
||||||
' 'Else
|
|
||||||
' ' rpt.Detail.BackColor = Color.White
|
|
||||||
' ' End If
|
|
||||||
' 'rpt.Line10.Height = rpt.Detail.Height
|
|
||||||
' End Sub
|
|
||||||
|
|
||||||
'AddHandler rpt.ReportFooter1.Format, Sub()
|
|
||||||
' rpt.lblSteuerpflichtigGes.Text = If(sumSteuerpflichtig <> 0, (sumSteuerpflichtig).ToString("N2", CultureInfo.CurrentCulture), "")
|
|
||||||
' rpt.lblSteuerfreiGes.Text = If(sumSteuerfrei <> 0, (sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture), "")
|
|
||||||
|
|
||||||
|
|
||||||
' Dim steuerProz As Double = 0
|
|
||||||
' Dim steuerBez As String = ""
|
|
||||||
|
|
||||||
' Dim dt2 As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & ROW("Steuerschlüssel") & "'", "FMZOLL")
|
|
||||||
' If dt2 IsNot Nothing AndAlso dt2.Rows.Count > 0 Then
|
|
||||||
' steuerProz = dt2.Rows(0)(0)
|
|
||||||
' steuerBez = dt2.Rows(0)(1)
|
|
||||||
' End If
|
|
||||||
|
|
||||||
' rpt.lblSteuersatz.Text = steuerBez
|
|
||||||
' rpt.lblSteuerbetrag.Text = If((sumSteuerpflichtig * steuerProz) <> 0, (sumSteuerpflichtig * steuerProz).ToString("N2", CultureInfo.CurrentCulture), "")
|
|
||||||
' rpt.lblZWSumme.Text = (sumSteuerpflichtig + sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture)
|
|
||||||
' rpt.lblSumme.Text = (sumSteuerpflichtig + sumSteuerfrei + (sumSteuerpflichtig * steuerProz)).ToString("N2", CultureInfo.CurrentCulture)
|
|
||||||
' rpt.Label46.Text = If(ROW("Währungscode") IsNot DBNull.Value, ROW("Währungscode"), "EUR")
|
|
||||||
|
|
||||||
' If sumSteuerfrei = 0 Or sumSteuerpflichtig = 0 Then
|
|
||||||
' rpt.lblZwText.Visible = False
|
|
||||||
' rpt.lblZWSumme.Visible = False
|
|
||||||
' End If
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
'For Each search As GrapeCity.ActiveReports.SectionReportModel.ARControl In rpt.Detail.Controls
|
||||||
|
' If search.Name = "lblAnzahl" Then
|
||||||
|
' anzahl = IIf(DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text] <> "", DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text], 0)
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' If search.Name = "lblSteuerpflichtig" Then
|
||||||
|
' SteuerpflichtigerBetrag = IIf(DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text] <> "", DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text], 0)
|
||||||
|
' End If
|
||||||
|
|
||||||
' End Sub
|
' If search.Name = "lblSteuerfrei" Then
|
||||||
|
' SteuerfreierBetrag = IIf(DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text] <> "", DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text], 0)
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' If search.Name = "txtLeistung" Then
|
||||||
|
' bez = IIf(DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.TextBox).[Text] <> "", DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.TextBox).[Text], 0)
|
||||||
|
' End If
|
||||||
|
|
||||||
AddHandler rpt.Detail.Format, Sub()
|
'If bez <> "" Then
|
||||||
|
|
||||||
Dim einzelpreis As Double = IIf(rpt.Fields.Item("SteuerpflichtigerBetrag").Value > 0, rpt.Fields.Item("SteuerpflichtigerBetrag").Value / checkNull(rpt.Fields.Item("Anzahl").Value), rpt.Fields.Item("SteuerfreierBetrag").Value / checkNull(rpt.Fields.Item("Anzahl").Value))
|
' einzelpreis = IIf(SteuerpflichtigerBetrag > 0, SteuerpflichtigerBetrag / checkNull(anzahl), SteuerfreierBetrag / checkNull(anzahl))
|
||||||
|
|
||||||
Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem(
|
' Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem(
|
||||||
name:=checkNull(rpt.Fields.Item("LeistungsBez").Value),
|
' name:=checkNull(bez),
|
||||||
billedQuantity:=Convert.ToDecimal(checkNull(rpt.Fields.Item("Anzahl").Value)),
|
' billedQuantity:=Convert.ToDecimal(checkNull(anzahl)),
|
||||||
unitCode:=QuantityCodes.C62, ' immer in Stück
|
' unitCode:=QuantityCodes.C62, ' immer in Stück
|
||||||
netUnitPrice:=Convert.ToDecimal(einzelpreis),
|
' netUnitPrice:=Convert.ToDecimal(einzelpreis),
|
||||||
grossUnitPrice:=Convert.ToDecimal(einzelpreis),
|
' grossUnitPrice:=Convert.ToDecimal(einzelpreis),
|
||||||
categoryCode:=IIf(rpt.Fields.Item("SteuerpflichtigerBetrag").Value > 0, TaxCategoryCodes.S, TaxCategoryCodes.Z),
|
' categoryCode:=IIf(SteuerpflichtigerBetrag > 0, TaxCategoryCodes.S, TaxCategoryCodes.Z),
|
||||||
taxPercent:=IIf(rpt.Fields.Item("SteuerpflichtigerBetrag").Value > 0, Convert.ToDecimal(steuerProzent * 100), 0),
|
' taxPercent:=IIf(SteuerpflichtigerBetrag > 0, Convert.ToDecimal(steuerProzent * 100), 0),
|
||||||
taxType:=IIf(rpt.Fields.Item("SteuerpflichtigerBetrag").Value > 0, TaxTypes.VAT, TaxTypes.VAT)
|
' taxType:=IIf(SteuerpflichtigerBetrag > 0, TaxTypes.VAT, TaxTypes.VAT)
|
||||||
)
|
' )
|
||||||
Dim netUnitPrice = Convert.ToDecimal(einzelpreis)
|
' Dim netUnitPrice = Convert.ToDecimal(einzelpreis)
|
||||||
Dim netPricePos = netUnitPrice * Convert.ToDecimal(checkNull(rpt.Fields.Item("Anzahl").Value))
|
' Dim netPricePos = netUnitPrice * Convert.ToDecimal(checkNull(anzahl))
|
||||||
sumNetto += netPricePos
|
' sumNetto += netPricePos
|
||||||
|
|
||||||
End Sub
|
' bez = ""
|
||||||
|
|
||||||
|
' End If
|
||||||
|
|
||||||
|
'Next
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
'Summe aller Rechnungspositions-Nettobeträge der Rechnung
|
'Summe aller Rechnungspositions-Nettobeträge der Rechnung
|
||||||
@@ -3850,6 +3824,7 @@ Public Class cFakturierung
|
|||||||
sumSteuerpflichtig += stPfl
|
sumSteuerpflichtig += stPfl
|
||||||
sumSteuerfrei += stFrei
|
sumSteuerfrei += stFrei
|
||||||
|
|
||||||
|
|
||||||
' Anz += 1
|
' Anz += 1
|
||||||
' gesAnz += 1
|
' gesAnz += 1
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ Public Class cFirmen
|
|||||||
Property Firma_E_Mail_Mahnungen As Object = Nothing
|
Property Firma_E_Mail_Mahnungen As Object = Nothing
|
||||||
Property Firma_Webadresse As Object = Nothing ' NVARCHAR (40) NULL,
|
Property Firma_Webadresse As Object = Nothing ' NVARCHAR (40) NULL,
|
||||||
Property Firma_LandKz As Object = Nothing ' NVARCHAR (40) NULL,
|
Property Firma_LandKz As Object = Nothing ' NVARCHAR (40) NULL,
|
||||||
|
Property Firma_Steuernummer As Object = Nothing
|
||||||
|
|
||||||
Property Firmengruppe As Object = Nothing
|
Property Firmengruppe As Object = Nothing
|
||||||
|
|
||||||
@@ -72,6 +73,7 @@ Public Class cFirmen
|
|||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Webadresse", Firma_Webadresse))
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Webadresse", Firma_Webadresse))
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_LandKz", Firma_LandKz))
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_LandKz", Firma_LandKz))
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firmengruppe", Firmengruppe))
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firmengruppe", Firmengruppe))
|
||||||
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_Steuernummer", Firma_Steuernummer))
|
||||||
|
|
||||||
|
|
||||||
Return list
|
Return list
|
||||||
|
|||||||
Reference in New Issue
Block a user