fremdrechnungen, etc.

This commit is contained in:
2025-04-03 15:37:12 +02:00
parent a0a21e0c48
commit 32883956d5
8 changed files with 268 additions and 103 deletions

View File

@@ -2,6 +2,8 @@
Imports System.IO
Imports System.Reflection
Imports System.Windows.Documents
Imports com.sun.org.apache.xml.internal.utils
Imports DAKOSY_Worker.InformationEXITDE
Imports itextsharp.text.pdf
Imports itextsharp.text.pdf.parser
Imports Microsoft.Office.Interop
@@ -43,7 +45,7 @@ Public Class frmMDM_USTVAntrag
End Sub
Sub init(Optional Lieferant As String = "")
Sub init(Optional posIndex As Integer = -1, Optional Lieferant As String = "")
pnlBody.AutoScroll = False
lblGesamtUSteuerFW.Text = "-"
@@ -265,7 +267,21 @@ Public Class frmMDM_USTVAntrag
End If
If posIndex > 0 Then
posIndex = posIndex - 1
If posIndex > 0 And dgvUSTVPositionen.Rows.Count > posIndex Then
dgvUSTVPositionen.ClearSelection()
dgvUSTVPositionen.Rows(posIndex).Selected = True
For Each c As DataGridViewCell In dgvUSTVPositionen.Rows(posIndex).Cells
If c.Visible Then
dgvUSTVPositionen.CurrentCell = c 'Damit der Cursor in der DGV richtig steht
Exit For
End If
Next
End If
End If
End Sub
@@ -375,7 +391,23 @@ Public Class frmMDM_USTVAntrag
Private Sub UsrCntlDatenDetails1_Changed(POSId) Handles UstCntlUSTV_AntragPosition1.CHANGED
'refreshDgv(kdNr, SDLNr, Kfz, History)'?????????????? ausgebelndet,was das ein VErsuch? 31.07.2017
dgvUSTVPositionen.VALUE_CHANGED = True
Dim posIdinDGV As Boolean = False
For Each r As DataGridViewRow In dgvUSTVPositionen.Rows
If r.Cells("UStVPo_ID").Value = POSId Then
posIdinDGV = True
Exit For
End If
Next
If posIdinDGV Then
dgvUSTVPositionen.VALUE_CHANGED = True
Else
init(dgvUSTVPositionen.Rows.Count + 1)
End If
'Dim dgvUSTVPositionen.
'init()
End Sub
Private Sub usrCntlUSTVA_Antrag_Load(sender As Object, e As EventArgs) Handles MyBase.Load
@@ -613,7 +645,7 @@ Public Class frmMDM_USTVAntrag
Shared Function loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien, MWSTSummenAusBeleg) As Boolean
Try
Dim bytSchnittstellenNr = 6
Dim bytSchnittstellenNr = IIf(MWSTSummenAusBeleg, 11, 6)
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
Dim GET_Antraege = MDM_Worker.cPLOSE.GET_Antraege(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien, MWSTSummenAusBeleg)
@@ -711,7 +743,7 @@ Public Class frmMDM_USTVAntrag
End If
If USTV_POS.INSERT() Then
If CDate(USTV_ANTRAG.UStVAn_ReDatVon).Year >= 2025 Then
If bytSchnittstellenNr = 11 Then
MDM_Worker.cPLOSE.UPDATE_ARCHIV_NEULOGIK(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_ID, USTV_POS.UStVPo_ReNr, True)
Else
MDM_Worker.cPLOSE.UPDATE_ARCHIV(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_ID, USTV_POS.UStVPo_ReNr, True)
@@ -1038,7 +1070,7 @@ Public Class frmMDM_USTVAntrag
USTV_POS.UStVPo_Schnittstelle = True
Dim Leistender As New cUStVLeistender("Union Tank Eckstein Gmbh&Co KG, Kleinostheim" & " " & Antrag_LandKz, Antrag_LandKz)
Dim Leistender As New cUStVLeistender("Union Tank Eckstein Gmbh&Co KG" & " " & Antrag_LandKz, Antrag_LandKz)
If Leistender IsNot Nothing Then
USTV_POS.UStVPo_LeistenderId = Leistender.UStV_LeistenderId
@@ -1527,25 +1559,15 @@ Public Class frmMDM_USTVAntrag
AND ([Gesamtbetrag_Brutto_in_Lieferlandwährung]-[Gesamtbetrag_Netto_in_Lieferlandwährung])<>0"
If Not test Then updated = SQL.doSQL(sqlText, "FMZOLL")
Case 6 'PLOSE
If CDate(UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat).Year >= 2025 Then
sqlText = "Update [tblPLOSE_Inv_Data]
set plInv_Archiv=0, [plInv_ArchiviertDatum]=NULL, plInv_UStVAn_ID = NULL
From [tblPLOSE_Inv_Data] INNER Join Adressen On PLOSEKundenNr=plInv_PLOSEKundennummer
WHERE cast(plInv_SupplierRechnungsDatum As Date) = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat & "' And AdressenNr=" & USTV_ANTRAG.UStVAn_KuNr & " AND [plInv_SupplierRechnungsNr] = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr & "'"
Case 6 'PLOSE-alte Logik -> aus Transaktionen
Else
sqlText = "Update [tblPLOSE_Details]
sqlText = "Update [tblPLOSE_Details]
set plose_Archiv=0, [plose_ArchiviertDatum]=NULL, UStVAn_ID = NULL
From [tblPLOSE_Details] INNER Join Adressen On PLOSEKundenNr=plose_POLSEKundennummer
INNER Join [tblPLOSE_Produktbeschreibung] ON [plp_ProductCode]=[plose_ProduktCode]
WHERE cast(plose_RechnungsDatum As Date) = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat & "' And AdressenNr=" & USTV_ANTRAG.UStVAn_KuNr & " AND plose_RechnungsNr = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr & "'
And plose_LieferantCode IN (0,1,7,9) "
End If
If Not test Then updated = SQL.doSQL(sqlText, "FMZOLL")
@@ -1578,6 +1600,15 @@ Public Class frmMDM_USTVAntrag
sqlText = "UPDATE [tblUTAImportNew] set UStVAn_ID = NULL, archiv = 0, archiviertDatum = NULL from [tblUTAImportNew] INNER JOIN Adressen ON [tblUTAImportNew].Kundennummer = Adressen.UTAKundenNr WHERE cast(Rechnungsdatum as date) = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat & "' And Rechnungsnummer_pro_Lieferland = " & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr & " And Adressen.AdressenNr= " & USTV_ANTRAG.UStVAn_KuNr & " AND Lieferland_ISO2 = '" & UstCntlUSTV_AntragPosition1.Antrag_LandKz & "'"
If Not test Then updated = SQL.doSQL(sqlText, "FMZOLL")
Case 11 'PLOSE-neue Logik -> aus Belegen
sqlText = "Update [tblPLOSE_Inv_Data]
set plInv_Archiv=0, [plInv_ArchiviertDatum]=NULL, plInv_UStVAn_ID = NULL
From [tblPLOSE_Inv_Data] INNER Join Adressen On PLOSEKundenNr=plInv_PLOSEKundennummer
WHERE cast(plInv_SupplierRechnungsDatum As Date) = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat & "' And AdressenNr=" & USTV_ANTRAG.UStVAn_KuNr & " AND [plInv_SupplierRechnungsNr] = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr & "'"
If Not test Then updated = SQL.doSQL(sqlText, "FMZOLL")
End Select
If UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value IsNot Nothing AndAlso (UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value > 0 And UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value < 11) Then
@@ -1744,7 +1775,7 @@ Public Class frmMDM_USTVAntrag
Select Case If(SchnittstellenNr, -1)
Case 1 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) RK_ID FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum as Date) ='" & reDat & "' and Rechnungsausgang.RechnungsNr='" & reNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL",,, -1)
'Case 6, 0 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [plInv_daId] FROM [tblPLOSE_Inv_Data] where plInv_SupplierRechnungsDatum='" & reDat & "' and isnull(plose_RechnungsNr,plInv_SupplierRechnungsNr)='" & reNr & "' and plInv_SupplierCountry='" & Antrag_LandKz & "' AND [plInv_daId] is not null", "FMZOLL",,, -1)
Case 6, 0 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [plInv_daId] FROM [tblPLOSE_Inv_Data] where plInv_SupplierRechnungsDatum='" & reDat & "' and plInv_SupplierRechnungsNr='" & reNr & "' and plInv_SupplierCountry='" & Antrag_LandKz & "' AND [plInv_daId] is not null", "FMZOLL",,, -1)
Case 6, 0, 11 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [plInv_daId] FROM [tblPLOSE_Inv_Data] where plInv_SupplierRechnungsDatum='" & reDat & "' and plInv_SupplierRechnungsNr='" & reNr & "' and plInv_SupplierCountry='" & Antrag_LandKz & "' AND [plInv_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='" & reDat & "' and country='" & Antrag_LandKz & "' AND partner_customer_number = " & USTV_ANTRAG.UStVAn_KuNr & " AND daId is not null", "FMZOLL",,, -1)
Case 10 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [daId] FROM [tblUTAImportNew] where Rechnungsdatum='" & reDat & "' and Abrechnungsnummer='" & reNr & "' and Lieferland_ISO2='" & Antrag_LandKz & "' AND daId is not null", "FMZOLL",,, -1)
Case 7 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) [rmc_daId] FROM [tblRMCImport] where rmc_reDatum='" & reDat & "' and rmc_reNr='" & reNr & "' and rmc_landKZ='" & Antrag_LandKz & "' AND [rmc_daId] is not null", "FMZOLL",,, -1)
@@ -2083,9 +2114,14 @@ Public Class frmMDM_USTVAntrag
USTV_POS.UStVPo_USteuerbetrag = 0
USTV_POS.UStVPo_Umrechnungskurs = 1
USTV_POS.UStVPo_Zeitstempel = Now()
If USTV_POS.SAVE() Then init()
If USTV_POS.SAVE() Then
init()
dgvUSTVPositionen.SetOrder()
Else
End If
dgvUSTVPositionen.SetOrder()
End If
@@ -2216,7 +2252,8 @@ Public Class frmMDM_USTVAntrag
Private Sub picExcel_Click(sender As Object, e As EventArgs) Handles picExcel.Click
Dim dtNew As DataTable = cProgramFunctions.dgridViewTods(dgvUSTVPositionen, True)
Dim dtNew As DataTable = cProgramFunctions.dgridViewTods(dgvUSTVPositionen, True, IIf(dgvUSTVPositionen.SelectedRows.Count > 0, True, False))
If dtNew IsNot Nothing AndAlso dtNew.Rows.Count > 0 Then
@@ -2235,6 +2272,9 @@ Public Class frmMDM_USTVAntrag
For Each row In dtNew.Rows
If Not IsDBNull(row("UStVPo_USteuerbetrag")) AndAlso IsNumeric(row("UStVPo_USteuerbetrag")) Then sumVAT += CDbl(row("UStVPo_USteuerbetrag"))
If Not IsDBNull(row("UStVPo_USteuerbetrag")) AndAlso IsNumeric(row("UStVPo_USteuerbetrag")) Then row("UStVPo_USteuerbetrag") = CDbl(row("UStVPo_USteuerbetrag"))
If Not IsDBNull(row("UStVPo_Leistender")) AndAlso row("UStVPo_Leistender") <> "" AndAlso Not IsDBNull(row("UstV_Leistender_UstNr")) AndAlso row("UstV_Leistender_UstNr") <> "" Then
row("UStVPo_Leistender") = row("UStVPo_Leistender").ToString.Replace(" " & row("UstV_Leistender_UstNr").ToString.Substring(0, 2), "")
End If
Next
Dim drLast = dtNew.NewRow