MDM Plose Abrechnung

This commit is contained in:
2024-06-06 22:23:51 +02:00
parent 12a4d9f852
commit 4082808ef7
5 changed files with 141 additions and 13 deletions

View File

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

View File

@@ -44,6 +44,10 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung
Me.cbxAVM = New System.Windows.Forms.CheckBox() Me.cbxAVM = New System.Windows.Forms.CheckBox()
Me.cboFreigabeArt = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.cboFreigabeArt = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.cboFreigabeArtExport = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.cboFreigabeArtExport = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.rtbLkwStatusMail = New System.Windows.Forms.RichTextBox()
Me.FlatButton5 = New VERAG_PROG_ALLGEMEIN.FlatButton()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.SuspendLayout() Me.SuspendLayout()
' '
'cboFreigabe_SteuerbescheidBedingung 'cboFreigabe_SteuerbescheidBedingung
@@ -55,7 +59,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung
Me.cboFreigabe_SteuerbescheidBedingung.FormattingEnabled = True Me.cboFreigabe_SteuerbescheidBedingung.FormattingEnabled = True
Me.cboFreigabe_SteuerbescheidBedingung.Location = New System.Drawing.Point(367, 138) Me.cboFreigabe_SteuerbescheidBedingung.Location = New System.Drawing.Point(367, 138)
Me.cboFreigabe_SteuerbescheidBedingung.Name = "cboFreigabe_SteuerbescheidBedingung" Me.cboFreigabe_SteuerbescheidBedingung.Name = "cboFreigabe_SteuerbescheidBedingung"
Me.cboFreigabe_SteuerbescheidBedingung.Size = New System.Drawing.Size(98, 21) Me.cboFreigabe_SteuerbescheidBedingung.Size = New System.Drawing.Size(86, 21)
Me.cboFreigabe_SteuerbescheidBedingung.TabIndex = 52 Me.cboFreigabe_SteuerbescheidBedingung.TabIndex = 52
' '
'cbxFreigabe_VBD 'cbxFreigabe_VBD
@@ -312,11 +316,59 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung
Me.cboFreigabeArtExport.Size = New System.Drawing.Size(68, 21) Me.cboFreigabeArtExport.Size = New System.Drawing.Size(68, 21)
Me.cboFreigabeArtExport.TabIndex = 64 Me.cboFreigabeArtExport.TabIndex = 64
' '
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label2.Location = New System.Drawing.Point(3, 178)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(58, 13)
Me.Label2.TabIndex = 68
Me.Label2.Text = "Statusmail:"
'
'rtbLkwStatusMail
'
Me.rtbLkwStatusMail.BackColor = System.Drawing.Color.White
Me.rtbLkwStatusMail.BorderStyle = System.Windows.Forms.BorderStyle.None
Me.rtbLkwStatusMail.Location = New System.Drawing.Point(88, 178)
Me.rtbLkwStatusMail.Name = "rtbLkwStatusMail"
Me.rtbLkwStatusMail.ReadOnly = True
Me.rtbLkwStatusMail.Size = New System.Drawing.Size(184, 59)
Me.rtbLkwStatusMail.TabIndex = 66
Me.rtbLkwStatusMail.Text = ""
'
'FlatButton5
'
Me.FlatButton5.allowBorder = False
Me.FlatButton5.BackgroundImage = Global.SDL.My.Resources.Resources.stift
Me.FlatButton5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.FlatButton5.FlatAppearance.BorderSize = 0
Me.FlatButton5.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.FlatButton5.ForeColor = System.Drawing.Color.Black
Me.FlatButton5.Location = New System.Drawing.Point(67, 174)
Me.FlatButton5.Name = "FlatButton5"
Me.FlatButton5.Size = New System.Drawing.Size(20, 20)
Me.FlatButton5.TabIndex = 67
Me.FlatButton5.UseVisualStyleBackColor = True
'
'Panel1
'
Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Panel1.Location = New System.Drawing.Point(6, 165)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(460, 1)
Me.Panel1.TabIndex = 69
'
'usrCntlKundenAvisoMailBenachrichtigung 'usrCntlKundenAvisoMailBenachrichtigung
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.AutoScroll = True
Me.BackColor = System.Drawing.Color.White Me.BackColor = System.Drawing.Color.White
Me.Controls.Add(Me.Panel1)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.rtbLkwStatusMail)
Me.Controls.Add(Me.FlatButton5)
Me.Controls.Add(Me.cboFreigabeArtExport) Me.Controls.Add(Me.cboFreigabeArtExport)
Me.Controls.Add(Me.cboFreigabeArt) Me.Controls.Add(Me.cboFreigabeArt)
Me.Controls.Add(Me.cbxAVM) Me.Controls.Add(Me.cbxAVM)
@@ -340,7 +392,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung
Me.Controls.Add(Me.FlatButton2) Me.Controls.Add(Me.FlatButton2)
Me.Controls.Add(Me.FlatButton3) Me.Controls.Add(Me.FlatButton3)
Me.Name = "usrCntlKundenAvisoMailBenachrichtigung" Me.Name = "usrCntlKundenAvisoMailBenachrichtigung"
Me.Size = New System.Drawing.Size(479, 164) Me.Size = New System.Drawing.Size(479, 245)
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout() Me.PerformLayout()
@@ -368,4 +420,8 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung
Friend WithEvents cbxAVM As CheckBox Friend WithEvents cbxAVM As CheckBox
Friend WithEvents cboFreigabeArt As VERAG_PROG_ALLGEMEIN.MyComboBox Friend WithEvents cboFreigabeArt As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents cboFreigabeArtExport As VERAG_PROG_ALLGEMEIN.MyComboBox Friend WithEvents cboFreigabeArtExport As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents Label2 As Label
Friend WithEvents rtbLkwStatusMail As RichTextBox
Friend WithEvents FlatButton5 As VERAG_PROG_ALLGEMEIN.FlatButton
Friend WithEvents Panel1 As Panel
End Class End Class

