MDM -> EU, NICHT EU Kunde MWST Kopie

This commit is contained in:
2025-03-11 13:18:48 +01:00
parent 6a65ef2926
commit 4c92ab9747
4 changed files with 40 additions and 78 deletions

View File

@@ -1,6 +1,4 @@
Imports System.IO
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports GrapeCity.DataVisualization.Chart
Imports Microsoft.Office.Interop
Public Class frmAbrechnungsMaske
@@ -78,7 +76,8 @@ Public Class frmAbrechnungsMaske
cboFirma.changeItem("1")
cboSachbearbeiter.fillWithSQL("SELECT [mit_username] FROM [tblMitarbeiter] where mit_firma IN ('VERAG'" & If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = "ADMIN", ",'ALL'", "") & ") and mit_gekuendigt=0 AND (mit_abteilung IN ('VRR','BH') OR [mit_id] IN (SELECT [beroz_bergrId] FROM [tblBerechtigungsObjekteZuordnung] where [beroz_beroId]=90 AND beroz_art='B')) order by mit_username", False, "ADMIN", True)
cboSachbearbeiter.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("*BAUBÖCK", "BAUBOECK"))
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then cboSachbearbeiter.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DANIEL", "DANIEL"))
cboSachbearbeiter.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DANIEL", "DANIEL"))
Else
Dim whereFirma = " AND FIRMENGRUPPE IN ('VERAG','VERAGUNISPED','FRONTOFFICE','ATILLA') "

View File

@@ -121,7 +121,7 @@ Public Class frmFaktSammelRgDrucken
.Columns("LKW").Width = 80
End If
If .Columns.Contains("RechnungsLandKz") AndAlso Sammelrechung Then
If .Columns.Contains("RechnungsLandKz") AndAlso Sammelrechung = 6 Then
.Columns("RechnungsLandKz").Visible = True
End If
@@ -306,30 +306,32 @@ Public Class frmFaktSammelRgDrucken
RG_DRUCK = 5
End If
'AKTUELL IMMER MIT KOPIE
Dim MDMKopiedrucken As Boolean = True
Dim MDMKopiedrucken As Boolean = False
Dim reLandKZ As String = MyDatagridview1.Rows(0).Cells("RechnungsLandKz").Value
Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = reLandKZ).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault()
'1. Schritt KOPIE generell außer ORIGINALE AN NICHT MWST-Kunden
If isEU Then
If MyDatagridview1.Columns.Contains("keineMWST") Then
If MyDatagridview1.SelectedRows.Count = 1 Then
'wenn kein MWST-Kunde, bekommt er Original-RE!
MDMKopiedrucken = Not MyDatagridview1.SelectedRows(0).Cells("keineMWST").Value
If Sammelrechung = 6 Then 'MDMSammelrechnung
'AKTUELL IMMER MIT KOPIE
MDMKopiedrucken = True
Dim reLandKZ As String = MyDatagridview1.Rows(0).Cells("RechnungsLandKz").Value
Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = reLandKZ).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault()
If isEU Then
If MyDatagridview1.Columns.Contains("keineMWST") Then
If MyDatagridview1.SelectedRows.Count = 1 Then
'1. Schritt: kein MWST Kunde -> ORIGINAL-RE
MDMKopiedrucken = Not MyDatagridview1.SelectedRows(0).Cells("keineMWST").Value
End If
End If
'2. Schritt: MWST Kunde -> wenn ohne MWST-BEtrag ->Original sonst Kopie!
If MDMKopiedrucken Then
MDMKopiedrucken = CDbl(MyDatagridview1.SelectedRows(0).Cells("Steuer").Value) <> 0
End If
Else
'NICHT EU IST SCHON IM CntlFakt geregelt, d.b. NICHT EU IMMER MIT KOPIE!!!!
End If
'2. Schritt MWST Kunde -> wenn ohne MWST-BEtrag ->Original sonst Kopie!
If MDMKopiedrucken Then
MDMKopiedrucken = CDbl(MyDatagridview1.SelectedRows(0).Cells("Steuer").Value) <> 0
End If
Else
End If
Dim f As New frmFaktEmail(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, RG_DRUCK, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr_Simple, -1, Nothing, cboSB._value,, getAvisoIds, cbxEVOLOG.Checked, cbxTransFerry.Checked, cboFaktGrp._value, cboAbfertigungsart._value, MDMKopiedrucken)
f.ShowDialog(Me)
MyDatagridview1.GetOrder()

View File

