diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index f0a0d2de..e6351979 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index f3886f46..9fe54fe9 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -447,8 +447,7 @@ Public Class frmMDM_USTVAntrag Dim dt_RE As New DataTable Dim GET_Rechnungen = cTrdInvoice.GET_RECHNUNGEN(dt_RE, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr) - Return False - + Dim verarbeitet As Boolean = True If GET_Rechnungen Then For Each r As DataRow In dt_RE.Rows @@ -461,82 +460,75 @@ Public Class frmMDM_USTVAntrag USTV_POS.UStVPo_ReNr = r.Item("Rechnungsnummer") USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr - Dim dt_Prod As New DataTable - Dim GET_Positionen = cTrdProduct.GET_PRODUCTS(dt_Prod, USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr) - - If GET_Positionen Then - For Each pos As DataRow In dt_RE.Rows - If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then + + If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then USTV_POS.UStVPo_Schnittstelle = True - USTV_POS.UStVPo_Leistender = "VERAG 360 GmbH; 4975 Suben" USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME USTV_POS.UStVPo_Zeitstempel = Now() - ' USTV_POS.UStVPo_USteuerbetragEUR = ANTRAG.plose_MWSTBetragWaehrungAbbuchung + + Dim dt_Prod As New DataTable + Dim GET_Positionen = cTrdProduct.GET_PRODUCTS(dt_Prod, USTV_POS.UStVPo_ReDat, USTV_POS.UStVPo_ReNr) + + If GET_Positionen Then + For Each pos As DataRow In dt_Prod.Rows + + Select Case pos.Item("Leistungsnummer") + Case 135 To 139, 141, 654, 655, 658 To 668, 670 To 678 - ' Select Case pos.Item("Leistungsnummer") - ' Case 135 To 139, 141, 654, 655, 658 To 668, 670 To 678 + If USTV_POS.UStVPo_Leistungsbezeichnung Is Nothing Then + USTV_POS.UStVPo_Leistungsbezeichnung = pos.Item("Leistungsbezeichnung") + Else + Dim result As String = Microsoft.VisualBasic.Strings.Left(pos.Item("Leistungsbezeichnung") & vbCrLf & USTV_POS.UStVPo_Leistungsbezeichnung, 255) + USTV_POS.UStVPo_Leistungsbezeichnung = result + End If + Case Else + ' Sonstige Kosten + If USTV_POS.UStVPo_Leistungsbezeichnung Is Nothing Then + USTV_POS.UStVPo_Leistungsbezeichnung = pos.Item("Leistungsbezeichnung") + Else + Dim result As String = Microsoft.VisualBasic.Strings.Left(USTV_POS.UStVPo_Leistungsbezeichnung & vbCrLf & pos.Item("Leistungsbezeichnung"), 255) + + USTV_POS.UStVPo_Leistungsbezeichnung = result + End If + End Select - ' If USTV_POS.UStVPo_Leistungsbezeichnung Is Nothing Then - ' USTV_POS.UStVPo_Leistungsbezeichnung = pos.Item("Leistungsbezeichnung") - ' Else - ' USTV_POS.UStVPo_Leistungsbezeichnung = Left(rstRP!Leistungsbezeichnung & vbCrLf & !UStVPo_Leistungsbezeichnung, 255) - ' End If - 'Case Else - '' Sonstige Kosten - 'If IsNull(!UStVPo_Leistungsbezeichnung) Then - ' !UStVPo_Leistungsbezeichnung = rstRP!Leistungsbezeichnung - 'Else - ' !UStVPo_Leistungsbezeichnung = Left(!UStVPo_Leistungsbezeichnung & vbCrLf & rstRP!Leistungsbezeichnung, 255) - 'End If - 'End Select + Next + End If - '7410 Do Until rstRP.EOF - '7420 Select Case rstRP!Leistungsnummer - ' Case 135 To 139, 141, 654, 655, 658 To 668, 670 To 678 - ' ' Maut und Diesel - '7430 If IsNull(!UStVPo_Leistungsbezeichnung) Then - '7440 !UStVPo_Leistungsbezeichnung = rstRP!Leistungsbezeichnung - '7450 Else - '7460 !UStVPo_Leistungsbezeichnung = Left(rstRP!Leistungsbezeichnung & vbCrLf & !UStVPo_Leistungsbezeichnung, 255) - '7470 End If - '7480 Case Else - ' ' Sonstige Kosten - '7490 If IsNull(!UStVPo_Leistungsbezeichnung) Then - '7500 !UStVPo_Leistungsbezeichnung = rstRP!Leistungsbezeichnung - '7510 Else - '7520 !UStVPo_Leistungsbezeichnung = Left(!UStVPo_Leistungsbezeichnung & vbCrLf & rstRP! , 255) - '7530 End If - '7540 End Select - '7550 rstRP.MoveNext - '7560 Loop - '7570 rstRP.Close - '7580 Set rstRP = Nothing - '7590 qryRP.Close - '7600 Set qryRP = Nothing - ' ' Berechnungen - '7610 !UStVPo_USteuerbetragEUR = rstRK!SteuerbetragLokal - '7620 !UStVPo_Umrechnungskurs = fktEurokurs(Forms!frmUStVAntragserfassung![UStVAn_Währungscode], ![UStVPo_ReDat]) - '7630 !UStVPo_USteuerbetrag = Int(![UStVPo_USteuerbetragEUR] * !UStVPo_Umrechnungskurs * 100 + 0.5) / 100 + 'Berechnungen + Dim umrechKurs As Double = 1 + Dim UST_EUR = CDbl(r.Item("SteuerbetragLokal")) + USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR 'Math.Round((UST_org / umrechKurs), 2) + USTV_POS.UStVPo_Umrechnungskurs = umrechKurs + USTV_POS.UStVPo_USteuerbetrag = UST_EUR - - USTV_POS.INSERT() + Dim sql As New SQL + If USTV_POS.INSERT() Then + verarbeitet = sql.doSQL("Update tblTrdinInvoice SET tblTrdinInvoice.UStVAn_ID = NULL WHERE tblTrdinInvoice.Rechnungsdatum = '" & USTV_POS.UStVPo_ReDat & "' And tblTrdinInvoice.Rechnungsnummer = " & USTV_POS.UStVPo_ReNr, "FMZOLL") + If Not verarbeitet Then + MsgBox("Fehler beim Setzen der UStVAn_ID") + Return verarbeitet End If - Next + End If + + + End If Next 'Einträge als archivert setzen ' vormals wichtig - MDM_Worker.cPLOSE.UPDATE_ARCHIV(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_ID) + Return verarbeitet + End If Return True @@ -997,7 +989,7 @@ Public Class frmMDM_USTVAntrag Case 1 'VERAG 360 GmbH; 4975 Suben 'UStV-Antragsnummer im Buchungssatz löschen. - sqlText = "Update tblTrdinInvoice SET tblTrdinInvoice.UStVAn_ID = NULL WHERE tblTrdinInvoice.Rechnungsdatum = " & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat & " And tblTrdinInvoice.Rechnungsnummer = " & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr + sqlText = "Update tblTrdinInvoice SET tblTrdinInvoice.UStVAn_ID = NULL WHERE tblTrdinInvoice.Rechnungsdatum = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat & "' And tblTrdinInvoice.Rechnungsnummer = " & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr If Not test Then updated = SQL.doSQL(sqlText, "FMZOLL") Case 2 ' UStV-Antragsnummer im IDSDieseldatenArchiv löschen 'IDS alte Schnittstelle - OK diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index f8a31ba9..4519c691 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -3466,13 +3466,13 @@ Public Class frmMDMDatenverarbetiung useNettogesamtbetrag = False - sqlstr = " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort,Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImportNew.Fakturierwarenart,sum(tblUTAImportNew.Gesamtbetrag_Netto_in_Lieferlandwährung) as Netto ,sum(tblUTAImportNew.Gesamtbetrag_Brutto_in_Lieferlandwährung) as Brutto + sqlstr = " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort,Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, sum(tblUTAImportNew.Gesamtbetrag_Netto_in_Lieferlandwährung) as Netto ,sum(tblUTAImportNew.Gesamtbetrag_Brutto_in_Lieferlandwährung) as Brutto /*,tblUTAFakturierwarenarten.Warenart, tblUTAImportNew.Fakturierwarenart*/ FROM tblUTAFakturierwarenarten INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer) INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr) INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart where Offertenpositionen.LeistungsNr is not null AND Offertenpositionen.OffertenNr = " & OffertenNr & " AND Offertenpositionen.KundenNr = " & KdNr & - "group by Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart,tblUTAImportNew.Fakturierwarenart" + "group by Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez /*, tblUTAFakturierwarenarten.Warenart,tblUTAImportNew.Fakturierwarenart*/" Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") @@ -3573,9 +3573,10 @@ Public Class frmMDMDatenverarbetiung Dim UstBetrag As Double = r("Steuerbetrag") 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) + allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag - Rabatt, UstBetrag, LeistungsBez) 'bei IDS muss ebenfalls die LeistungsBez korrekt sein! Next @@ -3680,11 +3681,11 @@ Public Class frmMDMDatenverarbetiung End Function - Function allPos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double, Optional UstBetrag As Double = 0) + Function allPos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double, Optional UstBetrag As Double = 0, Optional leistungsBez As String = "") Try For Each o In OFFERTE.POSITIONEN - If o.LeistungsNr = LeistungsNr Then + If o.LeistungsNr = LeistungsNr AndAlso IIf(leistungsBez <> "", o.LeistungsBez = leistungsBez, True) Then ' bei IDS muss ebenfalls die Leistungsbezeichnung eindeutig sein! 'Dim PARK = RECHNUNG.POSITIONEN.FindAll(Function(x) (x.LeistungsNr = 313 Or x.LeistungsNr = 312)) 'If PARK Is Nothing Then @@ -4142,7 +4143,7 @@ Public Class frmMDMDatenverarbetiung End If - Dim sqlStringfehlendeLeistungsNr = "select count(*) from (SELECT Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG FROM Leistungen INNER Join tbl_IDS_Länder On Leistungen.LeistungsNr = tbl_IDS_Länder.LeistungsNr INNER Join tblIDSTransactionsNew On tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode Left JOIN Offertenpositionen on Offertenpositionen.KundenNr IN (select tblIDSTransactionsNew.KdNrVERAG from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "') and Leistungen.LeistungsNr = Offertenpositionen.LeistungsNr and ( Offertenpositionen.OffertenNr=17 or Offertenpositionen.OffertenNr=21) where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' and Offertenpositionen.LeistungsNr is null Group by Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG ) as t1" 'Verag360 und VeragAG + Dim sqlStringfehlendeLeistungsNr = "select count(*) from (SELECT Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG FROM Leistungen INNER Join tbl_IDS_Länder On Leistungen.LeistungsNr = tbl_IDS_Länder.LeistungsNr INNER Join tblIDSTransactionsNew On tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode Left JOIN Offertenpositionen on Offertenpositionen.KundenNr IN (select tblIDSTransactionsNew.KdNrVERAG from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "') and Leistungen.LeistungsNr = Offertenpositionen.LeistungsNr and Leistungen.LeistungsBez = Offertenpositionen.LeistungsBez and ( Offertenpositionen.OffertenNr=17 or Offertenpositionen.OffertenNr=21) where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' and Offertenpositionen.LeistungsNr is null Group by Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG ) as t1" 'Verag360 und VeragAG Dim fehlendeLeistungsNr As Integer = CInt((New SQL).getValueTxtBySql(sqlStringfehlendeLeistungsNr, "FMZOLL")) If fehlendeLeistungsNr > 0 Then diff --git a/SDL/mdm/usrCntlMDMDatenverarbeitungAuswertungen_divers.vb b/SDL/mdm/usrCntlMDMDatenverarbeitungAuswertungen_divers.vb index 7c60a7ee..5478e031 100644 --- a/SDL/mdm/usrCntlMDMDatenverarbeitungAuswertungen_divers.vb +++ b/SDL/mdm/usrCntlMDMDatenverarbeitungAuswertungen_divers.vb @@ -606,7 +606,7 @@ Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers sqlstr = "select Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG FROM Leistungen INNER Join tbl_IDS_Länder On Leistungen.LeistungsNr = tbl_IDS_Länder.LeistungsNr INNER Join tblIDSTransactionsNew On tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode - Left JOIN Offertenpositionen on Offertenpositionen.KundenNr IN (select tblIDSTransactionsNew.KdNrVERAG from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & MAIN.DateTimePicker2.Text & "') and Leistungen.LeistungsNr = Offertenpositionen.LeistungsNr and ( Offertenpositionen.OffertenNr=17 or Offertenpositionen.OffertenNr=21) + Left JOIN Offertenpositionen on Offertenpositionen.KundenNr IN (select tblIDSTransactionsNew.KdNrVERAG from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & MAIN.DateTimePicker2.Text & "') and Leistungen.LeistungsNr = Offertenpositionen.LeistungsNr and Leistungen.LeistungsBez = Offertenpositionen.LeistungsBez and ( Offertenpositionen.OffertenNr=17 or Offertenpositionen.OffertenNr=21) where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & MAIN.DateTimePicker2.Text & "' and Offertenpositionen.LeistungsNr is null Group by Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG" Case Else diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb b/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb index 9461c104..7b28996b 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb @@ -195,7 +195,7 @@ Public Class cTrdInvoice Using cmd As New SqlCommand(" SELECT tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer, tblTrdinInvoice.SteuerbetragLokal, tblTrdinInvoice.UStVAn_ID FROM tblTrdinInvoice WHERE tblTrdinInvoice.Rechnungsdatum Between @von And @bis AND tblTrdinInvoice.SteuerbetragLokal<>0 AND tblTrdinInvoice.RechnungsKundenNr=@AdressenNr AND tblTrdinInvoice.WährungLokal='EUR' - ORDER BY tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnumme", conn) + ORDER BY tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer", conn) cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@bis", bis)