From ec307f7a6058ce93b848ff2b4a95da83cf139921 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 29 Jul 2026 16:14:32 +0200 Subject: [PATCH] =?UTF-8?q?div.=20=C3=84nderungen,=20etc.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SDL/Fakturierung/cAutomailversand.vb | 61 ++- SDL/Fakturierung/cFakturierung.vb | 205 +--------- SDL/Fakturierung/frmAbrechnungsMaske.vb | 5 +- SDL/Fakturierung/usrCntlFaktAbrechnung.vb | 377 +++++++----------- SDL/mdm/frmMDMDatenverarbetiung.vb | 56 ++- .../AuditFlow/frmFirmenuebersicht.vb | 2 +- .../DATENSERVER/cDATENSERVER.vb | 8 +- 7 files changed, 258 insertions(+), 456 deletions(-) diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index 25b77251..e09f3dc8 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -173,6 +173,18 @@ Public Class cAutomailversand Dim TextHTML = "" TextHTML &= HTMLMail + TextHTML &= "
" + TextHTML &= "
" + + Select Case AD.LandKz + Case "TR" + TextHTML &= "Saygilarimizla
" + Case "A", "AT", "D", "DE", "CH" + TextHTML &= "Mit freundlichen Grüßen
" + Case Else + TextHTML &= "Best regards
" + End Select + TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "

" TextHTML &= cFakturierung.getSignature(AD.LandKz, FirmaID, True, True,,,,, True, True) HTMLMail = "
" & TextHTML & "
" @@ -307,6 +319,21 @@ Public Class cAutomailversand Dim TextHTML = "" TextHTML &= HTMLMail + TextHTML &= "
" + TextHTML &= "
" + + Select Case AD.LandKz + Case "TR" + TextHTML &= "Saygilarimizla
" + Case "A", "AT", "D", "DE", "CH" + TextHTML &= "Mit freundlichen Grüßen
" + Case Else + TextHTML &= "Best regards
" + End Select + + + + TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "

" TextHTML &= cFakturierung.getSignature(AD.LandKz, FirmaID, True, True,,,,, True, True) HTMLMail = "
" & TextHTML & "
" @@ -348,9 +375,18 @@ Public Class cAutomailversand Select Case row.Item("RechnungsLandKz") Case "TR" : spracheRechnung = "TR" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "Kredi", "Fatura") - Case "RO" : spracheRechnung = "RO" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "nota de credit", "factura") + Case "RO" + If Firma_ID = 19 Then + spracheRechnung = "RO" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "nota de credit", "factura") + End If + Case "DE", "A", "AT", "D", "CH" : spracheRechnung = "DE" : belegtyp = If(BelegartenNr = 71, "Gutschrift", "Rechnung") - Case "SRB", "HR", "SLO", "BIH", "MNE", "MK", "MO" : spracheRechnung = "SRB" : belegtyp = If(BelegartenNr = 71, "credit note", "invoice") 'Belegarten auf Englisch! + + Case "SRB", "HR", "SLO", "BIH", "MNE", "MK", "MO" + If Firma_ID = 19 Then + spracheRechnung = "SRB" : belegtyp = If(BelegartenNr = 71, "credit note", "invoice") 'Belegarten auf Englisch! + End If + End Select If listOfTextconserven.LIST.Any(Function(c) c.txt_sprache = spracheRechnung) Then @@ -468,13 +504,26 @@ Public Class cAutomailversand Dim belegtyp As String = If(BelegartenNr = 71, "credit note", "invoice") + + Select Case row.Item("RechnungsLandKz") - Case "TR", "RO", "DE", "SRB" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "Kredi", "Fatura") - Case "A", "AT", "D", "CH", "DE" : spracheRechnung = "DE" : belegtyp = If(BelegartenNr = 71, "Gutschrift", "Rechnung") - Case "HR", "SLO", "BIH", "MNE", "MK", "MO" : spracheRechnung = "SRB" : belegtyp = If(BelegartenNr = 71, "credit note", "invoice") 'Belegarten auf Englisch! + Case "TR" : spracheRechnung = "TR" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "Kredi", "Fatura") + Case "RO" + If Firma_ID = 19 Then + spracheRechnung = "RO" : spracheRechnung = row.Item("RechnungsLandKz") : belegtyp = If(BelegartenNr = 71, "nota de credit", "factura") + End If + + Case "DE", "A", "AT", "D", "CH" : spracheRechnung = "DE" : belegtyp = If(BelegartenNr = 71, "Gutschrift", "Rechnung") + + Case "SRB", "HR", "SLO", "BIH", "MNE", "MK", "MO" + If Firma_ID = 19 Then + spracheRechnung = "SRB" : belegtyp = If(BelegartenNr = 71, "credit note", "invoice") 'Belegarten auf Englisch! + End If + End Select + If listOfTextconserven.LIST.Any(Function(c) c.txt_sprache = spracheRechnung) Then @@ -544,7 +593,7 @@ Public Class cAutomailversand Select Case AD.LandKz Case "TR" - TextHTML &= "Saygilarimizla