@@ -823,8 +823,9 @@ Public Class usrCntlOfferte
Dim dtKostenkalk As DataTable = (New SQL).loadDgvBySql(sqlKostenkalk, "FMZOLL")
If dtKostenkalk.Rows.Count <= 0 Then
If dtKostenkalk.Rows.Count < 1 Then
MsgBox("keine Daten!")
Me.Cursor = Cursors.Default
Exit Sub
End If
@@ -849,7 +850,6 @@ Public Class usrCntlOfferte
End While
My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation, False)
Catch ex As System.Exception
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Me.Cursor = Cursors.Default
@@ -876,6 +876,7 @@ Public Class usrCntlOfferte
If IsDate(row("Datum")) Then
Select Case CDate(row("Datum")).Year
'Berechnungssätze laut Johanna Luxbauer
Case 2018 : Blatt.Range("D" & currentRow).Value = 0.3387
Case 2019 : Blatt.Range("D" & currentRow).Value = 0.3048
Case 2020 : Blatt.Range("D" & currentRow).Value = 0.2792
@@ -895,16 +896,9 @@ Public Class usrCntlOfferte
Next
Datei.Save
.Visible = True
If False Then
Blatt.PrintOutEx()
Else
'Process.Start(Path)
.Visible = True
End If
End With
End If

View File

