fix Sammelrechnug

This commit is contained in:
2025-06-18 11:50:35 +02:00
parent 6a5caf837b
commit 493c8d5c5f
6 changed files with 62 additions and 43 deletions

View File

@@ -329,7 +329,7 @@ Public Class frmFaktEmail
Dim TextHTML = ""
If SammelrechungArt <> 6 Then
If RECHNUNG.Firma_ID <> 19 Then
If Firma_ID <> 19 Then
Select Case RechnungsLandKz
Case "TR"
@@ -352,7 +352,7 @@ Public Class frmFaktEmail
Else
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(1, "", RECHNUNG.Firma_ID)
Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(1, "", Firma_ID)
Dim mailText As String = ""
Dim spracheRechnung As String = "EN" 'Defaultsprache
@@ -379,7 +379,7 @@ Public Class frmFaktEmail
Dim KUNDE_ERW As New cKundenErweitert(KdNr)
If RECHNUNG.FilialenNr = 4817 And RECHNUNG.Firma_ID = 19 AndAlso RECHNUNG.ErfassungsNr IsNot Nothing Then
If RECHNUNG.FilialenNr = 4817 And Firma_ID = 19 AndAlso RECHNUNG.ErfassungsNr IsNot Nothing Then
Dim SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(RECHNUNG.FilialenNr, RECHNUNG.AbfertigungsNr, RECHNUNG.UnterNr)
If SPEDBUCH.hasEntry AndAlso (SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115) Then
Dim USTV_ANTRAG As New cUSTVAntrag(RECHNUNG.ErfassungsNr)

View File

@@ -3052,21 +3052,19 @@ Public Class usrCntlFaktAbrechnung
End Sub
Shared Sub setFixeTaxeMin(ByRef RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, ByRef minBetrag As Double, fixeTaxe As Double)
Dim FixeTaxe_Berechnungbetrag As Double = 0
' Bei Leistungs-Nr 440 und Berechnungs-Code-Nr 9 wird Fixe Taxe berechnet.
If Not leistungExistsInPos(RECHNUNG, 440, 9) Then Exit Sub 'Schauen, ob die Leistung in den Positionen vorhanden ist
If Not leistungExistsInPos(RECHNUNG, 441, 9) Then Exit Sub 'Schauen, ob die Leistung in den Positionen vorhanden ist
If (RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag) >= minBetrag Then Exit Sub
If fixeTaxe <= 0 Then Exit Sub
'Sucht, ob Fixetaxe schon vorhanden ist,...
Dim FixeTaxePOS = RECHNUNG.POSITIONEN.Find(Function(x) x.LeistungsNr = 440 And x.LeistungsBez = "Fixe Taxe" And x.BerechnungsartNr = 9)
Dim FixeTaxePOS = RECHNUNG.POSITIONEN.Find(Function(x) x.LeistungsNr = 441 And x.LeistungsBez = "Fixe Taxe" And x.BerechnungsartNr = 9)
'... sonst wird eine neue Pos eingefügt...
If FixeTaxePOS Is Nothing Then
FixeTaxePOS = New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen
FixeTaxePOS.LeistungsNr = 440
FixeTaxePOS.LeistungsNr = 441 '441 und nicht 440 laut Brigitte weil Steuerfrei!!
FixeTaxePOS.LeistungsBez = "Fixe Taxe"
FixeTaxePOS.BerechnungsartNr = 9
RECHNUNG.POSITIONEN.Add(FixeTaxePOS)

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.4.2.1")>
<Assembly: AssemblyFileVersion("1.4.2.1")>
<Assembly: AssemblyVersion("1.4.2.2")>
<Assembly: AssemblyFileVersion("1.4.2.2")>

View File

@@ -3621,7 +3621,7 @@ Public Class frmMDMDatenverarbetiung
Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen
Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen
Call usrCntlFaktAbrechnung.przBS415(RG) ' Bankspesen errechnen
Call usrCntlFaktAbrechnung.setFixeTaxeMin(RG, 500, 20) ' Fixe Taxe errechnen
Call usrCntlFaktAbrechnung.setFixeTaxeMin(RG, 500, 20) ' Fixe Taxe 441 errechnen
RE = RG

View File

