diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index 713ef9f6..e684a02a 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -2430,7 +2430,7 @@ Public Class usrCntlFaktAbrechnung Call przFixeTaxe(RECHNUNG) ' Fixe Taxe errechnen Call przPP(RECHNUNG) ' Porto/Papiere errechnen Call przBS415(RECHNUNG) ' Bankspesen errechnen - Call setFixeTaxeMin(RECHNUNG, 500, 20) ' Mind Fixe Taxe errechnen + 'Call setFixeTaxeMin(RECHNUNG, 500, 20) ' Mind Fixe Taxe errechnen 'Me![SteuerpflichtigerGesamtbetrag] = 0.0# 'Me![SteuerfreierGesamtbetrag] = 0.0# @@ -3069,24 +3069,27 @@ Public Class usrCntlFaktAbrechnung If FixeTaxe_Berechnungbetrag < 0 Then FixeTaxe_Berechnungbetrag *= -1 - If FixeTaxe_Berechnungbetrag < minBetrag Then - - 'Sucht, ob Fixetaxe schon vorhanden ist,... - Dim FixeTaxePOS = RECHNUNG.POSITIONEN.Find(Function(x) x.LeistungsNr = 441) - '... sonst wird eine neue Pos eingefügt... - If FixeTaxePOS IsNot Nothing Then - 'FixeTaxePOS = New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen - FixeTaxePOS.LeistungsNr = 441 '441 und nicht 440 laut Brigitte weil Steuerfrei!! - FixeTaxePOS.LeistungsBez = "P.P./Fixe Taxe" - FixeTaxePOS.BerechnungsartNr = 1 - 'RECHNUNG.POSITIONEN.Add(FixeTaxePOS) - '...und der Wert gesetzt. + 'Sucht, ob Fixetaxe schon vorhanden ist,... + Dim FixeTaxePOS = RECHNUNG.POSITIONEN.Find(Function(x) x.LeistungsNr = 441) + '... sonst wird eine neue Pos eingefügt... + If FixeTaxePOS IsNot Nothing Then + 'FixeTaxePOS = New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen + FixeTaxePOS.LeistungsNr = 441 '441 und nicht 440 laut Brigitte weil Steuerfrei!! + FixeTaxePOS.LeistungsBez = "P.P./Fixe Taxe" + FixeTaxePOS.BerechnungsartNr = 1 + 'RECHNUNG.POSITIONEN.Add(FixeTaxePOS) + '...und der Wert gesetzt. + If FixeTaxe_Berechnungbetrag < minBetrag Then FixeTaxePOS.Anzahl = 1 - FixeTaxePOS.Preis = getVorzeichen(RECHNUNG) * fixeTaxe 'Preis wird bewusst überschrieben!!! - - initSteuerbetraege(RECHNUNG, FixeTaxePOS) + Else + FixeTaxePOS.Anzahl = 0 End If + FixeTaxePOS.Preis = getVorzeichen(RECHNUNG) * fixeTaxe 'Preis wird bewusst überschrieben!!! + initSteuerbetraege(RECHNUNG, FixeTaxePOS) + End If + If FixeTaxePOS.Anzahl = 0 Then + RECHNUNG.POSITIONEN.Remove(FixeTaxePOS) End If diff --git a/SDL/buchhaltung/frmBU_Mahnlauf.vb b/SDL/buchhaltung/frmBU_Mahnlauf.vb index 84e250bd..ffd1812e 100644 --- a/SDL/buchhaltung/frmBU_Mahnlauf.vb +++ b/SDL/buchhaltung/frmBU_Mahnlauf.vb @@ -45,9 +45,9 @@ Public Class frmBU_Mahnlauf ORDER BY KTO.c_name" Dim sqlStringVerag360 = "SELECT i_personenkonto Konto,KTO.c_name, KTO.c_landid Land,Kunden.Abfertigungsverbot as AV,max(KTO.dec_aktuellersaldo) as Saldo,/*KTO.c_plz + ' ' + KTO.c_ort Ort,isnull(KTO.c_email,'') Email, */ " & - "sum(eur_bruttobetrag+eur_zahlung) as Ausstand,cast(max(d_rechnung)as date) as 'ältesteRg',/*min(op.d_netto) Faelligkeit,*/max(si_mahnstufe) as MS,max(Kunden.UStV_Summe3470BetragEUR) as '3470',max(Kunden.Versicherungssumme) as V, + "sum(eur_bruttobetrag+eur_zahlung) as Ausstand,cast(min(d_rechnung)as date) as 'ältesteRg',/*min(op.d_netto) Faelligkeit,*/max(si_mahnstufe) as MS,max(Kunden.UStV_Summe3470BetragEUR) as '3470',max(Kunden.Versicherungssumme) as V, - max(KTO.dec_aktuellersaldo) - isnull(CASE WHEN Max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) > max(Kunden.UStV_SummeErstattungsbetragEUR) THEN max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) - max(Kunden.UStV_SummeErstattungsbetragEUR) ELSE 0 END ,0) - isnull(max(Kunden.UStV_Summe3470BetragEUR),0) + isnull(max(Kunden.UStV_SummeVZBetragEUR),0) - isnull(max(Kunden.UStV_SummeVorschaubetragEUR),0) - isnull(CASE WHEN ISNULL(max(Kunden.BankgarantieGültigBis), GETDATE()) < GETDATE() THEN 0 ELSE ISNULL(max(Kunden.BankgarantieBetrag), 0) END,0) as Risiko, + (select(SUM(isnull(eur_bruttobetrag,0)+isnull(eur_zahlung)) from op_debitor as OP RIGHT join fibu_konto KTO on i_personenkonto=i_konto AND KTO.i_firm_refid=OP.i_firm_refid Where i_personenkonto ='" & KdNr & "' AND OP.i_firm_refid = '19' AND dt_geloescht IS NULL and isnull(si_mahnflags,0) <>(1)) - isnull(CASE WHEN Max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) > max(Kunden.UStV_SummeErstattungsbetragEUR) THEN max(Kunden.UStV_SummeUmsatzsteuerbetragEUR) - max(Kunden.UStV_SummeErstattungsbetragEUR) ELSE 0 END ,0) - isnull(max(Kunden.UStV_Summe3470BetragEUR),0) + isnull(max(Kunden.UStV_SummeVZBetragEUR),0) - isnull(max(Kunden.UStV_SummeVorschaubetragEUR),0) - isnull(CASE WHEN ISNULL(max(Kunden.BankgarantieGültigBis), GETDATE()) < GETDATE() THEN 0 ELSE ISNULL(max(Kunden.BankgarantieBetrag), 0) END,0) as Risiko, sum(case when OP.c_typ = 'g' then isnull(OP.eur_bruttobetrag, 0) + isnull(OP.eur_zahlung, 0) else 0 end) as Gutschrift, cast(MAX(d_mahnung)as date) Mahndatum, case diff --git a/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.Designer.vb b/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.Designer.vb index fdcff50e..e78f3bfd 100644 --- a/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.Designer.vb +++ b/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.Designer.vb @@ -366,9 +366,9 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.btnWikiStatusmails.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.btnWikiStatusmails.FlatAppearance.BorderSize = 0 Me.btnWikiStatusmails.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnWikiStatusmails.Location = New System.Drawing.Point(454, 3) + Me.btnWikiStatusmails.Location = New System.Drawing.Point(6, 25) Me.btnWikiStatusmails.Name = "btnWikiStatusmails" - Me.btnWikiStatusmails.Size = New System.Drawing.Size(25, 20) + Me.btnWikiStatusmails.Size = New System.Drawing.Size(32, 25) Me.btnWikiStatusmails.TabIndex = 70 Me.btnWikiStatusmails.UseVisualStyleBackColor = True ' diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index e68066c8..7ce6c346 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -1243,7 +1243,11 @@ Public Class frmMDMDatenverarbetiung Dim dirAnhang = IIf(test, utaParam.ANLAGEN & "TEST\", utaParam.ANLAGEN) If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True) For Each f In Directory.GetFiles(dirAnhang) - File.Delete(f) + Try + File.Delete(f) + Catch ex As Exception + + End Try Next End If If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang) @@ -1393,7 +1397,11 @@ Public Class frmMDMDatenverarbetiung Dim dirAnhang = IIf(test, mseParam.ANLAGEN & "TEST\", mseParam.ANLAGEN) & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test", "") & Now.ToShortDateString If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True) For Each f In Directory.GetFiles(dirAnhang) - File.Delete(f) + Try + File.Delete(f) + Catch ex As Exception + + End Try Next Else Directory.CreateDirectory(dirAnhang) @@ -1539,7 +1547,11 @@ Public Class frmMDMDatenverarbetiung Dim dirAnhang = IIf(test, idsParam.ANLAGEN & "TEST\", idsParam.ANLAGEN) & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test", "") & Now.ToShortDateString If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True) For Each f In Directory.GetFiles(dirAnhang) - File.Delete(f) + Try + File.Delete(f) + Catch ex As Exception + + End Try Next Else Directory.CreateDirectory(dirAnhang) @@ -3425,13 +3437,14 @@ Public Class frmMDMDatenverarbetiung Dim sqlstr As String = "" Dim useNettogesamtbetrag As Boolean = False + Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 + Select Case Lieferant Case "PLOSE" - Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) - - RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 - + '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) sqlstr &= " SELECT [plp_LeistungsNr],sum([plose_NettobetragWaehrungAbbuchung]) as plose_NettobetragWaehrungAbbuchung,sum([plose_MWSTBetragWaehrungAbbuchung]) as [plose_MWSTBetragWaehrungAbbuchung],sum([plose_BruttobetragWaehrungAbbuchung]) as [plose_BruttobetragWaehrungAbbuchung] " @@ -3451,13 +3464,13 @@ Public Class frmMDMDatenverarbetiung For Each r In dt.Rows Dim BLNr = r("plp_LeistungsNr") + 'Dim BProz = r("plose_BruttobetragWaehrungAbbuchung") Dim NettoBetrag As Double = r("plose_NettobetragWaehrungAbbuchung") Dim BruttoBetrag As Double = r("plose_BruttobetragWaehrungAbbuchung") Dim LeistungsNr As Integer = r("plp_LeistungsNr") - allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) 'Rückvergütung Consortio !! @@ -3483,7 +3496,9 @@ Public Class frmMDMDatenverarbetiung Dim NettoBetrag As Double = r("Netto") Dim BruttoBetrag As Double = r("Brutto") Dim LeistungsNr As Integer = r("LeistungsNr") - Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + + 'Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + 'RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) @@ -3504,14 +3519,17 @@ Public Class frmMDMDatenverarbetiung Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") - For Each r In dt.Rows + 'Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + 'RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 + For Each r In dt.Rows Dim NettoBetrag As Double = r("Netto") Dim BruttoBetrag As Double = r("Brutto") Dim UstBetrag As Double = BruttoBetrag = NettoBetrag Dim LeistungsNr As Integer = r("LeistungsNr") - Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + + allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag, UstBetrag) @@ -3537,13 +3555,17 @@ Public Class frmMDMDatenverarbetiung Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL", 1200) + 'Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + + 'RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 + For Each r In dt.Rows Dim NettoBetrag As Double = r("Netto") Dim BruttoBetrag As Double = r("Brutto") Dim UstBetrag As Double = r("UST") Dim LeistungsNr As Integer = r("LeistungsNr") - Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag, UstBetrag) @@ -3587,7 +3609,9 @@ Public Class frmMDMDatenverarbetiung Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL", 1200) + 'Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + 'RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 For Each r In dt.Rows @@ -3598,7 +3622,6 @@ Public Class frmMDMDatenverarbetiung Dim Rabatt As Double = r("SummevonRabattbetrag") Dim LeistungsNr As Integer = r("LeistungsNr") Dim LeistungsBez As String = r("LeistungsBez") - Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag - Rabatt, UstBetrag, LeistungsBez) 'bei IDS muss ebenfalls die LeistungsBez ident sein! @@ -3612,16 +3635,17 @@ Public Class frmMDMDatenverarbetiung RG.Steuersatz_Proz = dtSt.Rows(0)(0) End If + 'cFakturierung.setGesamtBetraege(RG,, useNettogesamtbetrag) + 'Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen -> NICHT NOTWENDIG WEIL 440 nicht FÜR Sammelrechnung verwendet wird! + 'Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen -> NICHT NOTWENDIG WEIL 440 nicht FÜR Sammelrechnung verwendet wird! + + Call usrCntlFaktAbrechnung.przBS415(RG) ' Bankspesen errechnen + Call usrCntlFaktAbrechnung.setFixeTaxeMin(RG, 500, 20) ' Fixe Taxe 441 errechnen cFakturierung.setGesamtBetraege(RG,, useNettogesamtbetrag) RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim - 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 441 errechnen - RE = RG If test Then @@ -3681,6 +3705,12 @@ Public Class frmMDMDatenverarbetiung POS.BGebProzent = o.BGebProzent POS.BGebMinBetrag = o.BGebMinBetrag + If POS.LeistungsNr = 441 Then + MsgBox("") + End If + + + RG.POSITIONEN.Add(POS) @@ -3753,6 +3783,12 @@ Public Class frmMDMDatenverarbetiung POS.Anzahl = 1 ' POS.BGebLeistungsNr = BGebLeistungsNr + + If POS.LeistungsNr = 441 Then + MsgBox("") + End If + + RG.POSITIONEN.Add(POS) End If diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index 43190619..d28b7491 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -44,6 +44,8 @@ Public Class usrcntlFakturierung 'PathMautberichte = "C:\Users\d.breimaier\Desktop\MDM\Mautgesamtberichte\" + Dim FaktAbt As Boolean = IIf(VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG("MDM_FAKTURIERUNG", "SDL") = 0, True, False) + countCSV = 0 countPDF = 0 If Directory.Exists(PathMautberichte) Then @@ -54,12 +56,12 @@ Public Class usrcntlFakturierung Next End If Else - MsgBox("Mautbericht-Pfad " & PathMautberichte & " nicht verfügbar!") + If FaktAbt Then MsgBox("Mautbericht-Pfad " & PathMautberichte & " nicht verfügbar!") End If lblAnzahlMautberichte.Text = countCSV + countPDF & "x Mautberichte (" & countCSV & "x CSV " & countPDF & "x PDF )" - If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG("MDM_FAKTURIERUNG", "SDL") = 0 Then + If FaktAbt Then btnMDMSammelrechnung.Enabled = True GBMautberichte.Enabled = True @@ -285,8 +287,10 @@ Public Class usrcntlFakturierung 'Rechnungstext im RK eintragen showPic(setRechnungstext(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen), PictureBox3) - ' Porto/Papiere berechnen. - showPic(PortoPapiere(Sachbearbeiter, rechnungsdatum), PictureBox4) + '--NICHT BENÖTIGT! + ' Porto/Papiere berechnen. + 'showPic(PortoPapiere(Sachbearbeiter, rechnungsdatum), PictureBox4) + '--NICHT BENÖTIGT! 'Berechnet Banküberweisung/Bankspesen. showPic(Bankspesen(Sachbearbeiter, rechnungsdatum), PictureBox5) @@ -545,22 +549,22 @@ Public Class usrcntlFakturierung If Not IsDBNull(r("BetragExclusivFT")) AndAlso r("BetragExclusivFT") > 0 Then - If Not IsDBNull(r("BetragExclusivPP")) AndAlso r("BetragExclusivPP") > 0 Then - - If r("BetragExclusivPP") < 500 Then - intZlr = r("AnzahlPP") - 1 - Else - intZlr = r("AnzahlPP") - End If + If r("BetragExclusivFT") < 500 Then + intZlr = r("AnzahlFT") - 1 Else - If (0 - r("BetragExclusivPP")) < 500 Then - intZlr = r("AnzahlPP") - 1 - Else - intZlr = r("AnzahlPP") - 1 - End If + intZlr = r("AnzahlFT") End If + + Else + If (0 - r("BetragExclusivFT")) < 500 Then + intZlr = r("AnzahlFT") - 1 + Else + intZlr = r("AnzahlFT") - 1 + End If + End If + If intZlr > 0 Then diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb b/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb index 23a3a611..936d9fe5 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb @@ -124,6 +124,7 @@ Public Class cEmailBenachrichtigung Dim Firma As New cFirma If Kdnr Is Nothing OrElse Not IsNumeric(Kdnr) Then Exit Sub + If Kdnr < 0 Then Exit Sub 'Prüfen, ob die Art für den Kunden im Kundenstamm aktiviert ist: Dim kdn_er As New cKundenErweitert(Kdnr)