View File

@@ -146,12 +146,14 @@
rtbLKWFreigabe.Text = "" rtbLKWFreigabe.Text = ""
RichTextBox1.Text = "" RichTextBox1.Text = ""
RichTextBox2.Text = "" RichTextBox2.Text = ""
rtbLkwStatusMail.Text = ""
If KUNDE IsNot Nothing AndAlso KUNDE.KundenNr > 0 Then If KUNDE IsNot Nothing AndAlso KUNDE.KundenNr > 0 Then
Dim EMAIL_ANKUNFT = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(KUNDE.KundenNr, 1) Dim EMAIL_ANKUNFT = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(KUNDE.KundenNr, 1)
Dim EMAIL_FREIGABE = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(KUNDE.KundenNr, 2) Dim EMAIL_FREIGABE = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(KUNDE.KundenNr, 2)
Dim EMAIL_ANKUNFT_EXPORT = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(KUNDE.KundenNr, 3) Dim EMAIL_ANKUNFT_EXPORT = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(KUNDE.KundenNr, 3)
Dim EMAIL_FREIGABE_EXPORT = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(KUNDE.KundenNr, 4) Dim EMAIL_FREIGABE_EXPORT = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(KUNDE.KundenNr, 4)
Dim EMAIL_STATUS = New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList(KUNDE.KundenNr, 5)
For Each l In EMAIL_ANKUNFT.LIST For Each l In EMAIL_ANKUNFT.LIST
If l.eb_cc Then If l.eb_cc Then
rtbLkwAnkunf.Text &= l.eb_EMail & " (CC)" & vbNewLine rtbLkwAnkunf.Text &= l.eb_EMail & " (CC)" & vbNewLine
@@ -189,6 +191,15 @@
RichTextBox1.Text &= l.eb_EMail & vbNewLine RichTextBox1.Text &= l.eb_EMail & vbNewLine
End If End If
Next Next
For Each l In EMAIL_STATUS.LIST
If l.eb_cc Then
rtbLkwStatusMail.Text &= l.eb_EMail & " (CC)" & vbNewLine
ElseIf l.eb_bcc Then
rtbLkwStatusMail.Text &= l.eb_EMail & " (BCC)" & vbNewLine
Else
rtbLkwStatusMail.Text &= l.eb_EMail & vbNewLine
End If
Next
End If End If
End Sub End Sub
@@ -228,5 +239,9 @@
loadEmails() loadEmails()
End Sub End Sub
Private Sub FlatButton5_Click(sender As Object, e As EventArgs) Handles FlatButton5.Click
Dim f As New frmEmailBenachrichtigung(KUNDE.KundenNr, 5)
f.ShowDialog(Me)
loadEmails()
End Sub
End Class End Class