@@ -46,6 +46,9 @@ Partial Class usrcntlFakturierung
Me.Button18 = New System.Windows.Forms.Button()
Me.Label44 = New System.Windows.Forms.Label()
Me.GBSammelrechnung = New System.Windows.Forms.GroupBox()
Me.btnFixeTaxe = New System.Windows.Forms.Button()
Me.Label11 = New System.Windows.Forms.Label()
Me.PictureBox6 = New System.Windows.Forms.PictureBox()
Me.lblAnzRE = New System.Windows.Forms.Label()
Me.Label10 = New System.Windows.Forms.Label()
Me.Label9 = New System.Windows.Forms.Label()
@@ -96,12 +99,11 @@ Partial Class usrcntlFakturierung
Me.btnRePos = New System.Windows.Forms.Button()
Me.Validation1 = New SDL.EORI.validation()
Me.btnWikiStatusmails = New System.Windows.Forms.Button()
Me.PictureBox6 = New System.Windows.Forms.PictureBox()
Me.Label11 = New System.Windows.Forms.Label()
Me.GroupBox1.SuspendLayout()
Me.GBMautberichte.SuspendLayout()
CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.GBSammelrechnung.SuspendLayout()
CType(Me.PictureBox6, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox10, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox8, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -111,7 +113,6 @@ Partial Class usrcntlFakturierung
CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox6, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'GroupBox1
@@ -342,6 +343,7 @@ Partial Class usrcntlFakturierung
'
'GBSammelrechnung
'
Me.GBSammelrechnung.Controls.Add(Me.btnFixeTaxe)
Me.GBSammelrechnung.Controls.Add(Me.Label11)
Me.GBSammelrechnung.Controls.Add(Me.PictureBox6)
Me.GBSammelrechnung.Controls.Add(Me.lblAnzRE)
@@ -399,6 +401,37 @@ Partial Class usrcntlFakturierung
Me.GBSammelrechnung.TabIndex = 14
Me.GBSammelrechnung.TabStop = False
'
'btnFixeTaxe
'
Me.btnFixeTaxe.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnFixeTaxe.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.btnFixeTaxe.Location = New System.Drawing.Point(744, 185)
Me.btnFixeTaxe.Name = "btnFixeTaxe"
Me.btnFixeTaxe.Size = New System.Drawing.Size(107, 32)
Me.btnFixeTaxe.TabIndex = 126
Me.btnFixeTaxe.Text = "FT berechnen"
Me.btnFixeTaxe.UseVisualStyleBackColor = True
Me.btnFixeTaxe.Visible = False
'
'Label11
'
Me.Label11.Location = New System.Drawing.Point(168, 156)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(440, 17)
Me.Label11.TabIndex = 125
Me.Label11.Text = "6. Fixe Taxe 20€ (bei Belegsumme < 500) berechnen"
'
'PictureBox6
'
Me.PictureBox6.BackgroundImage = CType(resources.GetObject("PictureBox6.BackgroundImage"), System.Drawing.Image)
Me.PictureBox6.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.PictureBox6.Location = New System.Drawing.Point(148, 157)
Me.PictureBox6.Name = "PictureBox6"
Me.PictureBox6.Size = New System.Drawing.Size(14, 14)
Me.PictureBox6.TabIndex = 124
Me.PictureBox6.TabStop = False
Me.PictureBox6.Visible = False
'
'lblAnzRE
'
Me.lblAnzRE.AutoSize = True
@@ -909,25 +942,6 @@ Partial Class usrcntlFakturierung
Me.btnWikiStatusmails.TabIndex = 72
Me.btnWikiStatusmails.UseVisualStyleBackColor = True
'
'PictureBox6
'
Me.PictureBox6.BackgroundImage = CType(resources.GetObject("PictureBox6.BackgroundImage"), System.Drawing.Image)
Me.PictureBox6.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.PictureBox6.Location = New System.Drawing.Point(148, 157)
Me.PictureBox6.Name = "PictureBox6"
Me.PictureBox6.Size = New System.Drawing.Size(14, 14)
Me.PictureBox6.TabIndex = 124
Me.PictureBox6.TabStop = False
Me.PictureBox6.Visible = False
'
'Label11
'
Me.Label11.Location = New System.Drawing.Point(168, 156)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(440, 17)
Me.Label11.TabIndex = 125
Me.Label11.Text = "6. Fixe Taxe"
'
'usrcntlFakturierung
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -948,6 +962,7 @@ Partial Class usrcntlFakturierung
CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).EndInit()
Me.GBSammelrechnung.ResumeLayout(False)
Me.GBSammelrechnung.PerformLayout()
CType(Me.PictureBox6, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox10, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox8, System.ComponentModel.ISupportInitialize).EndInit()
@@ -957,7 +972,6 @@ Partial Class usrcntlFakturierung
CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox6, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -1036,4 +1050,5 @@ Partial Class usrcntlFakturierung
Friend WithEvents Label10 As Label
Friend WithEvents Label11 As Label
Friend WithEvents PictureBox6 As PictureBox
Friend WithEvents btnFixeTaxe As Button
End Class

View File

