ustva, fakturierung, etc.

This commit is contained in:
2025-02-26 16:32:15 +01:00
parent 99c1cd11a5
commit 55295180fd
3 changed files with 93 additions and 10 deletions

View File

@@ -1792,7 +1792,7 @@ Public Class frmMDM_USTVAntrag
Next
End If
If list.Count = 0 Then Exit Sub
If list.Count = 0 Then Me.Cursor = Cursors.Default : Exit Sub
If list.Count > 1 Then
Dim pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("RG_" & Now.ToString("ddMMyyyyHHmmss") & ".pdf", ".pdf", False, False)

View File

@@ -65,13 +65,13 @@ Public Class ustCntlUSTV_AntragPosition
Dim da_id = -1
Select Case If(UStV_POS.UStVPo_SchnittstellenNr, -1)
Case 6, 0 : da_id = sql.getValueTxtBySql("SELECT TOP(1) [plInv_daId] FROM [tblPLOSE_Inv_Data] where plInv_SupplierRechnungsDatum='" & UStV_POS.UStVPo_ReDat & "' and plInv_SupplierRechnungsNr='" & UStV_POS.UStVPo_ReNr & "' and plInv_SupplierCountry='" & Antrag_LandKz & "' AND [plInv_daId] is not null", "FMZOLL",,, -1)
Case 7 : da_id = sql.getValueTxtBySql("SELECT TOP(1) [rmc_daId] FROM [tblRMCImport] where rmc_reDatum='" & UStV_POS.UStVPo_ReDat & "' and rmc_reNr='" & UStV_POS.UStVPo_ReNr & "' and rmc_landKZ='" & Antrag_LandKz & "' AND [rmc_daId] is not null", "FMZOLL",,, -1)
Case 4, 9 : da_id = sql.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblMSEInvoices] as inv inner join tblMSECustomers on inv.customer_number = customer_id where invoice_date='" & UStV_POS.UStVPo_ReDat & "' and country='" & Antrag_LandKz & "' AND partner_customer_number = " & kdnr & " AND daId is not null", "FMZOLL",,, -1)
Case 10 : da_id = sql.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblUTAImportNew] where Rechnungsdatum='" & UStV_POS.UStVPo_ReDat & "' and Abrechnungsnummer='" & UStV_POS.UStVPo_ReNr & "' and Lieferland_ISO2='" & Antrag_LandKz & "' AND daId is not null", "FMZOLL",,, -1)
Case 8 : da_id = sql.getValueTxtBySql("SELECT TOP(1) tblIDSInvoicesNew.daId FROM [tblIDSTransactionsNew] INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode LEFT JOIN tblIDSInvoicesNew on tblIDSInvoicesNew.CustomerCode = tblIDSTransactionsNew.CustomerCode and tblIDSInvoicesNew.Invoicenumber = Paymentsummarynumber where tblIDSTransactionsNew.[YearMonthDay] ='" & UStV_POS.UStVPo_ReDat & "' and ISNULL(tblIDSTransactionsNew.[OBONumber], ISNULL(tblIDSTransactionsNew.[VRNumber], tblIDSTransactionsNew.[Paymentsummarynumber])) ='" & UStV_POS.UStVPo_ReNr & "' and tbl_IDS_Länder.Lieferland_ISO2='" & Antrag_LandKz & "' AND tblIDSInvoicesNew.daId is not null", "FMZOLL",,, -1)
Case 1 : da_id = 1 'VERAG-RECHNUGNEN werden immer direkt OHNE daid geöffnet!
Case -1 : IIf(UStV_POS.UStVPo_daId > 0, UStV_POS.UStVPo_daId, -1)
Case 6, 0 : da_id = sql.getValueTxtBySql("SELECT TOP(1) [plInv_daId] FROM [tblPLOSE_Inv_Data] where plInv_SupplierRechnungsDatum='" & UStV_POS.UStVPo_ReDat & "' and plInv_SupplierRechnungsNr='" & UStV_POS.UStVPo_ReNr & "' and plInv_SupplierCountry='" & Antrag_LandKz & "' AND [plInv_daId] is not null", "FMZOLL",,, -1) : scanSonstiges.Enabled = False
Case 7 : da_id = sql.getValueTxtBySql("SELECT TOP(1) [rmc_daId] FROM [tblRMCImport] where rmc_reDatum='" & UStV_POS.UStVPo_ReDat & "' and rmc_reNr='" & UStV_POS.UStVPo_ReNr & "' and rmc_landKZ='" & Antrag_LandKz & "' AND [rmc_daId] is not null", "FMZOLL",,, -1) : scanSonstiges.Enabled = True
Case 4, 9 : da_id = sql.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblMSEInvoices] as inv inner join tblMSECustomers on inv.customer_number = customer_id where invoice_date='" & UStV_POS.UStVPo_ReDat & "' and country='" & Antrag_LandKz & "' AND partner_customer_number = " & kdnr & " AND daId is not null", "FMZOLL",,, -1) : scanSonstiges.Enabled = True
Case 10 : da_id = sql.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblUTAImportNew] where Rechnungsdatum='" & UStV_POS.UStVPo_ReDat & "' and Abrechnungsnummer='" & UStV_POS.UStVPo_ReNr & "' and Lieferland_ISO2='" & Antrag_LandKz & "' AND daId is not null", "FMZOLL",,, -1) : scanSonstiges.Enabled = True
Case 8 : da_id = sql.getValueTxtBySql("SELECT TOP(1) tblIDSInvoicesNew.daId FROM [tblIDSTransactionsNew] INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode LEFT JOIN tblIDSInvoicesNew on tblIDSInvoicesNew.CustomerCode = tblIDSTransactionsNew.CustomerCode and tblIDSInvoicesNew.Invoicenumber = Paymentsummarynumber where tblIDSTransactionsNew.[YearMonthDay] ='" & UStV_POS.UStVPo_ReDat & "' and ISNULL(tblIDSTransactionsNew.[OBONumber], ISNULL(tblIDSTransactionsNew.[VRNumber], tblIDSTransactionsNew.[Paymentsummarynumber])) ='" & UStV_POS.UStVPo_ReNr & "' and tbl_IDS_Länder.Lieferland_ISO2='" & Antrag_LandKz & "' AND tblIDSInvoicesNew.daId is not null", "FMZOLL",,, -1) : scanSonstiges.Enabled = True
Case 1 : da_id = 1 : scanSonstiges.Enabled = False 'VERAG-RECHNUGNEN werden immer direkt OHNE daid geöffnet!
Case -1 : IIf(UStV_POS.UStVPo_daId > 0, UStV_POS.UStVPo_daId, -1) : scanSonstiges.Enabled = True
End Select
If da_id > -1 Then
@@ -439,4 +439,10 @@ Public Class ustCntlUSTV_AntragPosition
UStV_POS.UStVPo_daId = id
UStV_POS.SAVE()
End Sub
Private Sub scanSonstiges_FileDeleted() Handles scanSonstiges.FileDeleted
getValues(UStV_POS, True)
UStV_POS.UStVPo_daId = -1
UStV_POS.SAVE()
End Sub
End Class