View File

@@ -1969,8 +1969,11 @@ Public Class frmMDMDatenverarbetiung
RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum) RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum)
'RG.LOAD_POSITIONEN() Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0
' RG.LOAD_POSITIONEN_FROM_OFFERTE(OFFERTE)
Dim sqlstr As String = "" Dim sqlstr As String = ""
sqlstr &= " SELECT [plp_LeistungsNr],sum([plose_NettobetragWaehrungAbbuchung]) as plose_NettobetragWaehrungAbbuchung,sum([plose_MWSTBetragWaehrungAbbuchung]) as [plose_MWSTBetragWaehrungAbbuchung],sum([plose_BruttobetragWaehrungAbbuchung]) as [plose_BruttobetragWaehrungAbbuchung] " sqlstr &= " SELECT [plp_LeistungsNr],sum([plose_NettobetragWaehrungAbbuchung]) as plose_NettobetragWaehrungAbbuchung,sum([plose_MWSTBetragWaehrungAbbuchung]) as [plose_MWSTBetragWaehrungAbbuchung],sum([plose_BruttobetragWaehrungAbbuchung]) as [plose_BruttobetragWaehrungAbbuchung] "
@@ -1996,7 +1999,6 @@ Public Class frmMDMDatenverarbetiung
Dim BruttoBetrag As Double = r("plose_BruttobetragWaehrungAbbuchung") Dim BruttoBetrag As Double = r("plose_BruttobetragWaehrungAbbuchung")
Dim LeistungsNr As Integer = r("plp_LeistungsNr") Dim LeistungsNr As Integer = r("plp_LeistungsNr")
Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
allPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) allPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag)
@@ -2249,6 +2251,12 @@ Public Class frmMDMDatenverarbetiung
For Each o In OFFERTE.POSITIONEN For Each o In OFFERTE.POSITIONEN
If o.LeistungsNr = LeistungsNr Then If o.LeistungsNr = LeistungsNr Then
'Dim PARK = RECHNUNG.POSITIONEN.FindAll(Function(x) (x.LeistungsNr = 313 Or x.LeistungsNr = 312))
'If PARK Is Nothing Then
'End If
Dim POS As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen() Dim POS As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen()
Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(o.LeistungsNr) Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(o.LeistungsNr)
POS.LeistungsNr = o.LeistungsNr POS.LeistungsNr = o.LeistungsNr

View File