@@ -325,8 +325,8 @@ Public Class usrcntlFakturierung
Rechnungsausgang.Währungscode,
isnull(Rechnungsausgang.[Steuersatz %],0) as [Steuersatz %],
cast(Rechnungsausgang.Lastschrift as bit) as Lastschrift,
SUM(CASE WHEN LeistungsNr = 440 and LeistungsBez <> 'Fixe Taxe' THEN Anzahl ELSE 0 END) AS AnzahlPP,
SUM(CASE WHEN LeistungsNr = 440 and LeistungsBez = 'Fixe Taxe' THEN 0 ELSE SteuerpflichtigerBetrag + SteuerfreierBetrag END) AS BetragExclusivPP
SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) AS AnzahlPP,
SUM(CASE WHEN LeistungsNr = 440 THEN 0 ELSE SteuerpflichtigerBetrag + SteuerfreierBetrag END) AS BetragExclusivPP
FROM
Rechnungsausgang
INNER JOIN
@@ -348,7 +348,7 @@ Public Class usrcntlFakturierung
Rechnungsausgang.[Steuersatz %],
Rechnungsausgang.Lastschrift
HAVING
SUM(CASE WHEN LeistungsNr = 440 and LeistungsBez <> 'Fixe Taxe' THEN Anzahl ELSE 0 END) > 0
SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) > 0
ORDER BY
Rechnungsausgang.Firma_ID,
Rechnungsausgang.Status,
@@ -426,7 +426,7 @@ Public Class usrcntlFakturierung
Dim dtREPOSANZ As DataTable = (New SQL).loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing], Anzahl, SteuerpflichtigerBetrag, SteuerfreierBetrag,upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 440 and And RechnungsausgangPositionen.LeistungsBez <> 'Fixe Taxe'", "FMZOLL")
Dim dtREPOSANZ As DataTable = (New SQL).loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing], Anzahl, SteuerpflichtigerBetrag, SteuerfreierBetrag,upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 440", "FMZOLL")
If dtREPOSANZ.Rows.Count > 0 Then
@@ -497,8 +497,8 @@ Public Class usrcntlFakturierung
Rechnungsausgang.Währungscode,
isnull(Rechnungsausgang.[Steuersatz %],0) as [Steuersatz %],
cast(Rechnungsausgang.Lastschrift as bit) as Lastschrift,
SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) AS AnzahlFT,
SUM(CASE WHEN LeistungsNr = 440 THEN 0 ELSE SteuerpflichtigerBetrag + SteuerfreierBetrag END) AS BetragExclusivFT
SUM(CASE WHEN LeistungsNr = 441 THEN Anzahl ELSE 0 END) AS AnzahlFT,
SUM(CASE WHEN LeistungsNr = 441 THEN 0 ELSE SteuerpflichtigerBetrag + SteuerfreierBetrag END) AS BetragExclusivFT
FROM
Rechnungsausgang
INNER JOIN
@@ -520,7 +520,7 @@ Public Class usrcntlFakturierung
Rechnungsausgang.[Steuersatz %],
Rechnungsausgang.Lastschrift
HAVING
SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) > 0
SUM(CASE WHEN LeistungsNr = 441 THEN Anzahl ELSE 0 END) > 0
ORDER BY
Rechnungsausgang.Firma_ID,
Rechnungsausgang.Status,
@@ -598,7 +598,7 @@ Public Class usrcntlFakturierung
Dim dtREPOSANZ As DataTable = (New SQL).loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing], Anzahl, SteuerpflichtigerBetrag, SteuerfreierBetrag,upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 440 and RechnungsausgangPositionen.LeistungsBez= 'Fixe Taxe'", "FMZOLL")
Dim dtREPOSANZ As DataTable = (New SQL).loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing], Anzahl, SteuerpflichtigerBetrag, SteuerfreierBetrag,upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 441", "FMZOLL")
If dtREPOSANZ.Rows.Count > 0 Then
@@ -1920,7 +1920,7 @@ Public Class usrcntlFakturierung
End Sub
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click, Button3.Click, btnREJdruck.Click, btnAbfdruck.Click
Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click, Button3.Click, btnREJdruck.Click, btnAbfdruck.Click, btnFixeTaxe.Click
Dim Sachbearbeiter = cboSachbearbeiter._value
Dim rechnungsdatum As Date = CDate(dtRechnungsdatum.Text)
@@ -1970,6 +1970,10 @@ Public Class usrcntlFakturierung
AbfVerbotExcel(Sachbearbeiter, rechnungsdatum, kdNr)
Case "btnFixeTaxe"
showPic(FixeTaxe(Sachbearbeiter, rechnungsdatum, kdNr), PictureBox6)
End Select
@@ -2183,4 +2187,6 @@ Public Class usrcntlFakturierung
Dim webAddress As String = "https://wiki.verag.ag/software/sdl/sammelrechnung"
Process.Start(webAddress)
End Sub
End Class