diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 3771b9a0..f3886f46 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -320,6 +320,12 @@ Public Class frmMDM_USTVAntrag ContextMenuStrip2.Items.Add(ids) End If + If Not ContextMenuStrip2.Items.ContainsKey("verag") Then + Dim ids = New ToolStripMenuItem() With {.Text = "VERAG", .Name = "verag", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)} + AddHandler ids.Click, AddressOf mnuItemAuftrauege_Clicked + ContextMenuStrip2.Items.Add(ids) + End If + ContextMenuStrip2.Show(Cursor.Position) @@ -348,9 +354,15 @@ Public Class frmMDM_USTVAntrag ElseIf item.Name = "ids" Then loadUSTVFrom_IDS(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked) init() + + ElseIf item.Name = "verag" Then + loadUSTVFrom_VERAG(UStVAn_ID, Antrag_LandKz, cbxArchivierteEintracheNochmalsEinarbetien.Checked) + init() End If End If + + End Sub @@ -428,6 +440,112 @@ Public Class frmMDM_USTVAntrag End Function + Shared Function loadUSTVFrom_VERAG(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean + Try + Dim bytSchnittstellenNr = 1 + Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID) + 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 + + If GET_Rechnungen Then + + For Each r As DataRow In dt_RE.Rows + + Dim USTV_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen + USTV_POS.UStVAn_ID = USTV_ANTRAG.[UStVAn_ID] + USTV_POS.UStVPo_ID = USTV_ANTRAG.getMaxPosNr + + USTV_POS.UStVPo_ReDat = r.Item("Rechnungsdatum") + 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 + + 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 + + + ' 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 + ' 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 + + + '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 + + + + USTV_POS.INSERT() + End If + Next + 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) + + End If + Return True + Catch ex As Exception + Return False + End Try + End Function + + Shared Function loadUSTVFrom_RMC(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean Try Dim bytSchnittstellenNr = 7 diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index b09e2867..f8a31ba9 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -366,7 +366,7 @@ Public Class frmMDMDatenverarbetiung AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart) as temp - where temp.abgerechnet <> 1 and cast(Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "' + where isnull(temp.abgerechnet,0) = 0 and cast(Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "' GROUP BY Kundennummer, KundenNr, [Name 1], LandKz, Ort, Lieferland, Kartennummer" Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") @@ -730,7 +730,7 @@ Public Class frmMDMDatenverarbetiung 'Exit Sub 'MsgBox(.sql) - .SET_SQL("SELECT Kundennummer, KundenNr, [Name 1], LandKz, Ort, /*Lieferland, Kartennummer,*/ Sum(Gesamtbetrag_Netto_in_Darstellwährung) AS Netto, Sum(Gesamtbetrag_Brutto_in_Darstellwährung) AS Brutto + .SET_SQL(" SELECT Kundennummer, KundenNr, [Name 1], LandKz, Ort, Sum(Gesamtbetrag_Netto_in_Darstellwährung) AS Netto, Sum(Gesamtbetrag_Brutto_in_Darstellwährung) AS Brutto from ( SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Adressen.UTAExportCSV, Adressen.Rechnungsdruck, Offertenpositionen.KundenNr, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImportNew.* FROM tblUTAFakturierwarenarten @@ -742,7 +742,7 @@ Public Class frmMDMDatenverarbetiung AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart) as temp - where temp.abgerechnet <> 1 and [Rechnungsdatum] = '" & DateTimePicker2.Text & "' + where isnull(temp.abgerechnet,0) = 0 and cast([Rechnungsdatum] as Date) = '" & DateTimePicker2.Text & "' GROUP BY Kundennummer, KundenNr, [Name 1], LandKz, Ort", "FMZOLL") .LOAD() 'MsgBox(.GET_SQL()) @@ -1199,7 +1199,7 @@ Public Class frmMDMDatenverarbetiung 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 isnull(abgerechnet,0) = 0 and [Rechnungsdatum] = '" & DateTimePicker2.Text & "' + where isnull(abgerechnet,0) = 0 and cast([Rechnungsdatum] as date) = '" & DateTimePicker2.Text & "' group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck" Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200) @@ -1487,7 +1487,7 @@ Public Class frmMDMDatenverarbetiung LEFT JOIN tblIDSInvoicesNew on tblIDSInvoicesNew.CustomerCode = tblIDSTransactionsNew.CustomerCode and tblIDSInvoicesNew.Invoicenumber = Paymentsummarynumber - WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null and isnull(charged,0)= 0 and " & sqlWhere & " + WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null and isnull(charged,0)= 0 " & sqlWhere & " order by tblIDSTransactionsNew.KdNrVERAG" Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200) @@ -4302,7 +4302,7 @@ Public Class frmMDMDatenverarbetiung PictureBox1.Visible = True End If Case "UTA" - If SQL.doSQL("UPDATE [tblUTAImportNew] set abgerechnet=1 where abgerechnetDatum is not null and isnull(abgerechnet,0) = 0 And and tblUTAImportNew.Rechnungsdatum = '" & DateTimePicker2.Text & "'", "FMZOLL") Then + If SQL.doSQL("UPDATE [tblUTAImportNew] set abgerechnet=1 where abgerechnetDatum is not null and isnull(abgerechnet,0) = 0 And tblUTAImportNew.Rechnungsdatum = '" & DateTimePicker2.Text & "'", "FMZOLL") Then PictureBox1.Visible = True End If Case "MSE" diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb b/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb index 42b74f4d..9461c104 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb @@ -186,6 +186,39 @@ Public Class cTrdInvoice Return SQL.doSQL(sqlstr, "FMZOLL") End Function + Public Shared Function GET_RECHNUNGEN(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer) As Boolean + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + + 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) + + cmd.Parameters.AddWithValue("@von", von) + cmd.Parameters.AddWithValue("@bis", bis) + cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) + 'If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) + + Dim dr = cmd.ExecuteReader() + dt.Load(dr) + 'While dr.Read + ' dt.Load(dr) + 'End While + dr.Close() + + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + + End Function + End Class @@ -320,6 +353,38 @@ Public Class cTrdProduct End Function + Public Shared Function GET_PRODUCTS(ByRef dt As DataTable, RechnungsDatum As Date, RechnungsNr As Integer) As Boolean + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + + Using cmd As New SqlCommand(" SELECT tblTrdinProduct.Leistungsnummer, tblTrdinProduct.Leistungsbezeichnung + FROM tblTrdinProduct + WHERE cast(tblTrdinProduct.Rechnungsdatum as Date) =@reDatum AND tblTrdinProduct.Rechnungsnummer=@RechnungsNr AND tblTrdinProduct.Steuerpflichtig=1 + ORDER BY tblTrdinProduct.Leistungsnummer, tblTrdinProduct.Leistungsbezeichnung", conn) + + + cmd.Parameters.AddWithValue("@reDatum", RechnungsDatum) + cmd.Parameters.AddWithValue("@RechnungsNr", RechnungsNr) + 'If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) + + Dim dr = cmd.ExecuteReader() + dt.Load(dr) + 'While dr.Read + ' dt.Load(dr) + 'End While + dr.Close() + + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + + End Function End Class