@@ -1,7 +1,8 @@
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.Reflection Imports System.Reflection
Imports System.Windows.Forms Imports System.Windows.Forms
Imports DocumentFormat.OpenXml.Spreadsheet 'Imports DocumentFormat.OpenXml.Drawing.Charts
'Imports DocumentFormat.OpenXml.Spreadsheet
Public Class cRechnungsausgangLIST Public Class cRechnungsausgangLIST
@@ -693,16 +694,64 @@ Public Class cRechnungsausgang
MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try End Try
End Sub End Sub
Public Sub LOAD_OFFERT_POSITIONEN(kdNr)
Public Sub LOAD_POSITIONEN_FROM_OFFERTE(OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte)
For Each O In OFFERTE.POSITIONEN
'If row("Anzahl") > 0 Then -->SQL
Dim l As New cRechnungsausgangPositionen
l.LeistungsNr = O.LeistungsNr
l.LeistungsBez = O.LeistungsBez
l.Anzahl = O.Anzahl
l.Preis = O.Preis
l.BerechnungsartNr = O.BerechnungsartNr
l.BGebLeistungsNr = O.BGebLeistungsNr
l.BGebProzent = O.BGebProzent
l.BGebMinBetrag = O.BGebMinBetrag
' l.Steuerpflichtig = O.ste
l.RK_ID = Me.RK_ID
POSITIONEN.Add(l)
' End If
Next
End Sub
Public Sub LOAD_OFFERT_POSITIONEN()
Try Try
' POSITIONEN.Clear() ' POSITIONEN.Clear()
Dim dt As DataTable = SQL.loadDgvBySql(" SELECT [Offertenpositionen].[LeistungsNr],[Offertenpositionen].[LeistungsBez],[Anzahl],[Preis],[Offertenpositionen].[BerechnungsartNr],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],Steuerpflichtig/*,[Geändert am],[Sachbearbeiter]*/,BerechnungsartPosInkludiert " & Dim dt = SQL.loadDgvBySql(" Select [Offertenpositionen].[LeistungsNr],[Offertenpositionen].[LeistungsBez],[Anzahl],[Preis],[Offertenpositionen].[BerechnungsartNr],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],Steuerpflichtig/*,[Geändert am],[Sachbearbeiter]*/,BerechnungsartPosInkludiert
" FROM [Offertenpositionen] INNER JOIN [Leistungen] ON leistungen.LeistungsNr=Offertenpositionen.LeistungsNr" & From [Offertenpositionen] INNER Join [Leistungen] On Leistungen.LeistungsNr=Offertenpositionen.LeistungsNr
" WHERE KundenNr='" & kdNr & "' and OffertenNr='" & OffertenNr & "' ORDER BY LeistungsNr ", "FMZOLL") Where KundenNr ='" & Me.RechnungsKundenNr & "' and OffertenNr='" & OffertenNr & "' AND Anzahl>0 AND Preis>0 ORDER BY LeistungsNr", "FMZOLL")
For Each row In dt.Rows For Each row In dt.Rows
'If row("Anzahl") > 0 Then -->SQL
Dim l As New cRechnungsausgangPositionen
l.LeistungsNr = row("LeistungsNr")
l.LeistungsBez = row("LeistungsBez")
l.Anzahl = row("Anzahl")
l.Preis = row("Preis")
l.BerechnungsartNr = row("BerechnungsartNr")
l.BGebLeistungsNr = row("BGebLeistungsNr")
l.BGebProzent = row("BGebProzent")
l.BGebMinBetrag = row("BGebMinBetrag")
l.Steuerpflichtig = row("Steuerpflichtig")
'l.BGebBgl = l.Preis
If l.Steuerpflichtig Then
l.SteuerpflichtigerBetrag = l.Preis
l.Preis = l.Preis
Else
Dim steuersatz = SQL.DLookup("Steuertabelle.[Steuersatz %] ", "[Kunden] inner join Steuertabelle on Steuertabelle.Steuerschlüssel=kunden.Steuerschlüssel", "KundenNr='" & Me.RechnungsKundenNr & "'",, "0")
L.SteuerfreierBetrag = l.Preis + (l.Preis * steuersatz)
l.Preis = l.Preis + (l.Preis * steuersatz)
End If
l.RK_ID = Me.RK_ID
POSITIONEN.Add(l)
' End If
Next Next
Catch ex As Exception Catch ex As Exception