" + TextHTML &= "Saygilarimizla
" Case "A", "AT", "D", "DE", "CH" TextHTML &= "Mit freundlichen Grüßen
" Case Else diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 280eb77e..70420423 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -2197,20 +2197,17 @@ Public Class cFakturierung Dim rpt As New rptRechnungDruck_MDM(RECHNUNG.RechnungSprache, IIf(RECHNUNG.OffertenNr = 95, RECHNUNG.OffertenNr, Nothing), RECHNUNG.Firma_ID) - If RECHNUNG.POSITIONEN.Count = 0 Then MsgBox("Keine Daten vorhanden!") : Return False Dim dtDataSource As New DataTable - dtDataSource.Columns.Add("LeistungsNr") dtDataSource.Columns.Add("LeistungsBez") dtDataSource.Columns.Add("Anzahl") dtDataSource.Columns.Add("SteuerpflichtigerBetrag") dtDataSource.Columns.Add("SteuerfreierBetrag") dtDataSource.Columns.Add("Belegdaten") - Dim gsBetrTmp As Double = 0 + For Each r In RECHNUNG.POSITIONEN - ' dtDataSource.Rows.Add(r.LeistungsNr, r.LeistungsBez, r.Anzahl, r.SteuerpflichtigerBetrag, r.SteuerfreierBetrag, (If(r.Belegdaten, "") & " " & If(r.Aufschubfälligkeit, "")).ToString.Trim) dtDataSource.Rows.Add(r.LeistungsNr, r.LeistungsBez, r.Anzahl, r.SteuerpflichtigerBetrag, r.SteuerfreierBetrag, If(r.Belegdaten, "").ToString.Trim) @@ -2219,20 +2216,11 @@ Public Class cFakturierung If gsBetrTmp = 0 Then MsgBox("Rechnungsbetrag ist EUR 0,- ") : Return False - Dim dataView As New DataView(dtDataSource) dataView.Sort = " LeistungsNr " Dim dtTmp As DataTable = dataView.ToTable() - - ' rpt.DataSource = SQL.loadDgvBySql("SELECT * FROM [Rechnungsausgangpositionen] where RK_ID ='" & RECHNUNG.RK_ID & "' ", "FMZOLL") rpt.DataSource = dtTmp - '' MsgBox(rpt.DataSource.rows.count) - 'If rpt.DataSource.rows.count = 0 Then - ' rpt.Dispose() - ' MsgBox("Keine Daten vorhanden!") - ' Return False - 'End If Dim sum = 0 Select Case RECHNUNG.RechnungSprache @@ -2278,7 +2266,6 @@ Public Class cFakturierung rpt.lblRgDatumUeberschrift.Text = "Kredi thrihi:" End Select - Case Else Select Case RECHNUNG.BelegartenKz Case "AR" @@ -2392,36 +2379,19 @@ Public Class cFakturierung If If(RECHNUNG.RechnungsName_AdressZusatz, "") <> "" Then rpt.lblRechnungAn.Text &= RECHNUNG.RechnungsName_AdressZusatz & vbNewLine If If(RECHNUNG.RechnungsOrt, "") <> "" Then rpt.lblRechnungAn.Text &= RECHNUNG.RechnungsOrt & vbNewLine If If(RECHNUNG.RechnungsLandKz, "") <> "" Then rpt.lblRechnungAn.Text &= cProgramFunctions.getLandBez_fromISO1Land(RECHNUNG.RechnungsLandKz, "", RECHNUNG.RechnungSprache).ToString.ToUpper - - - 'If If(RECHNUNG.RechnungsName_2, "") = "" Then - ' rpt.lblRechnung_Name1.Text = "" - ' rpt.lblRechnung_Name2.Text = If(RECHNUNG.RechnungsName_1, "") - 'Else - ' rpt.lblRechnung_Name1.Text = If(RECHNUNG.RechnungsName_1, "") - ' rpt.lblRechnung_Name2.Text = If(RECHNUNG.RechnungsName_2, "") - 'End If - 'rpt.lblRechnung_Strasse.Text = If(RECHNUNG.RechnungsStraße, "") - 'rpt.lblRechnung_Ort.Text = If(RECHNUNG.RechnungsOrt, "") - 'rpt.lblRechnung_Land.Text = cProgramFunctions.getLandBez_fromISO1Land(RECHNUNG.RechnungsLandKz, "", RECHNUNG.RechnungSprache).ToString.ToUpper - rpt.txtAbsender.Text = If(RECHNUNG.AbsenderName_1, "") & " " & If(RECHNUNG.AbsenderName_2, "") & vbNewLine & If(RECHNUNG.AbsenderOrt, "").ToString.Trim rpt.txtEmpfaenger.Text = If(RECHNUNG.EmpfängerName_1, "") & " " & If(RECHNUNG.EmpfängerName_2, "") & vbNewLine & If(RECHNUNG.EmpfängerOrt, "").ToString.Trim - - If KD_RG IsNot Nothing AndAlso If(KD_RG.Steuernummer, "") <> String.Empty Then If RECHNUNG.Firma_ID = 4 Then rpt.lblRechnung_Steuernummer.Text = If(KD_RG.Steuernummer, "").ToString.Trim 'ohne LandKz gewünscht Else rpt.lblRechnung_Steuernummer.Text = If(KD_RG.LandKz, "") & " " & If(KD_RG.Steuernummer, "").ToString.Trim End If - - ' rpt.lblRechnung_UID.Text = If(KD_RG.UstIdKz, "") & " " & If(KD_RG.UstIdNr, "").ToString.Trim Else rpt.lblRechnung_Steuernummer.Text = "" - ' rpt.lblRechnung_UID.Text = "" End If + rpt.lblRechnung_Steuernummer.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty) rpt.lblRechnung_Steuernummer_Ueberschrift.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty) @@ -2618,12 +2588,9 @@ Public Class cFakturierung End If End If - 'Dim cnt As Integer = 0 If RECHNUNG.Firma_ID = 19 Then - 'rpt.lblSteuersatz.Visible = False - 'rpt.lblSteuerbetrag.Visible = False rpt.lblSteuerpflichtigGes.Visible = False rpt.lblSteuerfreiGes.Visible = False rpt.lblZwText.Visible = False @@ -2636,20 +2603,10 @@ Public Class cFakturierung Dim sumSteuerpflichtig As Double = 0 Dim sumSteuerfrei As Double = 0 - 'Dim Anz As Double = 0 - 'Dim gesSumBt As Double = 0 - 'Dim gesAnz As Double = 0 Dim vorzeichen = If(If(RECHNUNG.Vorzeichen, "") = "-", -1, 1) - ' Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(RECHNUNG.RechnungsKundenNr) - - ' rpt.Line10.AnchorBottom = True - ' rpt.Line10.Height = rpt.Detail.Height - AddHandler rpt.Detail.Format, Sub() - ' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString - ' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString rpt.lblLeistungNr.Text = checkNull(rpt.Fields.Item("LeistungsNr").Value) rpt.txtLeistung.Text = checkNull(rpt.Fields.Item("LeistungsBez").Value) @@ -2671,9 +2628,6 @@ Public Class cFakturierung rpt.lblSteuerfrei.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold) rpt.lblSteuerpflichtig.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold) - 'txtPackstuecke.Top += SubReport.Height - 'txtKdAuftragsnummer.Top += SubReport.Height - 'txtSendungsdetails.Top += SubReport.Height Else rpt.SubReport.Report = Nothing End If @@ -2753,7 +2707,6 @@ Public Class cFakturierung End If rpt.lblAnzahl.Text = checkNull(rpt.Fields.Item("Anzahl").Value) - ' rpt.lblBetrag.Text = rpt.Fields.Item("betrag").Value Dim stPfl As Double = 0 Dim stFrei As Double = 0 @@ -2768,16 +2721,6 @@ Public Class cFakturierung 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() @@ -3534,49 +3477,6 @@ Public Class cFakturierung Dim netPricePos = netUnitPrice * IIf(anzahl <> 0, Convert.ToDecimal(anzahl), 0) sumNetto += netPricePos - - - '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 - - ' 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 - - 'If bez <> "" Then - - ' einzelpreis = IIf(SteuerpflichtigerBetrag > 0, SteuerpflichtigerBetrag / checkNull(anzahl), SteuerfreierBetrag / checkNull(anzahl)) - - ' Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem( - ' name:=checkNull(bez), - ' billedQuantity:=Convert.ToDecimal(checkNull(anzahl)), - ' unitCode:=QuantityCodes.C62, ' immer in Stück - ' netUnitPrice:=Convert.ToDecimal(einzelpreis), - ' grossUnitPrice:=Convert.ToDecimal(einzelpreis), - ' categoryCode:=IIf(SteuerpflichtigerBetrag > 0, TaxCategoryCodes.S, TaxCategoryCodes.Z), - ' taxPercent:=IIf(SteuerpflichtigerBetrag > 0, Convert.ToDecimal(steuerProzent * 100), 0), - ' taxType:=IIf(SteuerpflichtigerBetrag > 0, TaxTypes.VAT, TaxTypes.VAT) - ' ) - ' Dim netUnitPrice = Convert.ToDecimal(einzelpreis) - ' Dim netPricePos = netUnitPrice * Convert.ToDecimal(checkNull(anzahl)) - ' sumNetto += netPricePos - - ' bez = "" - - ' End If - - 'Next - Next @@ -3613,14 +3513,6 @@ Public Class cFakturierung desc.SetPaymentMeans(PaymentMeansTypeCodes.SEPACreditTransfer, rptAnl.Label2.Text) End If - 'If RECHNUNG.TextZZ.ToString.Contains("Abbuchungsauftrag") Then - ' desc.SetPaymentMeansSepaDirectDebit("", ,"") - 'Else - 'desc.SetPaymentMeans(PaymentMeansTypeCodes.PaymentToBankAccount, rpt.Label2.Text) - 'End If - - - Select Case FIRMA.Firma_ID Case 21, 22, 23 '"UNISPED" If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, "")) @@ -3856,7 +3748,7 @@ Public Class cFakturierung Return firma End Function Shared Function getSignature(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As String - Return getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID) + Return getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID,,,,,,,, useLogosFromDB) End Function Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "", Optional departmentmailadress = True, Optional fakturierung = False, Optional firmenSignature = False, Optional useLogosFromDB = False) As String @@ -3911,6 +3803,7 @@ Public Class cFakturierung imgTag = "" Case 20 'Imex + imgTag = "" Case 24 'AMBAR @@ -4354,35 +4247,6 @@ Public Class cFakturierung Return sum End Function - 'Shared Function getSteuerfreiEUSTZOLL(FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RechnungsNr As String, RechnungsDatum As String, Firma_ID As Integer, Optional VorschauID As String = "") As Double - - ' Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL - ' Dim SqlStr = "SELECT SUM(dbo.RechnungsausgangPositionen.SteuerfreierBetrag) AS ReverseChargeSumme - ' FROM dbo.Rechnungsausgang INNER JOIN - ' dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID INNER JOIN - ' dbo.Leistungen ON dbo.RechnungsausgangPositionen.LeistungsNr = dbo.Leistungen.LeistungsNr - ' WHERE 1=1 " - - ' If VorschauID = "" Then - ' SqlStr &= " AND (dbo.Rechnungsausgang.RechnungsNr = '" & RechnungsNr & "') AND (dbo.Rechnungsausgang.RechnungsDatum = '" & CDate(RechnungsDatum).ToShortDateString & "') " - ' Else - ' SqlStr &= " AND (dbo.Rechnungsausgang.VorschauID = '" & VorschauID & "') " - ' End If - - ' SqlStr &= " AND Leistungen.Steuerpflichtig=0 " - ' SqlStr &= " and Firma_ID= '" & Firma_ID & "' " - - ' Dim sum = SQL.getValueTxtBySql(SqlStr, "FMZOLL") - ' If sum Is DBNull.Value Or sum = "" Then Return 0 - ' Return sum - 'End Function - - ' 0-_> Rechnung angelegt - ' 1-_> Einzel-Rg gedruckt - ' 2-_> Anlagen zur Rg gedruckt - ' 3-_> Sammel-Rg gedruckt - ' 4-_> ? irgendwas mit SR 6 Maut/Diesel?? - Public Shared Function GET_SR_SQLDT(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Optional whereKdNr As String = "", Optional SB As String = "", Optional AvisoIds As List(Of Integer) = Nothing, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional AUTOMailversand As String = "", Optional RechnungsNrAlreadySet As Boolean = False, Optional RechnungNr As Integer = -1) As DataTable If whereKdNr <> "" Then whereKdNr = " AND RechnungsKundenNr IN(" & whereKdNr & ") " Dim whereAbfArt = "" @@ -5612,19 +5476,19 @@ Public Class cFakturierung 'Mehrsprachigkeit bei Sammelrechnung vorerst deaktivieren!!!! - 'Case "EN" - ' Select Case BelegartenKz - ' Case "AR" - ' rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Attatchment to INVOICE", "INVOICE") - ' rpt.lblSummeUeberschrift.Text = "Invoice Amount:" - ' rpt.lblRgNrUeberschrift.Text = "Invoice No.:" - ' rpt.lblRgDatumUeberschrift.Text = "Invoice Date:" - ' Case "AG" - ' rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Attatchment to CREDIT NOTE", "CREDIT NOTE") - ' rpt.lblSummeUeberschrift.Text = "Credit Amount:" - ' rpt.lblRgNrUeberschrift.Text = "Credit Note No.:" - ' rpt.lblRgDatumUeberschrift.Text = "Credit Note Date:" - ' End Select + Case "EN" + Select Case BelegartenKz + Case "AR" + rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Attachment to INVOICE", "INVOICE") + rpt.lblSummeUeberschrift.Text = "Invoice Amount:" + rpt.lblRgNrUeberschrift.Text = "Invoice No.:" + rpt.lblRgDatumUeberschrift.Text = "Invoice Date:" + Case "AG" + rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Attachment to CREDIT NOTE", "CREDIT NOTE") + rpt.lblSummeUeberschrift.Text = "Credit Amount:" + rpt.lblRgNrUeberschrift.Text = "Credit Note No.:" + rpt.lblRgDatumUeberschrift.Text = "Credit Note Date:" + End Select Case Else Select Case BelegartenKz Case "AR" @@ -5972,49 +5836,14 @@ Public Class cFakturierung Dim ROW As DataRow = dt.Rows(0) Dim rpt As New rptSammelRechnungDruck(ROW("RechnungSprache")) - Dim firmaID = ROW("Firma_ID") - Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(firmaID) Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr")) - Dim isMDMRechnungsdruck = checkIfMDMSammelrechnung(Rechnugnsdruck, ROW("Status"), firmaID) - If FIRMA Is Nothing Then MsgBox("Keine Firma gewählt!") : Return False - - - ' Dim dataView As New DataView(dtDataSource) - ' dataView.Sort = " LeistungsNr " - ' Dim dtTmp As DataTable = dataView.ToTable() - - ' rpt.DataSource = SQL.loadDgvBySql("SELECT * FROM [Rechnungsausgangpositionen] where RK_ID ='" & RECHNUNG.RK_ID & "' ", "FMZOLL") rpt.DataSource = dt - - '' MsgBox(rpt.DataSource.rows.count) - 'If rpt.DataSource.rows.count = 0 Then - ' rpt.Dispose() - ' MsgBox("Keine Daten vorhanden!") - ' Return False - 'End If - Dim sum = 0 - 'Select Case RECHNUNG.[BelegartenKz] - ' Case "AR" - ' rpt.lblUeberschriftRG_GS.Text = "RECHNUNG" - ' Case "AG" - ' rpt.lblUeberschriftRG_GS.Text = "GUTSCHRIFT" - ' rpt.Label9.Text = "Gutschriftsbetrag:" - ' rpt.Label16.Text = "Gutschrifts-Nr.:" - 'End Select - - 'If RECHNUNG.DruckDatumZeit IsNot Nothing Then rpt.lblUeberschriftRG_GS.Text &= " - KOPIE" - - - ' Dim Gesamt_RG_Betrag As Double = 0 Dim Gesamt_RG_Betrag As Double = CDbl(dt.Compute("SUM(SteuerFreierBetrag)", "")) + CDbl(dt.Compute("SUM(SteuerpflichtigerBetrag)", "")) - - ' If ROW("SteuerFreierBetrag") IsNot DBNull.Value AndAlso IsNumeric(ROW("SteuerFreierBetrag")) Then Gesamt_RG_Betrag += ROW("SteuerFreierBetrag") - 'If ROW("SteuerpflichtigerBetrag") IsNot DBNull.Value AndAlso IsNumeric(ROW("SteuerpflichtigerBetrag")) Then Gesamt_RG_Betrag += ROW("SteuerpflichtigerBetrag") Dim BelegartenKz = If(Gesamt_RG_Betrag < 0, "AG", "AR") Select Case ROW("RechnungSprache") diff --git a/SDL/Fakturierung/frmAbrechnungsMaske.vb b/SDL/Fakturierung/frmAbrechnungsMaske.vb index 0f88241b..f989dd8f 100644 --- a/SDL/Fakturierung/frmAbrechnungsMaske.vb +++ b/SDL/Fakturierung/frmAbrechnungsMaske.vb @@ -462,9 +462,6 @@ Public Class frmAbrechnungsMaske Case Else : orderBy = " ORDER BY /*[BelegartenKz] DESC,*/ FilialenNr, AbfertigungsNr, [RK_ID]" End Select - 'MsgBox("SELECT RK_ID,Rechnungsdruck as Rechnungsdruck FROM Rechnungsausgang INNER JOIN Adressen ON AdressenNr=RechnungsKundenNr WHERE Status=0 " & getRGWhere("ER") & orderBy) - 'Exit Sub - Dim PARAM_printZollbeleg = VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("FAKTURIERUNG_PRINT_Zollbeleg") Dim dt = SQL.loadDgvBySql("SELECT RK_ID,Rechnungsdruck as Rechnungsdruck FROM Rechnungsausgang INNER JOIN Adressen ON AdressenNr=RechnungsKundenNr WHERE Status=0 " & getRGWhere("ER", FilialNrRestriction) & orderBy, "FMZOLL") @@ -475,6 +472,8 @@ Public Class frmAbrechnungsMaske For Each r In dt.Rows If r("Rechnungsdruck") = "2" Or r("Rechnungsdruck") = "5" Then cFakturierung.doRechnungsDruck_MAIL(r("RK_ID"), RechnungsDatum,, r("Rechnungsdruck"),, cboPrinter.Text,, PARAM_printZollbeleg) + ElseIf r("Rechnungsdruck") = "6" OrElse r("Rechnungsdruck") = "7" Then + 'AUTO-MAIL- diese überspringen! Else cFakturierung.doRechnungsDruck(r("RK_ID"), RechnungsDatum,,,, cboPrinter.Text,, PARAM_printZollbeleg) End If diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index a988fa21..8107d2b7 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -25,6 +25,7 @@ Public Class usrCntlFaktAbrechnung Dim veragKunde As Integer = -1 Public isVZ As Boolean = False Dim FormularArt = "" + Dim setDefaultAutoMailversand As Boolean = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AUTOMAILVERSAND", "SDL") ' Public VALUE_CHANGED = True ' Eigenschaft, ob das Formular gespeichert ist oder verändert wurde @@ -1064,6 +1065,7 @@ Public Class usrCntlFaktAbrechnung initRgArt() initKdAtrNr() initPkSt() + initDGVAnhaenge() End Sub @@ -1581,50 +1583,19 @@ Public Class usrCntlFaktAbrechnung Dim vorzeichen = 1 'If(RECHNUNG.Vorzeichen = "-", -1, 1) POS.Preis *= vorzeichen - 'MsgBox(RECHNUNG.Steuersatz_Proz) - - - ' POS.Steuerpflichtig = r.Cells("Steuerpflichtig").Value initSteuerbetraege(RECHNUNG, POS) - - 'If (RECHNUNG.Steuersatz_Proz <> 0) And CBool(SQL.DLookup("Steuerpflichtig", "Leistungen", "[LeistungsNr] = '" & POS.LeistungsNr & "'", "FMZOLL")) Then ' Steuersatz muss ungleich 0 sein, damit der Betrag steuerpflichtig wird - ' POS.SteuerpflichtigerBetrag = POS.Preis * POS.Anzahl - ' POS.Steuerpflichtig = True - 'Else - ' POS.SteuerfreierBetrag = POS.Preis * POS.Anzahl - ' POS.Steuerpflichtig = False - 'End If - - - - ' POS.AufschubkontoNr = r.Cells("AufschubkontoNr").Value - ' POS.Aufschubfälligkeit = r.Cells("Aufschubfälligkeit").Value - ' POS.Prüfsumme_berechnen = r.Cells("Prüfsumme berechnen").Value - ' POS.DateiNameAufschub = r.Cells("DateiNameAufschub").Value - ' POS.Preisbindung = r.Cells("Preisbindung").Value - ' POS.Belegdaten = r.Cells("Belegdaten").Value - ' POS.Fremdwährung = r.Cells("Fremdwährung").Value POS.BGebLeistungsNr = r.Cells("BGebLeistungsNr").Value POS.BGebProzent = r.Cells("BGebProzent").Value POS.BGebMinBetrag = r.Cells("BGebMinBetrag").Value - - ' Property RePosZeitstempel As Object = Nothing - - POS.IndexZkteing = DBnullNothing(r.Cells("IndexZkteing").Value, 0) POS.AufschubkontoNr = DBnullNothing(r.Cells("AufschubkontoNr").Value) POS.Aufschubfälligkeit = DBnullNothing(r.Cells("Aufschubfälligkeit").Value) POS.DateiNameAufschub = DBnullNothing(r.Cells("DateiNameAufschub").Value) POS.Belegdaten = DBnullNothing(r.Cells("Belegdaten").Value) - - ' Try : If (r.Cells("BerechnungsartNr").Value = 8) And r.Cells("Anzahl").Value > 1 Then r.Cells("Anzahl").Value = 1 - ' Catch ex As Exception : End Try - Try : r.Cells("Preis").ReadOnly = (IIf(SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115, False, r.Cells("BerechnungsartNr").Value = 8)) Catch ex As Exception : End Try - 'End If RECHNUNG.POSITIONEN.Add(POS) 'ALLE HINENLADEN! --> Sonst Problem mit SVS/VP/KA Next @@ -1743,77 +1714,24 @@ Public Class usrCntlFaktAbrechnung RECHNUNG.VermittlerName_1 = SPEDBUCH.Vermittler End If - 'RECHNUNG.Rechnung_an = - 'RECHNUNG.KundenNrZentrale = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RechnungsLandKz = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RechnungsKundenNr = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RechnungsName_1 = SPEDBUCH.XXXXXXXX '!!!! - 'RECHNUNG.RechnungsName_2 = SPEDBUCH.XXXXXXXX '!!!! - 'RECHNUNG.RechnungsStraße = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RechnungsOrt = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RechnungsUstIdKz = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RechnungsUstIdNr = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RechnungsUstIdGeprüft = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Lastschrift = SPEDBUCH. - 'RECHNUNG.Kunden_SVS = SPEDBUCH.XXXXXXXX '!!!!- - 'RECHNUNG.Steuerschlüssel = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Steuersatz_Proz = SPEDBUCH.XXXXXXXX '!!!! % + RECHNUNG.LKW_Kennzeichen = SPEDBUCH.LKW_Kennzeichen - 'txtRohmasse SPEDBUCH.Rohmasse RECHNUNG.WährungsNr = SPEDBUCH.Währungsschlüssel RECHNUNG.Wert = SPEDBUCH.Rechnungsbetrag - ' RECHNUNG.Umrechnungskurs = "EUR" RECHNUNG.Packstücke_und_Warenbezeichnung = SPEDBUCH.Packstücke RECHNUNG.Vermerk = SPEDBUCH.Vermerk - 'RECHNUNG.Anlage_1 = SPEDBUCH.XXXXXXXX '!!!! - ' RECHNUNG.Anlage_2 = SPEDBUCH.XXXXXXXX '!!!! - ' RECHNUNG.Anlage_3 = SPEDBUCH.XXXXXXXX '!!!! - ' RECHNUNG.Anlage_4 = SPEDBUCH.XXXXXXXX '!!!! - ' RECHNUNG.Anlage_5 = SPEDBUCH.XXXXXXXX '!!!! - ' RECHNUNG.Anlage_6 = SPEDBUCH.XXXXXXXX '!!!! - 'RECHNUNG.OffertenNr = SPEDBUCH.o - 'RECHNUNG.Vorlageprovision_Proz = SPEDBUCH.XXXXXXXX '!!!!% - 'RECHNUNG.Kreditaufwendungen_Proz = SPEDBUCH.XXXXXXXX '!!!!% - 'RECHNUNG.Besonderheiten = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Vorkasse = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Text = SPEDBUCH.XXXXXXXX - 'RECHNUNG.SteuerpflichtigerGesamtbetrag = SPEDBUCH.XXXXXXXX - 'RECHNUNG.SteuerfreierGesamtbetrag = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Status = SPEDBUCH.XXXXXXXX - 'RECHNUNG.DruckDatumZeit = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Abfertigungskosten = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Vorkosten = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Erlös = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Buchungsjahr = SPEDBUCH.XXXXXXXX - ' RECHNUNG.Währungscode = SPEDBUCH.XXXXXXXX RECHNUNG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME - 'RECHNUNG.Trdin = SPEDBUCH.XXXXXXXX - 'RECHNUNG.KartenNr = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RefFilialenNr = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RefAbfertigungsNr = SPEDBUCH.XXXXXXXX - 'RECHNUNG.RefUnterNr = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Notiz = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Zucker_MRN_Nr = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Zucker_MRN_Datum = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Zucker_Aufschub = SPEDBUCH.XXXXXXXX - 'RECHNUNG.ReErfZeitstempel = SPEDBUCH.XXXXXXXX - 'RECHNUNG.Nettozahlungsziel = SPEDBUCH.XXXXXXXX - ' RECHNUNG.Firma_ID = SPEDBUCH.XXXXXXXX RECHNUNG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr RECHNUNG.ErfassungsNr = SPEDBUCH.ErfassungsNr RECHNUNG.AvisiererKundenNr = SPEDBUCH.AvisiererKundenNr RECHNUNG.Avisierer = SPEDBUCH.Avisierer - 'RECHNUNG.EMailRechnungstext = SPEDBUCH.XXXXXXXX RECHNUNG.AvisoID = SPEDBUCH.AvisoID If SPEDBUCH.Grenzstelle IsNot Nothing Then If SPEDBUCH.Grenzstelle.Replace("???", "") = "" Then If RECHNUNG.AvisoID IsNot Nothing Then Dim Zollstelle = SQL.DLookup("Zollstelle", "AVISO", "AvisoID='" & SPEDBUCH.AvisoID & "'", "AVISO") - ' RECHNUNG.Grenze = SQL.getValueTxtBySql("SELECT [basncd_name] FROM basncd WHERE basncd_dstnr='" & If(Zollstelle, "") & "' ", "ATLAS") RECHNUNG.Grenze = SQL.getValueTxtBySql("SELECT [Description] FROM tbl_DY_ZollDE_C0141_Zollstellen WHERE Code='" & If(Zollstelle, "") & "' AND ((StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE())) ", "FMZOLL") - - End If Else Select Case SPEDBUCH.Grenzstelle @@ -1938,85 +1856,55 @@ Public Class usrCntlFaktAbrechnung 'Anhänge aus USTVA -> SPED-BUCH + Excel Pos-Liste - If SPEDBUCH IsNot Nothing Then + If SPEDBUCH IsNot Nothing AndAlso RECHNUNG IsNot Nothing AndAlso RECHNUNG.RK_ID > 0 Then If FIRMA IsNot Nothing Then If FIRMA.Firma_ID = 19 AndAlso SPEDBUCH.ErfassungsNr <> "" AndAlso SPEDBUCH.ErfassungsNr > 0 AndAlso (SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115 Or SPEDBUCH.Abfertigungsart = 10) Then Dim func As New cMDMFunctionsAllgemein() Dim dt = SQL.loadDgvBySql("SELECT UStVPo_daId, UStVPo_ID,UStVPo_SchnittstellenNr, UStVPo_ReNr, UStVPo_ReDat FROM tblUStVPositionen where UStVAn_ID='" & SPEDBUCH.ErfassungsNr & "' /* AND UStVPo_SchnittstellenNr <> 1 */ " & IIf(isVZ, " And UStVPo_VZ = 1 And UStVPo_VZ_RKID Is null", "") & " order by UStVPo_ID", "FMZOLL") - Dim USTV As New cUSTVAntrag(SPEDBUCH.ErfassungsNr) + Dim USTV As New cUSTVAntrag(SPEDBUCH.ErfassungsNr) Dim Antrag_LandKz = "" If USTV.UStVAn_ID > 0 Then Antrag_LandKz = SQL.DLookup("LandKz", "[Länderverzeichnis für die Außenhandelsstatistik]", "Landnr='" & USTV.UStVAn_LandNr & "'", "FMZOLL") - - 'soll immer alle POS bekommen! laut Lidya! 28.04.2025 - aber nicht im Excel-Format sondern als PDF-Batinic 15.05.2025 Dim dtPOSList As New DataTable Dim prt As String = func.generatePosList(USTV, "", "", "", False, "prt", dtPOSList, isVZ, IIf(RECHNUNG IsNot Nothing, RECHNUNG.RK_ID, -1)) If prt <> "" Then Try + Dim tmpPath = createPOSReport(dtPOSList, USTV) + Dim reportAktualisiert As Boolean = False - Dim rpt As New rptMWSTListe - - rpt.DataSource = dtPOSList - - rpt.GroupHeader1.DataField = "Firma_ID" 'Gruppierung - - If rpt.DataSource.rows.count > 0 Then - - Dim AD As New cAdressen(USTV.UStVAn_KuNr) - Dim sum As Double = 0 - - rpt.lblVatNo.Text = USTV.UStVAn_Steuernummer - rpt.lblCompanyname.Text = AD.Name_1 & " " & AD.Name_2 - rpt.lblDat.Text = Now.ToShortDateString - - - AddHandler rpt.Detail.Format, Sub() - - rpt.lblNumber.Text = rpt.Fields.Item("Number").Value() - rpt.lblGoods.Text = rpt.Fields.Item("Name of service").Value() - rpt.lblName.Text = rpt.Fields.Item("Name of supplier").Value() - rpt.lblTax.Text = CDbl(rpt.Fields.Item("Amount of tax refund").Value()).ToString("N2") - rpt.lblDate.Text = CDate((rpt.Fields.Item("Date of Invoice").Value())).ToShortDateString - rpt.lblInvoiceNo.Text = rpt.Fields.Item("Number of invoice").Value() - - sum += CDbl(rpt.Fields.Item("Amount of tax refund").Value()).ToString("N2") - End Sub - - - AddHandler rpt.GroupFooter1.Format, Sub() - rpt.lblSumme.Text = sum.ToString("N2") - rpt.lblWahrung.Text = USTV.UStVAn_Währungscode - - End Sub - - - Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(SPEDBUCH.AbfertigungsNr, ".pdf", , False) - Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport - rpt.Run(False) - p.NeverEmbedFonts = "" - p.Export(rpt.Document, tmpPath) - rpt.Dispose() + If Not String.IsNullOrWhiteSpace(tmpPath) Then Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", SPEDBUCH.AbfertigungsNr & ".pdf", USTV.UStVAn_KuNr, False) - 'If Not DS.hasITEMS Then 'immer neu generieren, falls der Antrag geändert wurde, muss der die neue POS-Liste geladen werden!!!! - DS.uploadDataToDATENSERVER(tmpPath,,, False,, True, True) - 'End If + If Not DS.hasITEMS OrElse (DS.hasITEMS AndAlso DS.da_date < USTV.UStVAn_Zeitstempel) Then + Dim DS_NEW As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", SPEDBUCH.AbfertigungsNr & "_" & RECHNUNG.RK_ID & ".pdf", USTV.UStVAn_KuNr, False) ' Wechsel auf neues Namensschema + If Not DS_NEW.hasITEMS Then + DS_NEW.uploadDataToDATENSERVER(tmpPath,,, False,, True, True) + reportAktualisiert = True + ElseIf DS_NEW.da_date <= USTV.UStVAn_Zeitstempel Then + DS_NEW.uploadDataToDATENSERVER(tmpPath,,, False,, True, True) + reportAktualisiert = True + End If + DS = DS_NEW + End If + If .Rows.Count > 0 Then - For Each r As DataGridViewRow In .Rows If .Columns.Contains("clmnBezeichnung") AndAlso r.Cells("clmnBezeichnung").Value = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then - .Rows.Remove(r) - For Each ATT As cRechnungsausgangAnhaenge In RECHNUNG.ANHAENGE - If ATT.Bezeichnung = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then - Dim ANH_DEL As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge() - ANH_DEL.DELETE(ATT.RK_ID, ATT.dsId) - End If - Next + If reportAktualisiert Then + .Rows.Remove(r) + For Each ATT As cRechnungsausgangAnhaenge In RECHNUNG.ANHAENGE + If ATT.Bezeichnung = DS.da_name AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then + Dim ANH_DEL As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge() + ANH_DEL.DELETE(ATT.RK_ID, ATT.dsId) + End If + Next + End If + End If @@ -2024,71 +1912,74 @@ Public Class usrCntlFaktAbrechnung End If If RECHNUNG.ANHAENGE.Count > 0 Then - If RECHNUNG.DruckDatumZeit IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.Bezeichnung = DS.da_name) Or RECHNUNG.DruckDatumZeit Is Nothing Then - .Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1) + If (RECHNUNG.DruckDatumZeit IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.Bezeichnung = DS.da_name)) OrElse RECHNUNG.DruckDatumZeit Is Nothing Then + If reportAktualisiert Then .Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1) End If Else .Rows.Add(-1, "POS-LIST", DS.da_name, DS.da_id, -1) End If - End If + End If + Catch ex As Exception - MsgBox(ex.Message & ex.StackTrace) - End Try - End If + MsgBox(ex.Message & ex.StackTrace) - If dt IsNot Nothing Then - For Each r In dt.Rows + End Try - 'WARUM NOCHMAL not null??? -> weil laut lydia erst ab 2025 (und ab diesem Datum wird die daid in der USTVA_POS befüllt) die Dokumente digital mitgeschickt werden, vorher noch alles per POST!!!!!!!!!!!!!!!!!! - If Not IsDBNull(r("UStVPo_daId")) Then + End If - If RECHNUNG.ANHAENGE IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.dsId = r("UStVPo_daId")) Then 'wenn der Anhang schon existiert! + If dt IsNot Nothing Then + For Each r In dt.Rows - Dim DAID As String = "" - DAID = func.getPDF(r("UStVPo_SchnittstellenNr"), r("UStVPo_ReNr"), r("UStVPo_ReDat"), r("UStVPo_daId"), False, True, Antrag_LandKz, USTV, New cFakturierung, True) + 'WARUM NOCHMAL not null??? -> weil laut lydia erst ab 2025 (und ab diesem Datum wird die daid in der USTVA_POS befüllt) die Dokumente digital mitgeschickt werden, vorher noch alles per POST!!!!!!!!!!!!!!!!!! + If Not IsDBNull(r("UStVPo_daId")) Then - Dim nameLief As String = "" + If RECHNUNG.ANHAENGE IsNot Nothing AndAlso Not RECHNUNG.ANHAENGE.Exists(Function(c) c.dsId = r("UStVPo_daId")) Then 'wenn der Anhang schon existiert! - Select Case r("UStVPo_SchnittstellenNr") - Case 1 : nameLief = "VERAG-" 'Verag360 - Case 2, 8, 12 : nameLief = "IDS-" - Case 3 : nameLief = "IT-" - Case 4, 9 : nameLief = "MSE-" - Case 5, 10 : nameLief = "UTA-" - Case 6, 11 : nameLief = "PLOSE-" - Case 7 : nameLief = "RMC-" - End Select + Dim DAID As String = "" + DAID = func.getPDF(r("UStVPo_SchnittstellenNr"), r("UStVPo_ReNr"), r("UStVPo_ReDat"), r("UStVPo_daId"), False, True, Antrag_LandKz, USTV, New cFakturierung, True) - nameLief &= "RE" + Dim nameLief As String = "" - If DAID <> "" AndAlso IsNumeric(DAID) AndAlso r("UStVPo_SchnittstellenNr") <> 1 Then - Dim daidno As Integer = CInt(DAID) - Dim ds As New cDATENSERVER(daidno) - .Rows.Add(-1, nameLief, ds.da_name, ds.da_id, -1) + Select Case r("UStVPo_SchnittstellenNr") + Case 1 : nameLief = "VERAG-" 'Verag360 + Case 2, 8, 12 : nameLief = "IDS-" + Case 3 : nameLief = "IT-" + Case 4, 9 : nameLief = "MSE-" + Case 5, 10 : nameLief = "UTA-" + Case 6, 11 : nameLief = "PLOSE-" + Case 7 : nameLief = "RMC-" + End Select - ElseIf DAID <> "" AndAlso r("UStVPo_SchnittstellenNr") = 1 Then + nameLief &= "RE" - Dim DS_Eigenrechnungen As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "VERAG-RECHNUNGEN", "", "", USTV.UStVAn_KuNr & "_" & r("UStVPo_ReNr") & ".pdf", USTV.UStVAn_KuNr, False) + If DAID <> "" AndAlso IsNumeric(DAID) AndAlso r("UStVPo_SchnittstellenNr") <> 1 Then + Dim daidno As Integer = CInt(DAID) + Dim ds As New cDATENSERVER(daidno) + .Rows.Add(-1, nameLief, ds.da_name, ds.da_id, -1) - If Not DS_Eigenrechnungen.hasITEMS Then 'falls bereits vorhanden, nicht nochmals erstellen! - DS_Eigenrechnungen.uploadDataToDATENSERVER(DAID, USTV.UStVAn_KuNr & "_" & r("UStVPo_ReNr") & ".pdf",, False,, True, True) - End If - .Rows.Add(-1, nameLief, DS_Eigenrechnungen.da_name, DS_Eigenrechnungen.da_id, -1) + ElseIf DAID <> "" AndAlso r("UStVPo_SchnittstellenNr") = 1 Then + Dim DS_Eigenrechnungen As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "VERAG-RECHNUNGEN", "", "", USTV.UStVAn_KuNr & "_" & r("UStVPo_ReNr") & ".pdf", USTV.UStVAn_KuNr, False) + If Not DS_Eigenrechnungen.hasITEMS Then 'falls bereits vorhanden, nicht nochmals erstellen! + DS_Eigenrechnungen.uploadDataToDATENSERVER(DAID, USTV.UStVAn_KuNr & "_" & r("UStVPo_ReNr") & ".pdf",, False,, True, True) End If + .Rows.Add(-1, nameLief, DS_Eigenrechnungen.da_name, DS_Eigenrechnungen.da_id, -1) + End If - End If - Next - End If + End If + End If + + Next End If End If + End If End If @@ -2097,6 +1988,56 @@ Public Class usrCntlFaktAbrechnung End With dgvAnhaenge.ClearSelection() End Sub + + Private Function createPOSReport(dtPOSList As DataTable, USTV As cUSTVAntrag) As String + + + Dim rpt As New rptMWSTListe + + rpt.DataSource = dtPOSList + + rpt.GroupHeader1.DataField = "Firma_ID" 'Gruppierung + + If rpt.DataSource.rows.count = 0 Then Return "" + + Dim AD As New cAdressen(USTV.UStVAn_KuNr) + Dim sum As Double = 0 + + rpt.lblVatNo.Text = USTV.UStVAn_Steuernummer + rpt.lblCompanyname.Text = AD.Name_1 & " " & AD.Name_2 + rpt.lblDat.Text = Now.ToShortDateString + + + AddHandler rpt.Detail.Format, Sub() + + rpt.lblNumber.Text = rpt.Fields.Item("Number").Value() + rpt.lblGoods.Text = rpt.Fields.Item("Name of service").Value() + rpt.lblName.Text = rpt.Fields.Item("Name of supplier").Value() + rpt.lblTax.Text = CDbl(rpt.Fields.Item("Amount of tax refund").Value()).ToString("N2") + rpt.lblDate.Text = CDate((rpt.Fields.Item("Date of Invoice").Value())).ToShortDateString + rpt.lblInvoiceNo.Text = rpt.Fields.Item("Number of invoice").Value() + + sum += CDbl(rpt.Fields.Item("Amount of tax refund").Value()).ToString("N2") + End Sub + + + AddHandler rpt.GroupFooter1.Format, Sub() + rpt.lblSumme.Text = sum.ToString("N2") + rpt.lblWahrung.Text = USTV.UStVAn_Währungscode + + End Sub + + + Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(SPEDBUCH.AbfertigungsNr, ".pdf", , False) + Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport + rpt.Run(False) + p.NeverEmbedFonts = "" + p.Export(rpt.Document, tmpPath) + rpt.Dispose() + + Return tmpPath + + End Function Sub getDataFromSpedbuch_SHOW() txtAbfertigungsart.Text = "" txtAbfertigungsanzahl.Text = "" @@ -4198,11 +4139,6 @@ Nächste_Textzeile_lesen: initRECHNUNG() RaiseEvent SOMETHING_CHANGED(-1) - 'If cFakturierung.doRechnungsDruck(RECHNUNG,,, 2,, getPrinterFromParent) Then - ' initRECHNUNG() - ' RaiseEvent SOMETHING_CHANGED(-1) - 'End If - End If cbxOriginalPrint.Checked = False End Sub @@ -4265,21 +4201,12 @@ Nächste_Textzeile_lesen: RECHNUNG.POSITIONEN.Add(TMPPos) sbLeistung._value = "" - 'aktualisieren: - - 'przBerechneRAPos("") - przBerechneRAPos("") loadFormRGPosInOfferte() initDGVRechnungenPositionen() - 'przRefreshDGV_Positionen() 'false - 'initDGVRechnungenPositionen() - ' przRefreshDGV_Positionen() - ' przRefreshDGV_Positionen() sbLeistung.SET_VALUE("") - ' loadFormRGPosInOfferte(False) End If End Sub @@ -4758,7 +4685,7 @@ Nächste_Textzeile_lesen: End Select Else - MsgBox("Speditionsbuch Eintrag nicht gefunden.") + MsgBox("Speditionsbuch-Eintrag nicht gefunden.") End If @@ -5587,6 +5514,8 @@ mwst: Dim enableAUTOMAIL As Boolean = False + If setDefaultAutoMailversand Then cbxAUTOMailversand.Checked = False + If RECHNUNG Is Nothing Then @@ -5596,28 +5525,28 @@ mwst: Dim RD_DRUCK = -1 - Dim AD As cAdressen + Dim AD As cAdressen - Select Case cboRechnungAn._value - Case "1" - If kdFirmaAbsender.KdNr = "" Then Return enableAUTOMAIL - AD = New cAdressen(kdFirmaAbsender.KdNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case "2" - If kdFirmaEmpfaenger.KdNr = "" Then Return enableAUTOMAIL - AD = New cAdressen(kdFirmaEmpfaenger.KdNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case "3" - If kdFirmaAuftraggeber.KdNr = "" Then Return enableAUTOMAIL - AD = New cAdressen(kdFirmaAuftraggeber.KdNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case "4" - If kdFirmaAvisierer.KdNr = "" Then Return enableAUTOMAIL - AD = New cAdressen(kdFirmaAvisierer.KdNr) - RD_DRUCK = If(AD.Rechnungsdruck, -1) - Case Else - Return enableAUTOMAIL - End Select + Select Case cboRechnungAn._value + Case "1" + If kdFirmaAbsender.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaAbsender.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case "2" + If kdFirmaEmpfaenger.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaEmpfaenger.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case "3" + If kdFirmaAuftraggeber.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaAuftraggeber.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case "4" + If kdFirmaAvisierer.KdNr = "" Then Return enableAUTOMAIL + AD = New cAdressen(kdFirmaAvisierer.KdNr) + RD_DRUCK = If(AD.Rechnungsdruck, -1) + Case Else + Return enableAUTOMAIL + End Select 'BEI EINZELRECHNUNG WIRD STATUS 0 und 2 geprüft @@ -5632,15 +5561,16 @@ mwst: Return enableAUTOMAIL = False Else enableAUTOMAIL = True + If setDefaultAutoMailversand AndAlso Not (FIRMA.Firma_ID = 19) Then cbxAUTOMailversand.Checked = True End If Else enableAUTOMAIL = False - End If + End If - Else + Else 'If RECHNUNG.Rechnung_an = 0 Then @@ -5661,7 +5591,7 @@ mwst: Dim RD_DRUCK = -1 - Dim AD As cAdressen + Dim AD As cAdressen Select Case cboRechnungAn._value Case "1" If RECHNUNG.AbsenderKundenNr Is Nothing Then Return enableAUTOMAIL @@ -5694,18 +5624,19 @@ mwst: If RECHNUNG.Sammelrechnung = 0 AndAlso RECHNUNG.DruckDatumZeit Is Nothing AndAlso (RD_DRUCK = 2 Or RD_DRUCK = 5) AndAlso (RECHNUNG.Status = 0 Or RECHNUNG.Status = 2) Then ' (RECHNUNG.Status <> 4 ANDAlso RECHNUNG.Status <> 0) WARUM NOCHMALS?? enableAUTOMAIL = True + If setDefaultAutoMailversand AndAlso Not (FIRMA.Firma_ID = 19) Then cbxAUTOMailversand.Checked = True Else enableAUTOMAIL = False - End If - - - - End If + + + + End If + ' If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then ' 'Button8.Enabled = Not enableAUTOMAIL ' 'Button9.Enabled = Not enableAUTOMAIL diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 828d9022..28da8e54 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -3546,23 +3546,40 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land Dim OffertenNr As Integer Dim Abfertigungsart As Integer + + + Dim KUNDE_ERW As New cKundenErweitert(KdNr) + + Dim anh_Bez As String = "Email-Anhang" + + If KUNDE_ERW IsNot Nothing AndAlso KUNDE_ERW.kde_Fakturierung_Sprache IsNot Nothing Then + + Select Case KUNDE_ERW.kde_Fakturierung_Sprache + Case "DE" + anh_Bez = "Email-Anhang" + RG.RechnungSprache = KUNDE_ERW.kde_Fakturierung_Sprache + Case Else + anh_Bez = "Email-Attachement" + RG.RechnungSprache = "EN" + End Select + + End If + Select Case Lieferant - Case "PLOSE" : OffertenNr = 80 : Abfertigungsart = 10 : RG.Anlage_1 = "" - Case "ASFINAG" : OffertenNr = 11 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang" - Case "UTA" : OffertenNr = 30 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang" - Case "MSE" : OffertenNr = 23 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang" - Case "IDS" : OffertenNr = 17 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang" - Case "IDS_AT" : OffertenNr = 21 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang" + Case "PLOSE" : OffertenNr = 80 : Abfertigungsart = 10 : RG.Anlage_1 = anh_Bez + Case "ASFINAG" : OffertenNr = 11 : Abfertigungsart = 10 : RG.Anlage_1 = anh_Bez + Case "UTA" : OffertenNr = 30 : Abfertigungsart = 10 : RG.Anlage_1 = anh_Bez + Case "MSE" : OffertenNr = 23 : Abfertigungsart = 10 : RG.Anlage_1 = anh_Bez + Case "IDS" : OffertenNr = 17 : Abfertigungsart = 10 : RG.Anlage_1 = anh_Bez + Case "IDS_AT" : OffertenNr = 21 : Abfertigungsart = 10 : RG.Anlage_1 = anh_Bez End Select RG.Firma_ID = 19 'RG.Firma_ID = 15 - RG.FilialenNr = SPEDBUCH.FilialenNr RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr RG.UnterNr = RG.getMaxRGUnterNr() - RG.Buchungsjahr = cRKSV.getGJ(datPloseAnhang.Value, RG.Firma_ID) 'If(Now.Month = 1, Now.Year - 1, Now.Year) RG.FilialenNr = SPEDBUCH.FilialenNr RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum @@ -3571,7 +3588,6 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land RG.BelegartenNr = 70 RG.BelegartenBez = "Rechnung" RG.Vorzeichen = "+" - RG.VermittlerKundenNr = AD.AdressenNr RG.VermittlerLandKz = AD.LandKz RG.VermittlerName_1 = AD.Name_1 @@ -3581,7 +3597,6 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land RG.VermittlerStraße = AD.Straße RG.Rechnung_an = 3 RG.OffertenNr = OffertenNr - RG.KundenNrZentrale = KD.KundenNrZentrale RG.RechnungsKundenNr = AD.AdressenNr RG.RechnungsLandKz = AD.LandKz @@ -3589,52 +3604,35 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land RG.RechnungsName_2 = AD.Name_2 RG.RechnungsOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")) RG.RechnungsStraße = AD.Straße - RG.RechnungsUstIdKz = AD.UstIdKz RG.RechnungsUstIdNr = AD.UstIdNr RG.RechnungsUstIdGeprüft = AD.UstIdGeprüft - RG.Lastschrift = KD.Lastschrift RG.Kunden_SVS = KD.SVS RG.Steuerschlüssel = KD.Steuerschlüssel RG.Vorkasse = KD.Vorkasse RG.Vorlageprovision_Proz = KD.Vorlageprovision RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen - RG.RechnungSprache = "DE" - RG.Anlage_2 = "" RG.Anlage_3 = "" RG.Anlage_4 = "" RG.Anlage_5 = "" RG.Anlage_6 = "" - RG.Text = "" RG.EMailRechnungstext = Nothing ' "" - - RG.Nettozahlungsziel = KD.Zahlungsziel - RG.SteuerpflichtigerGesamtbetrag = 0 RG.SteuerfreierGesamtbetrag = 0 RG.Status = 0 '<= Status während der Erfassung über die Maut/Diesel-Schnittstelle - Nach Abschluss der Datenübernahme Änderung auf 0 20231220 -> gleich auf 0 setzen! - RG.[Vorkosten] = 0 RG.[Erlös] = 0 - 'RG.[Buchungsjahr] = 0 RG.[Währungscode] = "EUR" RG.ReErfZeitstempel = Now - - RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME - 'RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum, RG.Firma_ID) - Dim sqlstr As String = "" Dim useNettogesamtbetrag As Boolean = False - 'If KdNr = "401715" Or KdNr = "401943" Or KdNr = "402179" Or KdNr = "402598" Or KdNr = "402656" Or KdNr = "402688" Or KdNr = "402719" Or KdNr = "402888" Or KdNr = "402933" Then - 'MsgBox("Test") - 'End If Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 @@ -3642,9 +3640,7 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land 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 - ' 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] " sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode " diff --git a/VERAG_PROG_ALLGEMEIN/AuditFlow/frmFirmenuebersicht.vb b/VERAG_PROG_ALLGEMEIN/AuditFlow/frmFirmenuebersicht.vb index 8488b71b..35719602 100644 --- a/VERAG_PROG_ALLGEMEIN/AuditFlow/frmFirmenuebersicht.vb +++ b/VERAG_PROG_ALLGEMEIN/AuditFlow/frmFirmenuebersicht.vb @@ -10,7 +10,7 @@ Public Class frmFirmenuebersicht Private Sub frminterneEmailBenachrichtigungen_Load(sender As Object, e As EventArgs) Handles Me.Load - VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True + VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False loadDGVMailbenachrichtigungen() diff --git a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb index 8c0e4934..3fd10af7 100644 --- a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb +++ b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb @@ -7,13 +7,9 @@ Imports System.Text Imports System.Text.RegularExpressions Imports System.Windows.Forms Imports System.Xml -Imports DocumentFormat.OpenXml Imports iText.Kernel.Pdf Imports iText.Kernel.Pdf.Filespec -Imports iText.Kernel.XMP -Imports iText.Kernel.XMP.Options Imports iText.Pdfa -Imports iText.Pdfa.Exceptions Imports iTextSharp.text Imports iTextSharp.text.pdf Imports Spire.Pdf @@ -21,7 +17,6 @@ Imports Spire.Pdf.Attachments Imports Spire.Pdf.Graphics Imports Spire.Pdf.Print Imports Font = iTextSharp.text.Font -Imports PdfName = iTextSharp.text.pdf.PdfName @@ -39,6 +34,7 @@ Public Class cDATENSERVER 'Property da_pfad As Object = Nothing Property da_info As String = "" Property da_multifiles As Boolean = False + Property da_date As Object = Nothing Public Property DATA_LIST As New cDatenserverIDCollectionList @@ -117,6 +113,7 @@ Public Class cDATENSERVER Me.da_name = dr.Item("da_name") Me.da_info = dr.Item("da_info") Me.da_multifiles = dr.Item("da_multifiles") + Me.da_date = dr.Item("da_date") DATA_LIST = New cDatenserverIDCollectionList(Me.da_id, rootDir) End If @@ -152,6 +149,7 @@ Public Class cDATENSERVER Me.da_vorlage = dr.Item("da_vorlage") Me.da_info = dr.Item("da_info") Me.da_multifiles = dr.Item("da_multifiles") + Me.da_date = dr.Item("da_date") DATA_LIST = New cDatenserverIDCollectionList(Me.da_id, rootDir) End If