Merge branch 'newMaster2024' of https://dev.azure.com/VeragAG/_git/SDL into newMaster2024
This commit is contained in:
@@ -62,7 +62,6 @@ Public Class frmAbrechnungsMaske
|
|||||||
|
|
||||||
cboSachbearbeiter.Items.Clear()
|
cboSachbearbeiter.Items.Clear()
|
||||||
|
|
||||||
|
|
||||||
Select Case FirmaTmp
|
Select Case FirmaTmp
|
||||||
|
|
||||||
Case "VERAG"
|
Case "VERAG"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
' Dieser Aufruf ist für den Designer erforderlich.
|
' Dieser Aufruf ist für den Designer erforderlich.
|
||||||
InitializeComponent()
|
InitializeComponent()
|
||||||
MsgBox(FilialenNr)
|
'MsgBox(FilialenNr)
|
||||||
If FilialenNr IsNot Nothing AndAlso IsNumeric(FilialenNr) Then Me.FilialenNr = FilialenNr
|
If FilialenNr IsNot Nothing AndAlso IsNumeric(FilialenNr) Then Me.FilialenNr = FilialenNr
|
||||||
If AbfertigungsNr IsNot Nothing AndAlso IsNumeric(AbfertigungsNr) Then Me.AbfertigungsNr = AbfertigungsNr
|
If AbfertigungsNr IsNot Nothing AndAlso IsNumeric(AbfertigungsNr) Then Me.AbfertigungsNr = AbfertigungsNr
|
||||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
Imports System.Web.Configuration
|
Imports System.IO
|
||||||
Imports System.Web.UI.WebControls.Expressions
|
Imports System.Web.UI.WebControls.Expressions
|
||||||
Imports com.sun.imageio.plugins
|
|
||||||
Imports VERAG_PROG_ALLGEMEIN
|
Imports VERAG_PROG_ALLGEMEIN
|
||||||
|
|
||||||
Public Class usrCntlFaktAbrechnung
|
Public Class usrCntlFaktAbrechnung
|
||||||
@@ -1734,6 +1733,56 @@ Public Class usrCntlFaktAbrechnung
|
|||||||
'-----------------------------
|
'-----------------------------
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'Anhänge aus USTVA -> SPED-BUCH + Excel Pos-Liste
|
||||||
|
If SPEDBUCH IsNot Nothing Then
|
||||||
|
If FIRMA.Firma_ID = 19 And SPEDBUCH.Abfertigungsart = 10 AndAlso SPEDBUCH.ErfassungsNr > 0 Then
|
||||||
|
|
||||||
|
Dim func As New cMDMFunctionsAllgemein()
|
||||||
|
Dim dt = SQL.loadDgvBySql("SELECT UStVPo_daId, UStVPo_ID,UStVPo_SchnittstellenNr, UStVPo_ReNr, UStVPo_ReDat FROM tblUStVPositionen where UStVAn_ID='" & SPEDBUCH.ErfassungsNr & "' AND UStVPo_SchnittstellenNr <> 1 order by UStVPo_ID", "FMZOLL")
|
||||||
|
Dim USTV As New cUSTVAntrag(SPEDBUCH.ErfassungsNr)
|
||||||
|
If dt IsNot Nothing Then
|
||||||
|
For Each r In dt.Rows
|
||||||
|
|
||||||
|
Dim DAID As String = ""
|
||||||
|
DAID = func.getPDF(r("UStVPo_SchnittstellenNr"), r("UStVPo_ReNr"), r("UStVPo_ReDat"), r("UStVPo_daId"), False, True, USTV.UStVAn_LandKz, USTV, New cFakturierung, True)
|
||||||
|
|
||||||
|
Dim nameLief As String = ""
|
||||||
|
|
||||||
|
Select Case r("UStVPo_SchnittstellenNr")
|
||||||
|
Case 1 : nameLief = "VERAG-" 'Verag360
|
||||||
|
Case 2, 8, 12 : nameLief = "IDS-"
|
||||||
|
Case 3 : nameLief = "IT-"
|
||||||
|
Case 4, 9 : nameLief = "MSE-"
|
||||||
|
Case 5, 10 : nameLief = "UTA-"
|
||||||
|
Case 6, 11 : nameLief = "PLOSE-"
|
||||||
|
Case 7 : nameLief = "RMC-"
|
||||||
|
End Select
|
||||||
|
|
||||||
|
nameLief &= "RE"
|
||||||
|
|
||||||
|
If DAID <> "" AndAlso IsNumeric(DAID) Then
|
||||||
|
Dim daidno As Integer = CInt(DAID)
|
||||||
|
Dim ds As New cDATENSERVER(daidno)
|
||||||
|
.Rows.Add(0, nameLief, ds.da_name, ds.da_id, ds.da_id)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Dim pfadExcel As String = func.generateExcelPosList(USTV, "", "", "", False) 'soll immer alle POS bekommen! laut Lidya! 28.04.2025
|
||||||
|
If pfadExcel <> "" Then
|
||||||
|
|
||||||
|
Dim FI As New FileInfo(pfadExcel)
|
||||||
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "MDM", "POS_LISTE", "", "", FI.Name, USTV.UStVAn_KuNr, False)
|
||||||
|
DS.uploadDataToDATENSERVER(pfadExcel, FI.Name, FI.Extension,,,, True)
|
||||||
|
.Rows.Add(0, "POS-LIST", DS.da_name, DS.da_id, DS.da_id)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
End With
|
End With
|
||||||
dgvAnhaenge.ClearSelection()
|
dgvAnhaenge.ClearSelection()
|
||||||
End Sub
|
End Sub
|
||||||
@@ -1771,6 +1820,14 @@ Public Class usrCntlFaktAbrechnung
|
|||||||
RECHNUNG.Anlage_3 = ""
|
RECHNUNG.Anlage_3 = ""
|
||||||
RECHNUNG.Anlage_4 = ""
|
RECHNUNG.Anlage_4 = ""
|
||||||
RECHNUNG.Anlage_5 = ""
|
RECHNUNG.Anlage_5 = ""
|
||||||
|
|
||||||
|
Case 19 'MDM
|
||||||
|
RECHNUNG.Anlage_1 = "Rechnung"
|
||||||
|
RECHNUNG.Anlage_2 = "Lief.-Rechn."
|
||||||
|
RECHNUNG.Anlage_3 = "POS-Liste"
|
||||||
|
RECHNUNG.Anlage_4 = ""
|
||||||
|
RECHNUNG.Anlage_5 = ""
|
||||||
|
|
||||||
Case Else
|
Case Else
|
||||||
If SPEDBUCH IsNot Nothing Then
|
If SPEDBUCH IsNot Nothing Then
|
||||||
Select Case SPEDBUCH.Abfertigungsart
|
Select Case SPEDBUCH.Abfertigungsart
|
||||||
@@ -1939,6 +1996,7 @@ Public Class usrCntlFaktAbrechnung
|
|||||||
'Case "7002" : cboFirma.changeItem(26) : RECHNUNG.Firma_ID = 26 'UK oder AG
|
'Case "7002" : cboFirma.changeItem(26) : RECHNUNG.Firma_ID = 26 'UK oder AG
|
||||||
Case "5701" : cboFirma.changeItem(24) : If RECHNUNG IsNot Nothing Then RECHNUNG.Firma_ID = 24'AMBAR
|
Case "5701" : cboFirma.changeItem(24) : If RECHNUNG IsNot Nothing Then RECHNUNG.Firma_ID = 24'AMBAR
|
||||||
Case "5801" : cboFirma.changeItem(17) : If RECHNUNG IsNot Nothing Then RECHNUNG.Firma_ID = 17 'FRONT-OFFICE
|
Case "5801" : cboFirma.changeItem(17) : If RECHNUNG IsNot Nothing Then RECHNUNG.Firma_ID = 17 'FRONT-OFFICE
|
||||||
|
Case "4817", "4820", "4821", "4823", "4824", "4814", "4868" : cboFirma.changeItem(19) : If RECHNUNG IsNot Nothing Then RECHNUNG.Firma_ID = 19 'MDM
|
||||||
|
|
||||||
Case Else
|
Case Else
|
||||||
If SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.Abfertigungsart = 38 Then 'EV-VZ
|
If SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.Abfertigungsart = 38 Then 'EV-VZ
|
||||||
@@ -2162,7 +2220,7 @@ Public Class usrCntlFaktAbrechnung
|
|||||||
|
|
||||||
For Each POS In RECHNUNG.POSITIONEN
|
For Each POS In RECHNUNG.POSITIONEN
|
||||||
If POS.Preis IsNot Nothing AndAlso IsNumeric(POS.Preis) AndAlso POS.Preis <> 0 Then
|
If POS.Preis IsNot Nothing AndAlso IsNumeric(POS.Preis) AndAlso POS.Preis <> 0 Then
|
||||||
If CBool(SQL.getValueTxtBySql("SELECT isnull([Abfertigungskosten],0) FROM [Leistungen] where LeistungsNr='" & POS.LeistungsNr & "'", "FMZOLL")) Then
|
If CBool(SQL.getValueTxtBySql("Select isnull([Abfertigungskosten],0) FROM [Leistungen] where LeistungsNr='" & POS.LeistungsNr & "'", "FMZOLL")) Then
|
||||||
Abfertigungskosten_Berechnen += POS.SteuerpflichtigerBetrag 'fktEuro(![SteuerpflichtigerBetrag], Me![Währungscode], "EUR")
|
Abfertigungskosten_Berechnen += POS.SteuerpflichtigerBetrag 'fktEuro(![SteuerpflichtigerBetrag], Me![Währungscode], "EUR")
|
||||||
Abfertigungskosten_Berechnen += POS.SteuerfreierBetrag
|
Abfertigungskosten_Berechnen += POS.SteuerfreierBetrag
|
||||||
'Me![Abfertigungskosten] = Me![Abfertigungskosten] + fktEuro(![SteuerfreierBetrag], Me![Währungscode], "EUR")
|
'Me![Abfertigungskosten] = Me![Abfertigungskosten] + fktEuro(![SteuerfreierBetrag], Me![Währungscode], "EUR")
|
||||||
@@ -4227,7 +4285,7 @@ Nächste_Textzeile_lesen:
|
|||||||
ContextMenuStrip3.Show(Cursor.Position)
|
ContextMenuStrip3.Show(Cursor.Position)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub AbsenderToolStripMenuItem2_Click(sender As Object, e As EventArgs) Handles AbsenderToolStripMenuItem2.Click, EmpfängerToolStripMenuItem2.Click, AuftraggeberToolStripMenuItem2.Click, AvisiererToolStripMenuItem2.Click
|
Private Sub AbsenderToolStripMenuItem2_Click(sender As Object, e As EventArgs) Handles AbsenderToolStripMenuItem2.Click, EmpfängerToolStripMenuItem2.Click, AuftraggeberToolStripMenuItem2.Click, AvisiererToolStripMenuItem2.Click
|
||||||
Try
|
Try
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
Dim atez_api = New cATEZ_NCTS_IN("ATEZ_VAT", False)
|
Dim atez_api = New cATEZ_NCTS_IN("ATEZ_VAT", False)
|
||||||
Dim abfNrisSetManually As Boolean = False
|
Dim abfNrisSetManually As Boolean = False
|
||||||
Dim von, bis As Date
|
Dim von, bis As Date
|
||||||
|
Dim func As New cMDMFunctionsAllgemein
|
||||||
|
|
||||||
Sub New(UStVAn_ID)
|
Sub New(UStVAn_ID)
|
||||||
|
|
||||||
@@ -174,7 +175,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
If Not IsDBNull(r.Cells("UStVPo_daId").Value) Then
|
If Not IsDBNull(r.Cells("UStVPo_daId").Value) Then
|
||||||
da_id = r.Cells("UStVPo_daId").Value
|
da_id = r.Cells("UStVPo_daId").Value
|
||||||
Else
|
Else
|
||||||
da_id = getDaID_OLD(r.Cells("UStVPo_SchnittstellenNr").Value, r.Cells("UStVPo_ReDat").Value, r.Cells("UStVPo_ReNr").Value)
|
da_id = func.getDaID_OLD(r.Cells("UStVPo_SchnittstellenNr").Value, r.Cells("UStVPo_ReDat").Value, r.Cells("UStVPo_ReNr").Value, Antrag_LandKz, USTV_ANTRAG)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -1208,7 +1209,9 @@ Public Class frmMDM_USTVAntrag
|
|||||||
|
|
||||||
Shared Function loadUSTVFrom_IDS(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
Shared Function loadUSTVFrom_IDS(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
||||||
Try
|
Try
|
||||||
Dim bytSchnittstellenNr = 8 'damit von alter Schnittstelle und neue Schnittstelle keine Daten doppelt importiert werden
|
'Dim bytSchnittstellenNr = 8 'damit von alter Schnittstelle und neue Schnittstelle keine Daten doppelt importiert werden
|
||||||
|
Dim bytSchnittstellenNr = 12
|
||||||
|
|
||||||
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
||||||
Dim dt As New DataTable
|
Dim dt As New DataTable
|
||||||
Dim GET_Antraege = cIDS.GET_Antraege_IDS(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien)
|
Dim GET_Antraege = cIDS.GET_Antraege_IDS(dt, USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien)
|
||||||
@@ -1226,7 +1229,14 @@ Public Class frmMDM_USTVAntrag
|
|||||||
USTV_POS.UStVPo_ReNr = r.Item("Rechnungsnummer").ToString
|
USTV_POS.UStVPo_ReNr = r.Item("Rechnungsnummer").ToString
|
||||||
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
|
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
|
||||||
|
|
||||||
USTV_POS.UStVPo_daId = 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")
|
|
||||||
|
'OLD - Gesammelte Rechnung
|
||||||
|
'USTV_POS.UStVPo_daId = 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")
|
||||||
|
|
||||||
|
'NEW-Einzelrechnung
|
||||||
|
USTV_POS.UStVPo_daId = sql.getValueTxtBySql("SELECT TOP(1) tblIDSInvoicesNewSplittedByCountry.daId FROM [tblIDSInvoicesNewSplittedByCountry] where tblIDSInvoicesNewSplittedByCountry.[YearMonthDay] ='" & USTV_POS.UStVPo_ReDat & "' AND tblIDSInvoicesNewSplittedByCountry.Invoicenumber ='" & USTV_POS.UStVPo_ReNr.ToString.Replace("/", "") & "' and tblIDSInvoicesNewSplittedByCountry.Country='" & Antrag_LandKz & "' AND tblIDSInvoicesNewSplittedByCountry.daId is not null", "FMZOLL")
|
||||||
|
|
||||||
|
|
||||||
If IsNumeric(USTV_POS.UStVPo_daId) AndAlso USTV_POS.UStVPo_daId > 0 Then
|
If IsNumeric(USTV_POS.UStVPo_daId) AndAlso USTV_POS.UStVPo_daId > 0 Then
|
||||||
USTV_POS.UStVPo_daId_loeschbar = False
|
USTV_POS.UStVPo_daId_loeschbar = False
|
||||||
Else
|
Else
|
||||||
@@ -1819,7 +1829,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
Case 7 'RMC - neue Schnittstelle - OK
|
Case 7 'RMC - neue Schnittstelle - OK
|
||||||
sqlText = "Update [tblRMCImport] Set rmc_archiv=0, [rmc_archiviertDatum] = NULL, UStVAn_ID = NULL FROM [tblRMCImport] inner join adressen on adressen.WölflKundenNr = tblRMCImport.rmc_kdNr Where cast(rmc_reDatum as date) = '" & RechnungsDatum.ToShortDateString & "' And rmc_reNr = " & RechnungsNr & " AND adressen.AdressenNr=" & USTV_ANTRAG.UStVAn_KuNr
|
sqlText = "Update [tblRMCImport] Set rmc_archiv=0, [rmc_archiviertDatum] = NULL, UStVAn_ID = NULL FROM [tblRMCImport] inner join adressen on adressen.WölflKundenNr = tblRMCImport.rmc_kdNr Where cast(rmc_reDatum as date) = '" & RechnungsDatum.ToShortDateString & "' And rmc_reNr = " & RechnungsNr & " AND adressen.AdressenNr=" & USTV_ANTRAG.UStVAn_KuNr
|
||||||
If Not test Then updated = SQL.doSQL(sqlText, "FMZOLL")
|
If Not test Then updated = SQL.doSQL(sqlText, "FMZOLL")
|
||||||
Case 8 'IDS neue Schnittstelle - OK
|
Case 8, 12 'IDS neue Schnittstelle - OK
|
||||||
sqlText = "update tblIDSTransactionsNew set UStVAn_ID = NULL
|
sqlText = "update tblIDSTransactionsNew set UStVAn_ID = NULL
|
||||||
From tblIDSTransactionsNew
|
From tblIDSTransactionsNew
|
||||||
INNER Join tbl_IDS_Länder
|
INNER Join tbl_IDS_Länder
|
||||||
@@ -1845,7 +1855,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
If (SchnittstellenNr > 0 And SchnittstellenNr < 12) Then
|
If (SchnittstellenNr > 0 And SchnittstellenNr < 13) Then
|
||||||
If Not updated Then
|
If Not updated Then
|
||||||
If Not vbYes = MsgBox("Fehler beim zurücksetzen der USTVA-ID!" & vbNewLine & "Möchten Sie den Eintrag trotzdem löschen?", vbYesNoCancel) Then
|
If Not vbYes = MsgBox("Fehler beim zurücksetzen der USTVA-ID!" & vbNewLine & "Möchten Sie den Eintrag trotzdem löschen?", vbYesNoCancel) Then
|
||||||
Return updated
|
Return updated
|
||||||
@@ -1934,7 +1944,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
|
If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
|
||||||
|
|
||||||
Dim pdf As String = ""
|
Dim pdf As String = ""
|
||||||
pdf = getPDF(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_SchnittstellenNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReDat").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value, False, False)
|
pdf = func.getPDF(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_SchnittstellenNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReDat").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value, False, False, Antrag_LandKz, USTV_ANTRAG, New cFakturierung, False)
|
||||||
|
|
||||||
If IO.File.Exists(pdf) Then
|
If IO.File.Exists(pdf) Then
|
||||||
Process.Start(pdf)
|
Process.Start(pdf)
|
||||||
@@ -1948,22 +1958,22 @@ Public Class frmMDM_USTVAntrag
|
|||||||
Me.Cursor = Cursors.Default
|
Me.Cursor = Cursors.Default
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function getDaID_OLD(SchnittstellenNr, reDat, reNr)
|
'Private Function getDaID_OLD(SchnittstellenNr, reDat, reNr)
|
||||||
Dim da_id = -1
|
' Dim da_id = -1
|
||||||
|
|
||||||
Select Case If(SchnittstellenNr, -1)
|
' 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 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 isnull(plose_RechnungsNr,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 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 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 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)
|
' 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)
|
||||||
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] ='" & reDat & "' AND ISNULL(tblIDSTransactionsNew.[OBONumber], ISNULL(tblIDSTransactionsNew.[VRNumber], tblIDSTransactionsNew.[Paymentsummarynumber])) ='" & reNr & "' and tbl_IDS_Länder.Lieferland_ISO2='" & Antrag_LandKz & "' AND tblIDSInvoicesNew.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] ='" & reDat & "' AND ISNULL(tblIDSTransactionsNew.[OBONumber], ISNULL(tblIDSTransactionsNew.[VRNumber], tblIDSTransactionsNew.[Paymentsummarynumber])) ='" & reNr & "' and tbl_IDS_Länder.Lieferland_ISO2='" & Antrag_LandKz & "' AND tblIDSInvoicesNew.daId is not null", "FMZOLL",,, -1)
|
||||||
End Select
|
' End Select
|
||||||
|
|
||||||
Return da_id
|
' Return da_id
|
||||||
|
|
||||||
End Function
|
'End Function
|
||||||
|
|
||||||
Private Sub cbxLand_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxLand.SelectedValueChanged
|
Private Sub cbxLand_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxLand.SelectedValueChanged
|
||||||
|
|
||||||
@@ -1994,7 +2004,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index)
|
For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index)
|
||||||
|
|
||||||
Dim pdf As String = ""
|
Dim pdf As String = ""
|
||||||
pdf = getPDF(row.Cells("UStVPo_SchnittstellenNr").Value, row.Cells("UStVPo_ReNr").Value, row.Cells("UStVPo_ReDat").Value, row.Cells("UStVPo_daId").Value, IIf(nummerierung, row.Cells("UStVPo_ID").Value, -1), True)
|
pdf = func.getPDF(row.Cells("UStVPo_SchnittstellenNr").Value, row.Cells("UStVPo_ReNr").Value, row.Cells("UStVPo_ReDat").Value, row.Cells("UStVPo_daId").Value, IIf(nummerierung, row.Cells("UStVPo_ID").Value, -1), True, Antrag_LandKz, USTV_ANTRAG, New cFakturierung, False)
|
||||||
|
|
||||||
If pdf <> "" Then list.Add(pdf)
|
If pdf <> "" Then list.Add(pdf)
|
||||||
|
|
||||||
@@ -2035,7 +2045,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
If Not IsDBNull(r.Cells("UStVPo_daId").Value) Then
|
If Not IsDBNull(r.Cells("UStVPo_daId").Value) Then
|
||||||
da_id = r.Cells("UStVPo_daId").Value
|
da_id = r.Cells("UStVPo_daId").Value
|
||||||
Else
|
Else
|
||||||
da_id = getDaID_OLD(r.Cells("UStVPo_SchnittstellenNr").Value, r.Cells("UStVPo_ReDat").Value, r.Cells("UStVPo_ReNr").Value)
|
da_id = func.getDaID_OLD(r.Cells("UStVPo_SchnittstellenNr").Value, r.Cells("UStVPo_ReDat").Value, r.Cells("UStVPo_ReNr").Value, Antrag_LandKz, USTV_ANTRAG)
|
||||||
End If
|
End If
|
||||||
If da_id > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf
|
If da_id > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf
|
||||||
Next
|
Next
|
||||||
@@ -2043,216 +2053,216 @@ Public Class frmMDM_USTVAntrag
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Private Function getPDF(schnittstellenNr, ReNr, ReDat, daId, nummierung, PDFisProtected) As String
|
'Private Function getPDF(schnittstellenNr, ReNr, ReDat, daId, nummierung, PDFisProtected, LandKZ, USTVA) As String
|
||||||
|
|
||||||
|
|
||||||
Dim schnnittstellenNr = schnittstellenNr
|
' Dim schnnittstellenNr = schnittstellenNr
|
||||||
Dim dsID
|
' Dim dsID
|
||||||
|
|
||||||
If Not IsDBNull(daId) AndAlso IsNumeric(daId) AndAlso daId > 0 Then
|
' If Not IsDBNull(daId) AndAlso IsNumeric(daId) AndAlso daId > 0 Then
|
||||||
dsID = daId
|
' dsID = daId
|
||||||
Else
|
' Else
|
||||||
dsID = getDaID_OLD(schnnittstellenNr, ReDat, ReNr)
|
' dsID = func.getDaID_OLD(schnnittstellenNr, ReDat, ReNr, LandKZ, USTVA)
|
||||||
|
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
If dsID < 0 Then Return ""
|
' If dsID < 0 Then Return ""
|
||||||
|
|
||||||
'Anschrift Nummerierung:
|
' 'Anschrift Nummerierung:
|
||||||
Dim x = 100
|
' Dim x = 100
|
||||||
Dim y = 10
|
' Dim y = 10
|
||||||
Dim width = 300
|
' Dim width = 300
|
||||||
Dim height = 10
|
' Dim height = 10
|
||||||
Dim mSize = 10
|
' Dim mSize = 10
|
||||||
Dim mFont = ""
|
' Dim mFont = ""
|
||||||
|
|
||||||
Select Case schnnittstellenNr
|
' Select Case schnnittstellenNr
|
||||||
Case 1
|
' Case 1
|
||||||
If dsID > 0 Then
|
' If dsID > 0 Then
|
||||||
Me.Cursor = Cursors.WaitCursor
|
' Me.Cursor = Cursors.WaitCursor
|
||||||
Dim path As String
|
' Dim path As String
|
||||||
cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 4, path)
|
' cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 4, path)
|
||||||
|
|
||||||
If nummierung > 0 Then
|
' If nummierung > 0 Then
|
||||||
|
|
||||||
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path)
|
' Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path)
|
||||||
PdfReader.unethicalreading = True
|
' PdfReader.unethicalreading = True
|
||||||
|
|
||||||
Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
' Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
||||||
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
' Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
||||||
|
|
||||||
For page As Integer = 1 To pdfReader.NumberOfPages
|
' For page As Integer = 1 To pdfReader.NumberOfPages
|
||||||
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
|
' listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
|
||||||
Next
|
' Next
|
||||||
|
|
||||||
pdfReader.Close()
|
' pdfReader.Close()
|
||||||
|
|
||||||
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(path, listTowrite, , , , ,)
|
' Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(path, listTowrite, , , , ,)
|
||||||
Return PdfTmp
|
' Return PdfTmp
|
||||||
|
|
||||||
Else
|
' Else
|
||||||
Return path
|
' Return path
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
|
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
Case 8
|
' Case 8
|
||||||
|
|
||||||
Me.Cursor = Cursors.WaitCursor
|
' Me.Cursor = Cursors.WaitCursor
|
||||||
Dim ds As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID)
|
' Dim ds As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID)
|
||||||
|
|
||||||
Dim path_src As String = ds.OPEN_SINGLE(False)
|
' Dim path_src As String = ds.OPEN_SINGLE(False)
|
||||||
If path_src = "" Then Return ""
|
' If path_src = "" Then Return ""
|
||||||
|
|
||||||
Try
|
' Try
|
||||||
|
|
||||||
Dim fi As New System.IO.DirectoryInfo(path_src)
|
' Dim fi As New System.IO.DirectoryInfo(path_src)
|
||||||
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path_src)
|
' Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path_src)
|
||||||
|
|
||||||
Dim TMP_Path_New = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension,, False, "IDS-Rechnungen")
|
' Dim TMP_Path_New = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension,, False, "IDS-Rechnungen")
|
||||||
Dim srcDoc As New itextsharp.text.Document()
|
' Dim srcDoc As New itextsharp.text.Document()
|
||||||
Dim PdfCopyProvider As New itextsharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create))
|
' Dim PdfCopyProvider As New itextsharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create))
|
||||||
PdfCopyProvider.SetFullCompression()
|
' PdfCopyProvider.SetFullCompression()
|
||||||
srcDoc.Open()
|
' srcDoc.Open()
|
||||||
PdfReader.unethicalreading = True
|
' PdfReader.unethicalreading = True
|
||||||
Dim pages As New List(Of Integer)()
|
' Dim pages As New List(Of Integer)()
|
||||||
|
|
||||||
For page As Integer = 1 To pdfReader.NumberOfPages
|
' For page As Integer = 1 To pdfReader.NumberOfPages
|
||||||
|
|
||||||
Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
|
' Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
|
||||||
Dim currentpagetext As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy)
|
' Dim currentpagetext As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy)
|
||||||
Dim searchtext As String = ReNr
|
' Dim searchtext As String = ReNr
|
||||||
Dim impPage As itextsharp.text.pdf.PdfImportedPage = Nothing
|
' Dim impPage As itextsharp.text.pdf.PdfImportedPage = Nothing
|
||||||
|
|
||||||
If (currentpagetext.Contains(searchtext)) Then
|
' If (currentpagetext.Contains(searchtext)) Then
|
||||||
|
|
||||||
If page > pdfReader.NumberOfPages Then
|
' If page > pdfReader.NumberOfPages Then
|
||||||
MsgBox("Seitenanzahl überschritten!")
|
' MsgBox("Seitenanzahl überschritten!")
|
||||||
srcDoc.Close() : pdfReader.Close()
|
' srcDoc.Close() : pdfReader.Close()
|
||||||
Return False
|
' Return False
|
||||||
End If
|
' End If
|
||||||
Try
|
' Try
|
||||||
|
|
||||||
impPage = PdfCopyProvider.GetImportedPage(pdfReader, page)
|
' impPage = PdfCopyProvider.GetImportedPage(pdfReader, page)
|
||||||
' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite
|
' ' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite
|
||||||
PdfCopyProvider.SetPageSize(New itextsharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page)))
|
' PdfCopyProvider.SetPageSize(New itextsharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page)))
|
||||||
' ----- PDF Seite in das neue Dokument einfügen
|
' ' ----- PDF Seite in das neue Dokument einfügen
|
||||||
If impPage IsNot Nothing Then PdfCopyProvider.AddPage(impPage)
|
' If impPage IsNot Nothing Then PdfCopyProvider.AddPage(impPage)
|
||||||
Catch ex As Exception
|
' Catch ex As Exception
|
||||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
End Try
|
' End Try
|
||||||
|
|
||||||
|
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Next
|
' Next
|
||||||
|
|
||||||
srcDoc.Close()
|
' srcDoc.Close()
|
||||||
pdfReader.Close()
|
' pdfReader.Close()
|
||||||
|
|
||||||
If nummierung > 0 Then
|
' If nummierung > 0 Then
|
||||||
|
|
||||||
Dim pdfReadernNew As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(TMP_Path_New)
|
' Dim pdfReadernNew As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(TMP_Path_New)
|
||||||
pdfReadernNew.unethicalreading = True
|
' pdfReadernNew.unethicalreading = True
|
||||||
|
|
||||||
Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
' Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
||||||
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
' Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
||||||
|
|
||||||
For page As Integer = 1 To pdfReadernNew.NumberOfPages
|
' For page As Integer = 1 To pdfReadernNew.NumberOfPages
|
||||||
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y - 6, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
|
' listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y - 6, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
|
||||||
Next
|
' Next
|
||||||
|
|
||||||
pdfReader.Close()
|
' pdfReader.Close()
|
||||||
|
|
||||||
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(TMP_Path_New, listTowrite, , , , ,)
|
' Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(TMP_Path_New, listTowrite, , , , ,)
|
||||||
Return PdfTmp
|
' Return PdfTmp
|
||||||
Else
|
' Else
|
||||||
|
|
||||||
|
|
||||||
Return TMP_Path_New
|
' Return TMP_Path_New
|
||||||
|
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Catch ex As Exception
|
' Catch ex As Exception
|
||||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
End Try
|
' End Try
|
||||||
Case Else
|
' Case Else
|
||||||
If dsID > 0 Then
|
' If dsID > 0 Then
|
||||||
Me.Cursor = Cursors.WaitCursor
|
' Me.Cursor = Cursors.WaitCursor
|
||||||
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID)
|
' Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID)
|
||||||
If nummierung > 0 Then
|
' If nummierung > 0 Then
|
||||||
|
|
||||||
'wenn PDF nicht beschreibbar, dann mittels Stamp!
|
' 'wenn PDF nicht beschreibbar, dann mittels Stamp!
|
||||||
If PDFisProtected Then
|
' If PDFisProtected Then
|
||||||
|
|
||||||
Dim tempPathNew = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(DS.da_name & "_modified", ".pdf", True, False, "USTVA")
|
' Dim tempPathNew = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(DS.da_name & "_modified", ".pdf", True, False, "USTVA")
|
||||||
|
|
||||||
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
|
' Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
|
||||||
PdfReader.unethicalreading = True
|
' PdfReader.unethicalreading = True
|
||||||
|
|
||||||
Dim fs = New FileStream(tempPathNew, FileMode.Create, FileAccess.Write, FileShare.None)
|
' Dim fs = New FileStream(tempPathNew, FileMode.Create, FileAccess.Write, FileShare.None)
|
||||||
Dim stamper = New PdfStamper(pdfReader, fs)
|
' Dim stamper = New PdfStamper(pdfReader, fs)
|
||||||
|
|
||||||
For page As Integer = 1 To pdfReader.NumberOfPages
|
' For page As Integer = 1 To pdfReader.NumberOfPages
|
||||||
Dim canvas As PdfContentByte = stamper.GetOverContent(page)
|
' Dim canvas As PdfContentByte = stamper.GetOverContent(page)
|
||||||
Dim bf As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED)
|
' Dim bf As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED)
|
||||||
canvas.SetFontAndSize(bf, 12)
|
' canvas.SetFontAndSize(bf, 12)
|
||||||
canvas.BeginText()
|
' canvas.BeginText()
|
||||||
|
|
||||||
'The origin (0,0) is at the bottom-left corner of the page and represent coordinates in points!!!!!
|
' 'The origin (0,0) is at the bottom-left corner of the page and represent coordinates in points!!!!!
|
||||||
Dim _height = pdfReader.GetPageSizeWithRotation(page).GetTop(25) 'oberer Rand
|
' Dim _height = pdfReader.GetPageSizeWithRotation(page).GetTop(25) 'oberer Rand
|
||||||
Dim _width = pdfReader.GetPageSizeWithRotation(page).GetRight(0) / 2 'Mitte
|
' Dim _width = pdfReader.GetPageSizeWithRotation(page).GetRight(0) / 2 'Mitte
|
||||||
|
|
||||||
canvas.ShowTextAligned(PdfContentByte.ALIGN_CENTER, nummierung, _width, _height, 0)
|
' canvas.ShowTextAligned(PdfContentByte.ALIGN_CENTER, nummierung, _width, _height, 0)
|
||||||
'canvas.ShowTextAligned(PdfContentByte.ALIGN_CENTER, nummierung, 350, 550, 0)
|
' 'canvas.ShowTextAligned(PdfContentByte.ALIGN_CENTER, nummierung, 350, 550, 0)
|
||||||
|
|
||||||
canvas.EndText()
|
' canvas.EndText()
|
||||||
'listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
|
' 'listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
|
||||||
Next
|
' Next
|
||||||
stamper.Close()
|
' stamper.Close()
|
||||||
pdfReader.Close()
|
' pdfReader.Close()
|
||||||
|
|
||||||
Return tempPathNew
|
' Return tempPathNew
|
||||||
|
|
||||||
Else
|
' Else
|
||||||
|
|
||||||
|
|
||||||
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
|
' Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
|
||||||
|
|
||||||
Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
' Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
||||||
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
' Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
||||||
|
|
||||||
For page As Integer = 1 To pdfReader.NumberOfPages
|
' For page As Integer = 1 To pdfReader.NumberOfPages
|
||||||
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
|
' listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
|
||||||
Next
|
' Next
|
||||||
|
|
||||||
pdfReader.Close()
|
' pdfReader.Close()
|
||||||
|
|
||||||
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(DS.GET_TOP1_PATH, listTowrite, , , , ,)
|
' Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(DS.GET_TOP1_PATH, listTowrite, , , , ,)
|
||||||
Return PdfTmp
|
' Return PdfTmp
|
||||||
|
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
|
|
||||||
Else
|
' Else
|
||||||
|
|
||||||
Return DS.GET_TOP1_PATH
|
' Return DS.GET_TOP1_PATH
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
' End If
|
||||||
End Select
|
' End Select
|
||||||
|
|
||||||
|
|
||||||
End Function
|
'End Function
|
||||||
|
|
||||||
Private Sub reorderUSTVAPositions(UStVAn_ID As Integer)
|
Private Sub reorderUSTVAPositions(UStVAn_ID As Integer)
|
||||||
|
|
||||||
@@ -2481,51 +2491,9 @@ Public Class frmMDM_USTVAntrag
|
|||||||
If (dgvUSTVPositionen.SelectedRows.Count <> 1 And counter <> dgvUSTVPositionen.SelectedRows.Count) Then posId &= ","
|
If (dgvUSTVPositionen.SelectedRows.Count <> 1 And counter <> dgvUSTVPositionen.SelectedRows.Count) Then posId &= ","
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
func.generateExcelPosList(USTV_ANTRAG, posId, Antrag_LandKz, txtStNr.Text, True)
|
||||||
Dim StringSQL = "SELECT [UStVPo_ID] as Number ,[UStVPo_ReDat] as 'Date of Invoice',[UStVPo_ReNr] as 'Number of invoice' ,[UStVPo_Leistungsbezeichnung] as 'Name of service',[UStVPo_Leistender] as 'Name of supplier',leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as Street,
|
|
||||||
leist.[UstV_Leistender_PLZ] as 'ZIP-Code',leist.[UstV_Leistender_Stadt] as City,leist.[UstV_Leistender_Land] as Country,leist.[UstV_Leistender_UstNr] as VAT,[UStVPo_USteuerbetrag] as 'Amount of tax refund'
|
|
||||||
FROM [tblUStVPositionen]
|
|
||||||
LEFT JOIN [tblUStVLeistender] as leist
|
|
||||||
ON ([tblUStVPositionen].[UStVPo_LeistenderId] > 0
|
|
||||||
AND leist.[UStV_LeistenderId] = [tblUStVPositionen].[UStVPo_LeistenderId])
|
|
||||||
OR ([tblUStVPositionen].[UStVPo_LeistenderId] <= 0
|
|
||||||
AND leist.[UStV_Leistender] = [tblUStVPositionen].[UStVPo_Leistender])
|
|
||||||
where UStVAn_ID=" & UStVAn_ID & " and UStVPo_ID in(" & posId & ") ORDER BY UStVPo_ID"
|
|
||||||
|
|
||||||
Dim dtNew As DataTable = SQL.loadDgvBySql(StringSQL, "FMZOLL")
|
|
||||||
|
|
||||||
If dtNew IsNot Nothing AndAlso dtNew.Rows.Count > 0 Then
|
|
||||||
|
|
||||||
|
|
||||||
Dim sumVAT As Double = 0
|
|
||||||
|
|
||||||
For Each row In dtNew.Rows
|
|
||||||
If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then sumVAT += CDbl(row("Amount of tax refund"))
|
|
||||||
If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then row("Amount of tax refund") = CDbl(row("Amount of tax refund"))
|
|
||||||
If Not IsDBNull(row("Name of supplier")) AndAlso row("Name of supplier") <> "" AndAlso Not IsDBNull(row("VAT")) AndAlso row("VAT") <> "" Then
|
|
||||||
row("Name of supplier") = row("Name of supplier").ToString.Replace(" " & row("VAT").ToString.Substring(0, 2), "")
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
Dim drLast = dtNew.NewRow
|
|
||||||
If dtNew.Columns.Contains("Number") Then drLast.Item("Number") = dtNew.Rows.Count + 1
|
|
||||||
If dtNew.Columns.Contains("Date of Invoice") Then drLast.Item("Date of Invoice") = DBNull.Value
|
|
||||||
If dtNew.Columns.Contains("Number of invoice") Then drLast.Item("Number of invoice") = DBNull.Value
|
|
||||||
If dtNew.Columns.Contains("Amount of tax refund") Then drLast.Item("Amount of tax refund") = sumVAT
|
|
||||||
If dtNew.Columns.Contains("Name of supplier") Then drLast.Item("Name of supplier") = DBNull.Value
|
|
||||||
If dtNew.Columns.Contains("Street") Then drLast.Item("Street") = DBNull.Value
|
|
||||||
If dtNew.Columns.Contains("City") Then drLast.Item("City") = DBNull.Value
|
|
||||||
If dtNew.Columns.Contains("Country") Then drLast.Item("Country") = DBNull.Value
|
|
||||||
If dtNew.Columns.Contains("ZIP-Code") Then drLast.Item("ZIP-Code") = DBNull.Value
|
|
||||||
If dtNew.Columns.Contains("VAT") Then drLast.Item("VAT") = "SUM"
|
|
||||||
If dtNew.Columns.Contains("Name of service") Then drLast.Item("Name of service") = DBNull.Value
|
|
||||||
|
|
||||||
dtNew.Rows.InsertAt(drLast, dtNew.Rows.Count)
|
|
||||||
|
|
||||||
Dim AD As New cAdressen(USTV_ANTRAG.UStVAn_KuNr)
|
|
||||||
cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K4:K" & (dtNew.Rows.Count + 1)},, "Statement itemising VAT amounts relating to the period covered by this application", "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & AD.Name_1 & " " & AD.Name_2 & " " & "VAT in " & Antrag_LandKz & ": " & txtStNr.Text, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "€", ""), True, "J", True, True)
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
@@ -2692,7 +2660,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
Else
|
Else
|
||||||
If Not abfNrisSetManually Then
|
If Not abfNrisSetManually Then
|
||||||
abfNrisSetManually = True
|
abfNrisSetManually = True
|
||||||
txtAbfNr.Text = CInt(CDate(USTV_ANTRAG.UStVAn_ReDatVon).Year.ToString.Substring(2, 2)) * 1000000 + CInt(txtAbfNr.Text)
|
txtAbfNr.Text = CInt(VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(cbxFiliale._value, Now.Year))
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
@@ -2710,7 +2678,7 @@ Public Class frmMDM_USTVAntrag
|
|||||||
If Not IsNumeric(cbxFiliale._value) OrElse CInt(cbxFiliale._value) <= 0 Then
|
If Not IsNumeric(cbxFiliale._value) OrElse CInt(cbxFiliale._value) <= 0 Then
|
||||||
MsgBox("Bitte Filiale auswählen!") : Exit Sub
|
MsgBox("Bitte Filiale auswählen!") : Exit Sub
|
||||||
End If
|
End If
|
||||||
txtAbfNr.Text = CInt(CDate(USTV_ANTRAG.UStVAn_ReDatVon).Year.ToString.Substring(2, 2)) * 1000000 + CInt(VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(cbxFiliale._value, Now.Year))
|
txtAbfNr.Text = CInt(VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(cbxFiliale._value, Now.Year))
|
||||||
|
|
||||||
If txtBezugsNr.Text = "" AndAlso txtAbfNr.Text.ToString.Length >= 6 Then
|
If txtBezugsNr.Text = "" AndAlso txtAbfNr.Text.ToString.Length >= 6 Then
|
||||||
txtBezugsNr.Text = txtAbfNr.Text.Substring(txtAbfNr.Text.ToString.Length - 6, 6)
|
txtBezugsNr.Text = txtAbfNr.Text.Substring(txtAbfNr.Text.ToString.Length - 6, 6)
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
|
|
||||||
|
|
||||||
|
Imports iTextSharp.text.pdf
|
||||||
|
Imports iTextSharp.text.pdf.parser
|
||||||
|
Imports System.IO
|
||||||
|
Imports System.Windows.Forms
|
||||||
|
|
||||||
Public Class cMDMFunctionsAllgemein
|
Public Class cMDMFunctionsAllgemein
|
||||||
|
|
||||||
Public Shared ploseAlteLogikSchnittstelle As Boolean = False
|
Public Shared ploseAlteLogikSchnittstelle As Boolean = False
|
||||||
@@ -139,7 +144,7 @@ Public Class cMDMFunctionsAllgemein
|
|||||||
Else
|
Else
|
||||||
sqlWhere = "in (SELECT DISTINCT tblSteuernummern.AdressenNr AS UStVAn_KuNr
|
sqlWhere = "in (SELECT DISTINCT tblSteuernummern.AdressenNr AS UStVAn_KuNr
|
||||||
FROM tblSteuernummern
|
FROM tblSteuernummern
|
||||||
where AdressenNr is not null) "
|
where AdressenNr is not null) AND Adressen.Auswahl = 'A'"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'alle Kunden, die eine SteuerNr hinterlegt haben inkl. deren hinterlegte Summen!
|
'alle Kunden, die eine SteuerNr hinterlegt haben inkl. deren hinterlegte Summen!
|
||||||
@@ -791,4 +796,311 @@ Public Class cMDMFunctionsAllgemein
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
Shared Function getDaID_OLD(SchnittstellenNr, reDat, reNr, Antrag_LandKz, USTV_ANTRAG)
|
||||||
|
Dim da_id = -1
|
||||||
|
|
||||||
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
|
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, 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)
|
||||||
|
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] ='" & reDat & "' AND ISNULL(tblIDSTransactionsNew.[OBONumber], ISNULL(tblIDSTransactionsNew.[VRNumber], tblIDSTransactionsNew.[Paymentsummarynumber])) ='" & reNr & "' and tbl_IDS_Länder.Lieferland_ISO2='" & Antrag_LandKz & "' AND tblIDSInvoicesNew.daId is not null", "FMZOLL",,, -1)
|
||||||
|
Case 12 : da_id = SQL.getValueTxtBySql("SELECT TOP(1) tblIDSInvoicesNewSplittedByCountry.daId FROM [tblIDSInvoicesNewSplittedByCountry] where tblIDSInvoicesNewSplittedByCountry.[YearMonthDay] ='" & reDat & "' AND tblIDSInvoicesNewSplittedByCountry.Invoicenumber ='" & reNr.ToString.Replace("/", "") & "' andtblIDSInvoicesNewSplittedByCountry.Country='" & Antrag_LandKz & "' AND tblIDSInvoicesNewSplittedByCountry.daId is not null", "FMZOLL",,, -1)
|
||||||
|
End Select
|
||||||
|
|
||||||
|
Return da_id
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
Shared Function getPDF(schnittstellenNr, ReNr, ReDat, daId, nummierung, PDFisProtected, LandKZ, USTVA, cFakturierung, returnDSID) As String
|
||||||
|
|
||||||
|
|
||||||
|
Dim schnnittstellenNr = schnittstellenNr
|
||||||
|
Dim dsID
|
||||||
|
|
||||||
|
If Not IsDBNull(daId) AndAlso IsNumeric(daId) AndAlso daId > 0 Then
|
||||||
|
dsID = daId
|
||||||
|
Else
|
||||||
|
dsID = getDaID_OLD(schnnittstellenNr, ReDat, ReNr, LandKZ, USTVA)
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
If dsID < 0 Then
|
||||||
|
Return ""
|
||||||
|
ElseIf returnDSID Then
|
||||||
|
If schnittstellenNr = 8 Then 'Nr enthätl alle IDS-Rechnungen, die nicht mitgeben!
|
||||||
|
Return -1
|
||||||
|
Else
|
||||||
|
Return dsID
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
'Anschrift Nummerierung:
|
||||||
|
Dim x = 100
|
||||||
|
Dim y = 10
|
||||||
|
Dim width = 300
|
||||||
|
Dim height = 10
|
||||||
|
Dim mSize = 10
|
||||||
|
Dim mFont = ""
|
||||||
|
|
||||||
|
Select Case schnnittstellenNr
|
||||||
|
Case 1
|
||||||
|
If dsID > 0 Then
|
||||||
|
'Me.Cursor = Cursors.WaitCursor
|
||||||
|
Dim path As String
|
||||||
|
cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 4, path)
|
||||||
|
|
||||||
|
If nummierung > 0 Then
|
||||||
|
|
||||||
|
Dim pdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(path)
|
||||||
|
PdfReader.unethicalreading = True
|
||||||
|
|
||||||
|
Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
||||||
|
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
||||||
|
|
||||||
|
For page As Integer = 1 To pdfReader.NumberOfPages
|
||||||
|
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , iTextSharp.text.Element.ALIGN_LEFT, page))
|
||||||
|
Next
|
||||||
|
|
||||||
|
pdfReader.Close()
|
||||||
|
|
||||||
|
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(path, listTowrite, , , , ,)
|
||||||
|
Return PdfTmp
|
||||||
|
|
||||||
|
Else
|
||||||
|
Return path
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case 8
|
||||||
|
|
||||||
|
'Me.Cursor = Cursors.WaitCursor
|
||||||
|
Dim ds As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID)
|
||||||
|
|
||||||
|
Dim path_src As String = ds.OPEN_SINGLE(False)
|
||||||
|
If path_src = "" Then Return ""
|
||||||
|
|
||||||
|
Try
|
||||||
|
|
||||||
|
Dim fi As New System.IO.DirectoryInfo(path_src)
|
||||||
|
Dim pdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(path_src)
|
||||||
|
|
||||||
|
Dim TMP_Path_New = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension,, False, "IDS-Rechnungen")
|
||||||
|
Dim srcDoc As New iTextSharp.text.Document()
|
||||||
|
Dim PdfCopyProvider As New iTextSharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create))
|
||||||
|
PdfCopyProvider.SetFullCompression()
|
||||||
|
srcDoc.Open()
|
||||||
|
PdfReader.unethicalreading = True
|
||||||
|
Dim pages As New List(Of Integer)()
|
||||||
|
|
||||||
|
For page As Integer = 1 To pdfReader.NumberOfPages
|
||||||
|
|
||||||
|
Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
|
||||||
|
Dim currentpagetext As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy)
|
||||||
|
Dim searchtext As String = ReNr
|
||||||
|
Dim impPage As iTextSharp.text.pdf.PdfImportedPage = Nothing
|
||||||
|
|
||||||
|
If (currentpagetext.Contains(searchtext)) Then
|
||||||
|
|
||||||
|
If page > pdfReader.NumberOfPages Then
|
||||||
|
MsgBox("Seitenanzahl überschritten!")
|
||||||
|
srcDoc.Close() : pdfReader.Close()
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
Try
|
||||||
|
|
||||||
|
impPage = PdfCopyProvider.GetImportedPage(pdfReader, page)
|
||||||
|
' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite
|
||||||
|
PdfCopyProvider.SetPageSize(New iTextSharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page)))
|
||||||
|
' ----- PDF Seite in das neue Dokument einfügen
|
||||||
|
If impPage IsNot Nothing Then PdfCopyProvider.AddPage(impPage)
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
srcDoc.Close()
|
||||||
|
pdfReader.Close()
|
||||||
|
|
||||||
|
If nummierung > 0 Then
|
||||||
|
|
||||||
|
Dim pdfReadernNew As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(TMP_Path_New)
|
||||||
|
pdfReadernNew.unethicalreading = True
|
||||||
|
|
||||||
|
Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
||||||
|
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
||||||
|
|
||||||
|
For page As Integer = 1 To pdfReadernNew.NumberOfPages
|
||||||
|
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y - 6, width, height, mFont, mSize, , iTextSharp.text.Element.ALIGN_LEFT, page))
|
||||||
|
Next
|
||||||
|
|
||||||
|
pdfReader.Close()
|
||||||
|
|
||||||
|
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(TMP_Path_New, listTowrite, , , , ,)
|
||||||
|
Return PdfTmp
|
||||||
|
Else
|
||||||
|
|
||||||
|
|
||||||
|
Return TMP_Path_New
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
Case Else
|
||||||
|
If dsID > 0 Then
|
||||||
|
'Me.Cursor = Cursors.WaitCursor
|
||||||
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID)
|
||||||
|
If nummierung > 0 Then
|
||||||
|
|
||||||
|
'wenn PDF nicht beschreibbar, dann mittels Stamp!
|
||||||
|
If PDFisProtected Then
|
||||||
|
|
||||||
|
Dim tempPathNew = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(DS.da_name & "_modified", ".pdf", True, False, "USTVA")
|
||||||
|
|
||||||
|
Dim pdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
|
||||||
|
PdfReader.unethicalreading = True
|
||||||
|
|
||||||
|
Dim fs = New FileStream(tempPathNew, FileMode.Create, FileAccess.Write, FileShare.None)
|
||||||
|
Dim stamper = New PdfStamper(pdfReader, fs)
|
||||||
|
|
||||||
|
For page As Integer = 1 To pdfReader.NumberOfPages
|
||||||
|
Dim canvas As PdfContentByte = stamper.GetOverContent(page)
|
||||||
|
Dim bf As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED)
|
||||||
|
canvas.SetFontAndSize(bf, 12)
|
||||||
|
canvas.BeginText()
|
||||||
|
|
||||||
|
'The origin (0,0) is at the bottom-left corner of the page and represent coordinates in points!!!!!
|
||||||
|
Dim _height = pdfReader.GetPageSizeWithRotation(page).GetTop(25) 'oberer Rand
|
||||||
|
Dim _width = pdfReader.GetPageSizeWithRotation(page).GetRight(0) / 2 'Mitte
|
||||||
|
|
||||||
|
canvas.ShowTextAligned(PdfContentByte.ALIGN_CENTER, nummierung, _width, _height, 0)
|
||||||
|
'canvas.ShowTextAligned(PdfContentByte.ALIGN_CENTER, nummierung, 350, 550, 0)
|
||||||
|
|
||||||
|
canvas.EndText()
|
||||||
|
'listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
|
||||||
|
Next
|
||||||
|
stamper.Close()
|
||||||
|
pdfReader.Close()
|
||||||
|
|
||||||
|
Return tempPathNew
|
||||||
|
|
||||||
|
Else
|
||||||
|
|
||||||
|
|
||||||
|
Dim pdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
|
||||||
|
|
||||||
|
Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
||||||
|
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
||||||
|
|
||||||
|
For page As Integer = 1 To pdfReader.NumberOfPages
|
||||||
|
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , iTextSharp.text.Element.ALIGN_LEFT, page))
|
||||||
|
Next
|
||||||
|
|
||||||
|
pdfReader.Close()
|
||||||
|
|
||||||
|
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(DS.GET_TOP1_PATH, listTowrite, , , , ,)
|
||||||
|
Return PdfTmp
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Else
|
||||||
|
|
||||||
|
Return DS.GET_TOP1_PATH
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
End Select
|
||||||
|
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Shared Function generateExcelPosList(USTV_ANTRAG As cUSTVAntrag, posId As String, Antrag_LandKz As String, SteuerNR As String, openFile As Boolean) As String
|
||||||
|
|
||||||
|
Dim sql As New SQL
|
||||||
|
|
||||||
|
Dim sqlWHere = ""
|
||||||
|
If posId <> "" Then
|
||||||
|
sqlWHere = " And UStVPo_ID in(" & posId & ")"
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim StringSQL = "SELECT [UStVPo_ID] as Number ,[UStVPo_ReDat] as 'Date of Invoice',[UStVPo_ReNr] as 'Number of invoice' ,[UStVPo_Leistungsbezeichnung] as 'Name of service',[UStVPo_Leistender] as 'Name of supplier',leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as Street,
|
||||||
|
leist.[UstV_Leistender_PLZ] as 'ZIP-Code',leist.[UstV_Leistender_Stadt] as City,leist.[UstV_Leistender_Land] as Country,leist.[UstV_Leistender_UstNr] as VAT,[UStVPo_USteuerbetrag] as 'Amount of tax refund'
|
||||||
|
FROM [tblUStVPositionen]
|
||||||
|
LEFT JOIN [tblUStVLeistender] as leist
|
||||||
|
ON ([tblUStVPositionen].[UStVPo_LeistenderId] > 0
|
||||||
|
AND leist.[UStV_LeistenderId] = [tblUStVPositionen].[UStVPo_LeistenderId])
|
||||||
|
OR ([tblUStVPositionen].[UStVPo_LeistenderId] <= 0
|
||||||
|
AND leist.[UStV_Leistender] = [tblUStVPositionen].[UStVPo_Leistender])
|
||||||
|
where UStVAn_ID=" & USTV_ANTRAG.UStVAn_ID & sqlWHere & " ORDER BY UStVPo_ID"
|
||||||
|
|
||||||
|
Dim dtNew As DataTable = sql.loadDgvBySql(StringSQL, "FMZOLL")
|
||||||
|
|
||||||
|
If dtNew IsNot Nothing AndAlso dtNew.Rows.Count > 0 Then
|
||||||
|
|
||||||
|
|
||||||
|
Dim sumVAT As Double = 0
|
||||||
|
|
||||||
|
For Each row In dtNew.Rows
|
||||||
|
If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then sumVAT += CDbl(row("Amount of tax refund"))
|
||||||
|
If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then row("Amount of tax refund") = CDbl(row("Amount of tax refund"))
|
||||||
|
If Not IsDBNull(row("Name of supplier")) AndAlso row("Name of supplier") <> "" AndAlso Not IsDBNull(row("VAT")) AndAlso row("VAT") <> "" Then
|
||||||
|
row("Name of supplier") = row("Name of supplier").ToString.Replace(" " & row("VAT").ToString.Substring(0, 2), "")
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
Dim drLast = dtNew.NewRow
|
||||||
|
If dtNew.Columns.Contains("Number") Then drLast.Item("Number") = dtNew.Rows.Count + 1
|
||||||
|
If dtNew.Columns.Contains("Date of Invoice") Then drLast.Item("Date of Invoice") = DBNull.Value
|
||||||
|
If dtNew.Columns.Contains("Number of invoice") Then drLast.Item("Number of invoice") = DBNull.Value
|
||||||
|
If dtNew.Columns.Contains("Amount of tax refund") Then drLast.Item("Amount of tax refund") = sumVAT
|
||||||
|
If dtNew.Columns.Contains("Name of supplier") Then drLast.Item("Name of supplier") = DBNull.Value
|
||||||
|
If dtNew.Columns.Contains("Street") Then drLast.Item("Street") = DBNull.Value
|
||||||
|
If dtNew.Columns.Contains("City") Then drLast.Item("City") = DBNull.Value
|
||||||
|
If dtNew.Columns.Contains("Country") Then drLast.Item("Country") = DBNull.Value
|
||||||
|
If dtNew.Columns.Contains("ZIP-Code") Then drLast.Item("ZIP-Code") = DBNull.Value
|
||||||
|
If dtNew.Columns.Contains("VAT") Then drLast.Item("VAT") = "SUM"
|
||||||
|
If dtNew.Columns.Contains("Name of service") Then drLast.Item("Name of service") = DBNull.Value
|
||||||
|
|
||||||
|
dtNew.Rows.InsertAt(drLast, dtNew.Rows.Count)
|
||||||
|
|
||||||
|
Dim header1 As String = ""
|
||||||
|
Dim header2 As String = ""
|
||||||
|
Dim AD As New cAdressen(USTV_ANTRAG.UStVAn_KuNr)
|
||||||
|
If Antrag_LandKz <> "" AndAlso SteuerNR <> "" Then
|
||||||
|
header1 = "Statement itemising VAT amounts relating to the period covered by this application"
|
||||||
|
header2 = "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & AD.Name_1 & " " & AD.Name_2 & " " & "VAT in " & Antrag_LandKz & ": " & SteuerNR
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return cProgramFunctions.genExcelFromDT_NEW_(dtNew, {"K4:K" & (dtNew.Rows.Count + 1)},, header1, header2, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "€", ""), True, "J", True,, openFile)
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -354,6 +354,91 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function genExcelFromDT_NEW_(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional waehrungsZeichen As String = "€", Optional fitCellsToContent As Boolean = False, Optional mergeHeadersToCell As Char = "", Optional Landscape As Boolean = False, Optional fitToOnePage As Boolean = False, Optional openFile As Boolean = True) As String
|
||||||
|
Try
|
||||||
|
|
||||||
|
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName
|
||||||
|
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
||||||
|
My.Computer.FileSystem.CreateDirectory(sPath)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim wb As New XLWorkbook
|
||||||
|
' Dim dt As DataTable = (dgv.DataSource)
|
||||||
|
' Dim dt As DataTable = TryCast(dgv., DataTable)
|
||||||
|
|
||||||
|
wb.Worksheets.Add(dt, "DATEN")
|
||||||
|
wb.Worksheets(0).Tables.FirstOrDefault().ShowAutoFilter = ShowAutoFilter
|
||||||
|
|
||||||
|
If rangeAsWaehrung IsNot Nothing Then
|
||||||
|
For Each r In rangeAsWaehrung
|
||||||
|
Try
|
||||||
|
wb.Worksheets(0).Range(r).Style.NumberFormat.SetFormat("###,###,##0.00 " & waehrungsZeichen)
|
||||||
|
Catch ex As Exception
|
||||||
|
MsgBox(ex.Message & ex.StackTrace)
|
||||||
|
End Try
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
If HeaderTxt <> "" Then
|
||||||
|
wb.Worksheets(0).FirstRow.InsertRowsAbove(2)
|
||||||
|
wb.Worksheets(0).Range("A1").Value = HeaderTxt
|
||||||
|
wb.Worksheets(0).Range("A1").Style.Font.Bold = True
|
||||||
|
|
||||||
|
If mergeHeadersToCell <> "" Then
|
||||||
|
wb.Worksheets(0).Range("A1:" & mergeHeadersToCell & "1").Merge()
|
||||||
|
wb.Worksheets(0).Range("A1:" & mergeHeadersToCell & "1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center
|
||||||
|
wb.Worksheets(0).Range("A1:" & mergeHeadersToCell & "1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center
|
||||||
|
wb.Worksheets(0).Range("A1:" & mergeHeadersToCell & "1").Style.Alignment.WrapText = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If HeaderTxt2 <> "" Then
|
||||||
|
wb.Worksheets(0).Range("A2").Value = HeaderTxt2
|
||||||
|
wb.Worksheets(0).Row(2).InsertRowsBelow(1)
|
||||||
|
|
||||||
|
If mergeHeadersToCell <> "" Then
|
||||||
|
wb.Worksheets(0).Range("A2:" & mergeHeadersToCell & "2").Merge()
|
||||||
|
wb.Worksheets(0).Range("A2:" & mergeHeadersToCell & "2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center
|
||||||
|
wb.Worksheets(0).Range("A2:" & mergeHeadersToCell & "2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center
|
||||||
|
wb.Worksheets(0).Range("A2:" & mergeHeadersToCell & "2").Style.Alignment.WrapText = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
If fitCellsToContent Then
|
||||||
|
wb.Worksheets(0).Columns().AdjustToContents()
|
||||||
|
wb.Worksheets(0).Rows().AdjustToContents()
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Landscape Then
|
||||||
|
wb.Worksheets(0).PageSetup.PageOrientation = XLPageOrientation.Landscape
|
||||||
|
Else
|
||||||
|
wb.Worksheets(0).PageSetup.PageOrientation = XLPageOrientation.Default
|
||||||
|
End If
|
||||||
|
|
||||||
|
If fitToOnePage Then
|
||||||
|
|
||||||
|
wb.Worksheets(0).PageSetup.PagesWide = 1 ' In die Breite auf eine Seite anpassen
|
||||||
|
wb.Worksheets(0).PageSetup.PagesTall = 1 ' In die Höhe auf eine Seite anpassen
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Dim filename As String = sPath & "tmp_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
|
||||||
|
wb.SaveAs(filename)
|
||||||
|
|
||||||
|
|
||||||
|
If openFile Then Process.Start(filename)
|
||||||
|
|
||||||
|
Return filename
|
||||||
|
Catch ex As Exception
|
||||||
|
MsgBox(ex.Message & ex.StackTrace)
|
||||||
|
Return Nothing
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Shared Function sendMail(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True, Optional cc = "", Optional bcc = "", Optional anhaenge = Nothing, Optional art = 0)
|
Public Shared Function sendMail(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True, Optional cc = "", Optional bcc = "", Optional anhaenge = Nothing, Optional art = 0)
|
||||||
Dim Msg As New MailMessage
|
Dim Msg As New MailMessage
|
||||||
Dim myCredentials As New System.Net.NetworkCredential
|
Dim myCredentials As New System.Net.NetworkCredential
|
||||||
|
|||||||
Reference in New Issue
Block a user