View File

@@ -5,6 +5,8 @@ Public Class usrcntlFakturierung
Dim FMZOLL_SQL As New FMZOLL_SQL
Dim PathMautberichte = ""
Dim countCSV As Integer = 0
Dim countPDF As Integer = 0
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnFakturierung.Click
Me.Cursor = Cursors.WaitCursor
@@ -605,7 +607,7 @@ Public Class usrcntlFakturierung
Private Function Bankspesen(Sachbearbeiter As String, rechnungsdatum As Date, Optional kdNr As Integer = -1)
Dim isSet As Boolean = False
Dim isSet As Boolean = True
Dim sqlBB = " Select Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift
From dbo.Rechnungsausgang
@@ -1234,7 +1236,7 @@ Public Class usrcntlFakturierung
Dim dt_PDF_selected = dtBerichtkunden_PDF.Select("[Customer No] ='" & pdf.Item(0) & "'").CopyToDataTable
Dim dtLaender As DataTable = (New SQL).loadDgvBySql("SELECT tblMautbericht.[Customer No], tblMautbericht.[Transaction Country], sum(tblMautbericht.[Net Amount]) as Netto, sum(tblMautbericht.[VAT Amount]) as MWST, sum(tblMautbericht.[Total Amount]) as Brutto
FROM tblMautbericht WHERE [Customer No] ='" & pdf.Item(0) & "'
FROM tblMautbericht WHERE [Customer No] ='" & pdf.Item(0) & "' AND Billingdate = '" & cbxDateMautbericht._value & "'
GROUP BY [Customer No], [Transaction Country]
ORDER BY tblMautbericht.[Customer No], tblMautbericht.[Transaction Country]", "FMZOLL")
@@ -1584,8 +1586,75 @@ Public Class usrcntlFakturierung
WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.pdf')", "FMZOLL",, 0)
MsgBox("Anzahl CSV-Anhänge: " & rechnungenMitGesamtmautanhantCSV & vbNewLine & "Anzahl PDF-Anhänge: " & rechnungenMitGesamtmautanhantPDF)
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
If Not Directory.GetFiles(PathMautberichte).Count = (countCSV + countPDF) Then Exit Sub
End If
Dim sqlCSV = "SELECT VermittlerKundenNr FROM Rechnungsausgang
inner join RechnungsausgangAnhaenge on Rechnungsausgang.RK_ID = RechnungsausgangAnhaenge.RK_ID
WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.csv') order by VermittlerKundenNr "
Dim sqlPDF = "SELECT VermittlerKundenNr FROM Rechnungsausgang
inner join RechnungsausgangAnhaenge on Rechnungsausgang.RK_ID = RechnungsausgangAnhaenge.RK_ID
WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.pdf') order by VermittlerKundenNr "
Dim dtVorhandeneCSV As DataTable = (New SQL).loadDgvBySql(sqlCSV, "FMZOLL")
Dim dtVorhandenePDF As DataTable = (New SQL).loadDgvBySql(sqlPDF, "FMZOLL")
Dim dtMissing As New DataTable()
dtMissing.Columns.Add("name", GetType(String))
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
For Each f In Directory.GetFiles(PathMautberichte)
If f.ToString.ToLower.EndsWith(".pdf") Then
Dim fileInfo As New FileInfo(f.ToString)
Dim KdNr As Integer = CInt(fileInfo.Name.ToString.Substring(0, 6))
If Not CheckValue(dtVorhandenePDF, Function(x) x("VermittlerKundenNr") = KdNr) Then
dtMissing.Rows.Add(fileInfo.Name)
End If
End If
If f.ToString.ToLower.EndsWith(".csv") Then
Dim fileInfo As New FileInfo(f.ToString)
Dim KdNr As Integer = CInt(fileInfo.Name.ToString.Substring(0, 6))
If Not CheckValue(dtVorhandeneCSV, Function(x) x("VermittlerKundenNr") = KdNr) Then
dtMissing.Rows.Add(fileInfo.Name)
End If
End If
Next
If dtMissing.Rows.Count > 0 Then
Dim b = New System.Text.StringBuilder()
For Each resultRow In dtMissing.Rows
b.Append(resultRow(0) & vbNewLine)
Next
MsgBox("Folgende Anhänge wurden NICHT an die Rechnung angehängt:" & vbNewLine & b.ToString)
End If
End If
End Sub
Private Sub dtRechnungsdatum_ValueChanged(sender As Object, e As EventArgs) Handles dtRechnungsdatum.ValueChanged
@@ -1797,4 +1866,12 @@ Public Class usrcntlFakturierung
End Sub
Shared Function CheckValue(myTable As DataTable, checkFunc As Func(Of DataRow, Boolean)) As Boolean
For Each row As DataRow In myTable.Rows
If checkFunc(row) Then Return True
Next
Return False
End Function
End Class