MDM, cDatenserver
This commit is contained in:
@@ -62,7 +62,6 @@ Public Class frmAbrechnungsMaske
|
||||
|
||||
cboSachbearbeiter.Items.Clear()
|
||||
|
||||
|
||||
Select Case FirmaTmp
|
||||
|
||||
Case "VERAG"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
MsgBox(FilialenNr)
|
||||
'MsgBox(FilialenNr)
|
||||
If FilialenNr IsNot Nothing AndAlso IsNumeric(FilialenNr) Then Me.FilialenNr = FilialenNr
|
||||
If AbfertigungsNr IsNot Nothing AndAlso IsNumeric(AbfertigungsNr) Then Me.AbfertigungsNr = AbfertigungsNr
|
||||
' 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 com.sun.imageio.plugins
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
|
||||
Public Class usrCntlFaktAbrechnung
|
||||
@@ -1734,6 +1733,56 @@ Public Class usrCntlFaktAbrechnung
|
||||
'-----------------------------
|
||||
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
|
||||
dgvAnhaenge.ClearSelection()
|
||||
End Sub
|
||||
@@ -1771,6 +1820,14 @@ Public Class usrCntlFaktAbrechnung
|
||||
RECHNUNG.Anlage_3 = ""
|
||||
RECHNUNG.Anlage_4 = ""
|
||||
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
|
||||
If SPEDBUCH IsNot Nothing Then
|
||||
Select Case SPEDBUCH.Abfertigungsart
|
||||
@@ -1939,6 +1996,7 @@ Public Class usrCntlFaktAbrechnung
|
||||
'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 "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
|
||||
If SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.Abfertigungsart = 38 Then 'EV-VZ
|
||||
@@ -2162,7 +2220,7 @@ Public Class usrCntlFaktAbrechnung
|
||||
|
||||
For Each POS In RECHNUNG.POSITIONEN
|
||||
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.SteuerfreierBetrag
|
||||
'Me![Abfertigungskosten] = Me![Abfertigungskosten] + fktEuro(![SteuerfreierBetrag], Me![Währungscode], "EUR")
|
||||
@@ -4227,7 +4285,7 @@ Nächste_Textzeile_lesen:
|
||||
ContextMenuStrip3.Show(Cursor.Position)
|
||||
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
|
||||
|
||||
|
||||
|
||||
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.3.9.3")>
|
||||
<Assembly: AssemblyFileVersion("1.3.9.3")>
|
||||
<Assembly: AssemblyVersion("1.3.9.4")>
|
||||
<Assembly: AssemblyFileVersion("1.3.9.4")>
|
||||
|
||||
@@ -18,6 +18,7 @@ Public Class frmMDM_USTVAntrag
|
||||
Dim atez_api = New cATEZ_NCTS_IN("ATEZ_VAT", False)
|
||||
Dim abfNrisSetManually As Boolean = False
|
||||
Dim von, bis As Date
|
||||
Dim func As New cMDMFunctionsAllgemein
|
||||
|
||||
Sub New(UStVAn_ID)
|
||||
|
||||
@@ -174,7 +175,7 @@ Public Class frmMDM_USTVAntrag
|
||||
If Not IsDBNull(r.Cells("UStVPo_daId").Value) Then
|
||||
da_id = r.Cells("UStVPo_daId").Value
|
||||
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
|
||||
|
||||
|
||||
@@ -1208,7 +1209,9 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
Shared Function loadUSTVFrom_IDS(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
||||
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 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)
|
||||
@@ -1226,7 +1229,14 @@ Public Class frmMDM_USTVAntrag
|
||||
USTV_POS.UStVPo_ReNr = r.Item("Rechnungsnummer").ToString
|
||||
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
|
||||
USTV_POS.UStVPo_daId_loeschbar = False
|
||||
Else
|
||||
@@ -1819,7 +1829,7 @@ Public Class frmMDM_USTVAntrag
|
||||
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
|
||||
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
|
||||
From tblIDSTransactionsNew
|
||||
INNER Join tbl_IDS_Länder
|
||||
@@ -1845,7 +1855,7 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
End Select
|
||||
|
||||
If (SchnittstellenNr > 0 And SchnittstellenNr < 12) Then
|
||||
If (SchnittstellenNr > 0 And SchnittstellenNr < 13) 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
|
||||
Return updated
|
||||
@@ -1934,7 +1944,7 @@ Public Class frmMDM_USTVAntrag
|
||||
If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then
|
||||
|
||||
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
|
||||
Process.Start(pdf)
|
||||
@@ -1948,22 +1958,22 @@ Public Class frmMDM_USTVAntrag
|
||||
Me.Cursor = Cursors.Default
|
||||
End Sub
|
||||
|
||||
Private Function getDaID_OLD(SchnittstellenNr, reDat, reNr)
|
||||
Dim da_id = -1
|
||||
'Private Function getDaID_OLD(SchnittstellenNr, reDat, reNr)
|
||||
' Dim da_id = -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 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)
|
||||
End Select
|
||||
' 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)
|
||||
' 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
|
||||
|
||||
@@ -1994,7 +2004,7 @@ Public Class frmMDM_USTVAntrag
|
||||
For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index)
|
||||
|
||||
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)
|
||||
|
||||
@@ -2035,7 +2045,7 @@ Public Class frmMDM_USTVAntrag
|
||||
If Not IsDBNull(r.Cells("UStVPo_daId").Value) Then
|
||||
da_id = r.Cells("UStVPo_daId").Value
|
||||
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
|
||||
If da_id > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf
|
||||
Next
|
||||
@@ -2043,216 +2053,216 @@ Public Class frmMDM_USTVAntrag
|
||||
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 dsID
|
||||
' 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)
|
||||
' If Not IsDBNull(daId) AndAlso IsNumeric(daId) AndAlso daId > 0 Then
|
||||
' dsID = daId
|
||||
' Else
|
||||
' 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:
|
||||
Dim x = 100
|
||||
Dim y = 10
|
||||
Dim width = 300
|
||||
Dim height = 10
|
||||
Dim mSize = 10
|
||||
Dim mFont = ""
|
||||
' '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)
|
||||
' 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
|
||||
' If nummierung > 0 Then
|
||||
|
||||
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path)
|
||||
PdfReader.unethicalreading = True
|
||||
' 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)
|
||||
' 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
|
||||
' 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()
|
||||
' pdfReader.Close()
|
||||
|
||||
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(path, listTowrite, , , , ,)
|
||||
Return PdfTmp
|
||||
' Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(path, listTowrite, , , , ,)
|
||||
' Return PdfTmp
|
||||
|
||||
Else
|
||||
Return path
|
||||
End If
|
||||
' Else
|
||||
' Return path
|
||||
' End If
|
||||
|
||||
|
||||
End If
|
||||
' End If
|
||||
|
||||
Case 8
|
||||
' Case 8
|
||||
|
||||
Me.Cursor = Cursors.WaitCursor
|
||||
Dim ds As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID)
|
||||
' 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 ""
|
||||
' Dim path_src As String = ds.OPEN_SINGLE(False)
|
||||
' If path_src = "" Then Return ""
|
||||
|
||||
Try
|
||||
' 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 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)()
|
||||
' 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
|
||||
' 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
|
||||
' 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 (currentpagetext.Contains(searchtext)) Then
|
||||
|
||||
If page > pdfReader.NumberOfPages Then
|
||||
MsgBox("Seitenanzahl überschritten!")
|
||||
srcDoc.Close() : pdfReader.Close()
|
||||
Return False
|
||||
End If
|
||||
Try
|
||||
' 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
|
||||
' 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
|
||||
' End If
|
||||
|
||||
|
||||
|
||||
|
||||
Next
|
||||
' Next
|
||||
|
||||
srcDoc.Close()
|
||||
pdfReader.Close()
|
||||
' srcDoc.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)
|
||||
pdfReadernNew.unethicalreading = True
|
||||
' 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)
|
||||
' 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
|
||||
' 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()
|
||||
' pdfReader.Close()
|
||||
|
||||
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(TMP_Path_New, listTowrite, , , , ,)
|
||||
Return PdfTmp
|
||||
Else
|
||||
' Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(TMP_Path_New, listTowrite, , , , ,)
|
||||
' Return PdfTmp
|
||||
' Else
|
||||
|
||||
|
||||
Return TMP_Path_New
|
||||
' Return TMP_Path_New
|
||||
|
||||
End If
|
||||
' 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
|
||||
' 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
|
||||
' '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 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 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)
|
||||
' 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()
|
||||
' 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
|
||||
' '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.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()
|
||||
' 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
|
||||
' 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 listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
||||
' 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
|
||||
' 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()
|
||||
' pdfReader.Close()
|
||||
|
||||
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(DS.GET_TOP1_PATH, listTowrite, , , , ,)
|
||||
Return PdfTmp
|
||||
' Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(DS.GET_TOP1_PATH, listTowrite, , , , ,)
|
||||
' Return PdfTmp
|
||||
|
||||
End If
|
||||
' End If
|
||||
|
||||
|
||||
Else
|
||||
' Else
|
||||
|
||||
Return DS.GET_TOP1_PATH
|
||||
End If
|
||||
' Return DS.GET_TOP1_PATH
|
||||
' End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
End Select
|
||||
' End If
|
||||
' End Select
|
||||
|
||||
|
||||
End Function
|
||||
'End Function
|
||||
|
||||
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 &= ","
|
||||
Next
|
||||
|
||||
|
||||
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
|
||||
func.generateExcelPosList(USTV_ANTRAG, posId, Antrag_LandKz, txtStNr.Text, True)
|
||||
|
||||
|
||||
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
|
||||
@@ -2692,7 +2660,7 @@ Public Class frmMDM_USTVAntrag
|
||||
Else
|
||||
If Not abfNrisSetManually Then
|
||||
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
|
||||
@@ -2710,7 +2678,7 @@ Public Class frmMDM_USTVAntrag
|
||||
If Not IsNumeric(cbxFiliale._value) OrElse CInt(cbxFiliale._value) <= 0 Then
|
||||
MsgBox("Bitte Filiale auswählen!") : Exit Sub
|
||||
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
|
||||
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 Shared ploseAlteLogikSchnittstelle As Boolean = False
|
||||
@@ -791,4 +796,311 @@ Public Class cMDMFunctionsAllgemein
|
||||
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
|
||||
|
||||
@@ -354,6 +354,91 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
|
||||
End Try
|
||||
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)
|
||||
Dim Msg As New MailMessage
|
||||
Dim myCredentials As New System.Net.NetworkCredential
|
||||
|
||||
Reference in New Issue
Block a user