@@ -188,60 +188,18 @@ Public Class usrcntlFakturierung
group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsausgangAnhaenge.Bezeichnung ", "FMZOLL",, 0)
If rechnungenMitGesamtmautanhantPDF <> "" Then
MsgBox("Bei " & rechnungenMitGesamtmautanhantPDF & " Rechnungen befindet sich noch eine PDF-Gesamtmaut" & vbNewLine & "Diesen bitte vorher entfernen über MAUTBERICHTE ENTFERNEN " & vbNewLine & "Vorang wird abgebrochen!")
MsgBox("Bei " & rechnungenMitGesamtmautanhantPDF & " Rechnungen befindet sich noch eine PDF-Gesamtmaut" & vbNewLine & "Diesen bitte vorher entfernen über MAUTBERICHTE ENTFERNEN, weil erst im Zuge der RE-Pos-Berechnung die Gesamtmaut angehängt wird." & vbNewLine & "Vorang wird abgebrochen!")
Exit Sub
End If
If rechnungenMitGesamtmautanhantCSV <> "" Then
MsgBox("Bei " & rechnungenMitGesamtmautanhantCSV & " Rechnungen befindet sich noch eine CSV-Gesamtmaut" & vbNewLine & "Diesen bitte vorher entfernen über MAUTBERICHTE ENTFERNEN " & vbNewLine & "Vorang wird abgebrochen!")
MsgBox("Bei " & rechnungenMitGesamtmautanhantCSV & " Rechnungen befindet sich noch eine CSV-Gesamtmaut" & vbNewLine & "Diesen bitte vorher entfernen über MAUTBERICHTE ENTFERNEN, weil erst im Zuge der RE-Pos-Berechnung die Gesamtmaut angehängt wird." & vbNewLine & "Vorang wird abgebrochen!")
Exit Sub
End If
'---------------DONE
' ' Sachbearbeiter im RK eintragen.
'140 Call SysCmd(acSysCmdSetStatus, "Sachbearbeiter im RK eintragen...")
'150 Call ReDruSchnSachbearbeiter
'Update [Rechnungsausgang] SET [Sachbearbeiter] = @Sachbearbeiter WHERE([Firma_ID] = 1 Or [Firma_ID] = 15) And [Status] = 0 And [Sammelrechnung] = 6 And [Sachbearbeiter] <> @Sachbearbeiter And (SteuerpflichtigerGesamtbetrag <> 0 Or SteuerfreierGesamtbetrag <> 0);
'---------------DONE
' ' Firma_ID im RK eintragen.
'180 Call SysCmd(acSysCmdSetStatus, "Firma_ID im RK eintragen...")
'190 Call ReDruSchnFirma_ID
'Update [Rechnungsausgang] SET [Firma_ID] = @Firma_ID WHERE [Firma_ID] <> @Firma_ID And [Status] = 0 And [Sammelrechnung] = 6 And [Sachbearbeiter] = @Sachbearbeiter And (SteuerpflichtigerGesamtbetrag <> 0 Or SteuerfreierGesamtbetrag <> 0);
' ' Rechnung oder Gutschrift im RK eintragen.
'220 Call SysCmd(acSysCmdSetStatus, "Re/Gu im RK eintragen...")
'230 Call ReDruSumReGu
'---------------DONE
' ' Rechnungstext im RK eintragen.
'260 Call SysCmd(acSysCmdSetStatus, "Text im RK eintragen...")
'270 Call Rechnungstext
'---------------DONE
' ' Porto/Papiere berechnen.
'300 Call SysCmd(acSysCmdSetStatus, "Porto/Papiere berechnen...")
'310 Call ReDruSchnPP
'---------------DONE
' ' Banküberweisung/Bankspesen berechnen
'340 Call SysCmd(acSysCmdSetStatus, "Banküberweisung/Bankspesen berechnen...")
'350 Call ReDruSchnBB
' ' Druckinformationen im RK eintragen----- ALTER..........
'380 Call SysCmd(acSysCmdSetStatus, "Druckinformationen im RK eintragen...")
'390 varDatumZeit = Now 'Druckdatum/Uhrzeit merken.
' ' Parameter übergeben: Firma_ID, Status, Sammelrechnung, Sachbearbeiter, Buchungsjahr, Rechnungsdatum, DruckDatumZeit.
'400 strParameter = ParameterBereitstellen(Me![Firma_ID], 0, 6, Me![fldSachbearbeiter], Year(Me!fldRechnungsDatum), Me![fldRechnungsDatum], varDatumZeit)
'410 Set qdf = dbs.CreateQueryDef("")
'es sollen alle RE der letzen 3 Monate gesetzt werden (warum, weil das schon immer so war....)
'ok = SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='" & Sachbearbeiter & "' where Sammelrechnung=6 and Firma_ID=19 and Abfertigungsdatum = '" & dtRechnungsdatum.Value & "'", "FMZOLL")
@@ -252,6 +210,15 @@ Public Class usrcntlFakturierung
If Not ok Then Exit Sub
Dim rechnungenMitAbwAbfDat As Integer = CInt((New SQL).getValueTxtBySqlVarList("SELECT COUNT(*) FROM Rechnungsausgang
WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) <> '" & rechnungsdatum & "'", "FMZOLL",, 0))
If rechnungenMitAbwAbfDat > 0 Then
If Not vbYes = MsgBox("Es gibt noch " & rechnungenMitAbwAbfDat & " Rechnungen mit abweichenden Abfertigungsdatum (Abfertigungsdatum ist nicht " & rechnungsdatum & ")" & vbNewLine & "Möchten Sie trotzdem fortfahren?", vbYesNoCancel) Then Exit Sub
End If
Dim dtREGU As DataTable = SQL.loadDgvBySql("SELECT [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], isnull([Steuersatz %],0) as [Steuersatz %], cast([Lastschrift] as bit) as Lastschrift, Sum([SteuerpflichtigerGesamtbetrag]+[SteuerfreierGesamtbetrag]) AS Sammelrechnungsbetrag
FROM Rechnungsausgang
WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
@@ -1033,7 +1000,7 @@ Public Class usrcntlFakturierung
Else
If rowRE("keinMWSTKunde") Then
'kein MWST Kunde -> OROGINAL-RE
'kein MWST Kunde -> ORIGINAL-RE
cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked, False)
Else
'MWST Kunde -> wenn ohne MWST-BEtrag ->Original sonst Kopie!
@@ -1522,7 +1489,7 @@ Public Class usrcntlFakturierung
.Columns.Clear()
.SET_SQL("SELECT [Datenquelle] as Lieferant,format(sum([Net Amount]),'#,#.00', 'de-de') as Netto,format(sum([VAT Amount]), '#,#.00', 'de-de') as VAT,format(sum([Total Amount]), '#,#.00', 'de-de') as Brutto
.SET_SQL("SELECT [Datenquelle] as Lieferant,sum([Net Amount]) as Netto,sum([VAT Amount]) as VAT,sum([Total Amount]) as Brutto
FROM [VERAG].[dbo].[tblMautbericht]
where cast([Billingdate] as date) = '" & cbxDateMautbericht._value & "'
group by [Datenquelle]", "FMZOLL")
@@ -1689,7 +1656,7 @@ Public Class usrcntlFakturierung
sammelrechnung0vorhanden = checkIfStatus0Sammelrechnugnenvorhanden(cboSachbearbeiter._value, CDate(dtRechnungsdatum.Text))
'Button19.Enabled = sammelrechnung0vorhanden wenn RE bereits Status 2 wird sie nur gedruckt!!!!
Button14.Enabled = sammelrechnung0vorhanden
Button14.Enabled = True 'sammelrechnung0vorhanden
Button20.Enabled = sammelrechnung0vorhanden
End Sub