diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index 64e75b4a..4eb74f7e 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 a048d958..08a8d09c 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -1,6 +1,7 @@ Imports System.IO Imports System.Reflection Imports System.Windows.Documents +Imports com Imports itextsharp.text.pdf Imports itextsharp.text.pdf.parser Imports Microsoft.Office.Interop @@ -72,7 +73,7 @@ Public Class frmMDM_USTVAntrag ' left join [tblUStVLeistender] as leist on leist.UStV_Leistender = [tblUStVPositionen].[UStVPo_Leistender] ' where UStVAn_ID='" & UStVAn_ID & "' ORDER BY UStVPo_ID", "FMZOLL") - .SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId] + .SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId], [UStVPo_daId_loeschbar] FROM [tblUStVPositionen] LEFT JOIN [tblUStVLeistender] as leist ON ([tblUStVPositionen].[UStVPo_LeistenderId] > 0 @@ -152,6 +153,8 @@ Public Class frmMDM_USTVAntrag .Columns("UStVPo_daId").Visible = False + .Columns("UStVPo_daId_loeschbar").Visible = False + Dim c As New DataGridViewImageColumn c.Name = "clmnPDF" : c.HeaderText = "RE" @@ -272,10 +275,9 @@ Public Class frmMDM_USTVAntrag Else Button4.Text = "Sped.-Buch eintragen" End If - End If - If posIndex > 0 Then + If posIndex > 0 Then posIndex = posIndex - 1 If posIndex > 0 And dgvUSTVPositionen.Rows.Count > posIndex Then dgvUSTVPositionen.ClearSelection() @@ -1321,15 +1323,15 @@ Public Class frmMDM_USTVAntrag USTV_ANTRAG.UStVAn_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME - USTV_ANTRAG.UStVAn_Zeitstempel = Now() + USTV_ANTRAG.UStVAn_Zeitstempel = Now() - getValue(USTV_ANTRAG, ADR, FIRMA) + getValue(USTV_ANTRAG, ADR, FIRMA) - Me.UStVAn_ID = USTV_ANTRAG.SAVEID() + Me.UStVAn_ID = USTV_ANTRAG.SAVEID() - init() + init() - End If + End If End Sub @@ -1616,16 +1618,39 @@ Public Class frmMDM_USTVAntrag If UstCntlUSTV_AntragPosition1.cbxAPI IsNot Nothing AndAlso UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value IsNot Nothing Then - If setArchiv(UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_Leistungsbezeichnung) Then - If UstCntlUSTV_AntragPosition1.UStV_POS.DELETE(UstCntlUSTV_AntragPosition1.UStV_POS.UStVAn_ID, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ID) Then - reorderUSTVAPositions(UstCntlUSTV_AntragPosition1.UStV_POS.UStVAn_ID) + If UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value = -1 OrElse UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_daId_loeschbar Then 'nur Dokumente löschen, die nicht über Schnittstellen geladen wurden! + + If UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_daId < 0 Then + + Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "MDM", "MDM_DATEN", "USTVA_" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVAn_ID & "_" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ID, "SONSTIGE", USTV_ANTRAG.UStVAn_KuNr) + + If DS IsNot Nothing Then + DS.DELETE_COMPLETE() + End If + + ElseIf UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_daId > 0 Then + + Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_daId) + + If DS IsNot Nothing AndAlso DS.da_id IsNot Nothing Then + DS.DELETE_COMPLETE() + End If + End If - init() + End If - End If - UstCntlUSTV_AntragPosition1.Enabled = False + If setArchiv(UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_Leistungsbezeichnung) Then + If UstCntlUSTV_AntragPosition1.UStV_POS.DELETE(UstCntlUSTV_AntragPosition1.UStV_POS.UStVAn_ID, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ID) Then + reorderUSTVAPositions(UstCntlUSTV_AntragPosition1.UStV_POS.UStVAn_ID) + End If + init() + End If + + End If + + UstCntlUSTV_AntragPosition1.Enabled = False End If End Sub @@ -2533,26 +2558,48 @@ Public Class frmMDM_USTVAntrag If r.Cells("UStVPo_Schnittstelle").Value IsNot Nothing AndAlso r.Cells("UStVPo_SchnittstellenNr").Value IsNot Nothing AndAlso IsNumeric(r.Cells("UStVPo_SchnittstellenNr").Value) Then - 'UstCntlUSTV_AntragPosition1.Antrag_LandKz + If r.Cells("UStVPo_SchnittstellenNr").Value = -1 OrElse r.Cells("UStVPo_daId_loeschbar").Value Then 'nur Dokumente löschen, die nicht über Schnittstellen geladen wurden oder löschbar sind! + + If Not IsDBNull(r.Cells("UStVPo_daId").Value) Then + If r.Cells("UStVPo_daId").Value Is Nothing Then + + Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "MDM", "MDM_DATEN", "USTVA_" & UStVAn_ID & "_" & r.Cells("UStVPo_ID").Value, "SONSTIGE", USTV_ANTRAG.UStVAn_KuNr) + + If DS IsNot Nothing AndAlso DS.da_id IsNot Nothing Then + DS.DELETE_COMPLETE() + End If + + ElseIf r.Cells("UStVPo_daId").Value > 0 Then + + Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(r.Cells("UStVPo_daId").Value) + + If DS IsNot Nothing AndAlso DS.da_id IsNot Nothing Then + DS.DELETE_COMPLETE() + End If + + End If + End If + End If + + If setArchiv(r.Cells("UStVPo_SchnittstellenNr").Value, r.Cells("UStVPo_ReDat").Value, r.Cells("UStVPo_ReNr").Value, r.Cells("UStVPo_Leistungsbezeichnung").Value) Then + Dim sqlstr = " DELETE FROM tblUStVPositionen WHERE UStVAn_ID=" & Me.UStVAn_ID & " AND UStVPo_ID=" & r.Cells("UStVPo_ID").Value + If Not SQL.doSQL(sqlstr, "FMZOLL") Then + Exit Sub + End If - Dim sqlstr = " DELETE FROM tblUStVPositionen WHERE UStVAn_ID=" & Me.UStVAn_ID & " AND UStVPo_ID=" & r.Cells("UStVPo_ID").Value - If Not SQL.doSQL(sqlstr, "FMZOLL") Then - Exit Sub End If End If - End If - - Next - reorderUSTVAPositions(Me.UStVAn_ID) - init() - UstCntlUSTV_AntragPosition1.Enabled = False - End If - End If - e.Handled = True + Next + reorderUSTVAPositions(Me.UStVAn_ID) + init() + UstCntlUSTV_AntragPosition1.Enabled = False + End If + End If + e.Handled = True End If diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb index fadc3b0a..94d827a7 100644 --- a/SDL/USTV/usrCntlUSTV.vb +++ b/SDL/USTV/usrCntlUSTV.vb @@ -814,14 +814,42 @@ Public Class usrCntlUSTV Exit Sub End If - + '1. zuerst prüfen ob Pos aus Schnittstelle und ggf. unterbinden For Each pos In del_antrag.POSITIONEN If pos.UStVPo_SchnittstellenNr > 0 Then - MsgBox("Antrag enthält Positionen, die über die Schnittstelle geladen wurden." & vbNewLine & "Positionen manuell löschen.") + MsgBox("Antrag enthält Positionen, die über die Schnittstelle geladen wurden." & vbNewLine & "Positionen manuell löschen!") Exit Sub + End If + Next + '2. nur Dokumente löschen, die nicht über Schnittstellen geladen wurden oder löschbar sind! + For Each pos In del_antrag.POSITIONEN + If pos.UStVPo_SchnittstellenNr < 0 OrElse pos.UStVPo_daId_loeschbar Then + + If pos.UStVPo_daId < 0 Then + + Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "MDM", "MDM_DATEN", "USTVA_" & pos.UStVAn_ID & "_" & pos.UStVPo_ID, "SONSTIGE", del_antrag.UStVAn_KuNr) + + If DS IsNot Nothing Then DS.DELETE_COMPLETE() + + ElseIf pos.UStVPo_daId > 0 Then + + Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(pos.UStVPo_daId) + + If DS IsNot Nothing AndAlso DS.da_id IsNot Nothing Then + DS.DELETE_COMPLETE() + End If + + End If + + + End If + + Next + + If del_antrag.DELETE() Then init() End If