Merge branch 'newMaster2024' of https://dev.azure.com/VeragAG/_git/SDL into newMaster2024

This commit is contained in:
2025-03-28 07:55:31 +01:00
3 changed files with 108 additions and 33 deletions

View File

@@ -2243,10 +2243,10 @@ Public Class cFakturierung
)
If rpt IsNot Nothing Then
desc.AddTradePaymentTerms(rpt.Label2.Text, zahlungszieldatum)
desc.SetPaymentMeans(PaymentMeansTypeCodes.PaymentToBankAccount, rpt.Label2.Text)
desc.SetPaymentMeans(PaymentMeansTypeCodes.SEPACreditTransfer, rpt.Label2.Text)
ElseIf rptAnl IsNot Nothing Then
desc.AddTradePaymentTerms(rptAnl.Label2.Text, zahlungszieldatum)
desc.SetPaymentMeans(PaymentMeansTypeCodes.PaymentToBankAccount, rptAnl.Label2.Text)
desc.SetPaymentMeans(PaymentMeansTypeCodes.SEPACreditTransfer, rptAnl.Label2.Text)
End If
'If RECHNUNG.TextZZ.ToString.Contains("Abbuchungsauftrag") Then

View File

@@ -3,6 +3,7 @@ Imports System.IO
Imports System.Reflection
Imports System.Windows.Documents
Imports com.sun.tools.corba.se.idl.constExpr
Imports IKVM.internal
Imports itextsharp.text.pdf
Imports itextsharp.text.pdf.parser
Imports Microsoft.Office.Interop
@@ -635,7 +636,11 @@ Public Class frmMDM_USTVAntrag
USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
USTV_POS.UStVPo_Zeitstempel = Now()
If USTV_POS.UStVPo_daId > 0 Then USTV_POS.UStVPo_daId_loeschbar = False
If USTV_POS.UStVPo_daId <> "" AndAlso USTV_POS.UStVPo_daId > 0 Then
USTV_POS.UStVPo_daId_loeschbar = False
Else
USTV_POS.UStVPo_daId_loeschbar = True
End If
' USTV_POS.UStVPo_daId = ANTRAG.plose_daId
' Berechnungen
@@ -842,7 +847,12 @@ Public Class frmMDM_USTVAntrag
USTV_POS.UStVPo_ReNr = r.Item("rmc_reNr").ToString
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
USTV_POS.UStVPo_daId = r.Item("rmc_daId")
If USTV_POS.UStVPo_daId > 0 Then USTV_POS.UStVPo_daId_loeschbar = False
If USTV_POS.UStVPo_daId <> "" AndAlso USTV_POS.UStVPo_daId > 0 Then
USTV_POS.UStVPo_daId_loeschbar = False
Else
USTV_POS.UStVPo_daId_loeschbar = True
End If
If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then
@@ -909,7 +919,11 @@ Public Class frmMDM_USTVAntrag
USTV_POS.UStVPo_ReNr = r.Item("invoice_number") & " - " & kdNr & IIf(Antrag_LandKz = "BE", "/Belgium", "")
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
USTV_POS.UStVPo_daId = r.Item("daId")
If USTV_POS.UStVPo_daId > 0 Then USTV_POS.UStVPo_daId_loeschbar = False
If USTV_POS.UStVPo_daId > 0 Then
USTV_POS.UStVPo_daId_loeschbar = False
Else
USTV_POS.UStVPo_daId_loeschbar = True
End If
If Not alreadyExistsMitLeistungsBez(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then
@@ -977,7 +991,11 @@ Public Class frmMDM_USTVAntrag
USTV_POS.UStVPo_ReNr = r.Item("Rechnungsnummer").ToString
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
USTV_POS.UStVPo_daId = r.Item("daId")
If USTV_POS.UStVPo_daId > 0 Then USTV_POS.UStVPo_daId_loeschbar = False
If USTV_POS.UStVPo_daId > 0 Then
USTV_POS.UStVPo_daId_loeschbar = False
Else
USTV_POS.UStVPo_daId_loeschbar = True
End If
If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then
@@ -1047,7 +1065,11 @@ Public Class frmMDM_USTVAntrag
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")
If USTV_POS.UStVPo_daId > 0 Then USTV_POS.UStVPo_daId_loeschbar = False
If USTV_POS.UStVPo_daId <> "" AndAlso USTV_POS.UStVPo_daId > 0 Then
USTV_POS.UStVPo_daId_loeschbar = False
Else
USTV_POS.UStVPo_daId_loeschbar = True
End If
If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then
USTV_POS.UStVPo_Schnittstelle = True
@@ -1646,7 +1668,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)
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)
If IO.File.Exists(pdf) Then
Process.Start(pdf)
@@ -1702,7 +1724,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))
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), IIf(row.Cells("UStVPo_Leistender").Value.ToString.ToLower.Contains("wag"), True, False))
If pdf <> "" Then list.Add(pdf)
@@ -1751,7 +1773,7 @@ Public Class frmMDM_USTVAntrag
End Sub
Private Function getPDF(schnittstellenNr, ReNr, ReDat, daId, nummierung) As String
Private Function getPDF(schnittstellenNr, ReNr, ReDat, daId, nummierung, PDFisProtected) As String
Dim schnnittstellenNr = schnittstellenNr
@@ -1784,6 +1806,7 @@ Public Class frmMDM_USTVAntrag
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)
@@ -1853,17 +1876,37 @@ Public Class frmMDM_USTVAntrag
End If
If nummierung > 0 Then
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page))
End If
Next
srcDoc.Close()
pdfReader.Close()
Return TMP_Path_New
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
@@ -1876,23 +1919,55 @@ Public Class frmMDM_USTVAntrag
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID)
If nummierung > 0 Then
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
'wenn PDF nicht beschreibbar, dann mittels Stamp!
If PDFisProtected Then
Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
Dim tempPathNew = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(DS.da_name & "_modified", ".pdf", True, False, "USTVA")
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
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
PdfReader.unethicalreading = True
pdfReader.Close()
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!!!!!!!
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
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(DS.GET_TOP1_PATH, listTowrite, , , , ,)
Return PdfTmp
Else
Return DS.GET_TOP1_PATH
Return DS.GET_TOP1_PATH
End If

View File

@@ -948,7 +948,7 @@ Public Class usrcntlFakturierung
' ORDER BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr]"
Dim SQLString ="SELECT [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], isnull([Steuersatz %],0) as [Steuersatz %], cast([Lastschrift] as bit) as Lastschrift, Sum([SteuerpflichtigerGesamtbetrag]+[SteuerfreierGesamtbetrag]) AS Sammelrechnungsbetrag
Dim SQLString = "SELECT [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], isnull([Steuersatz %],0) as [Steuersatz %], cast([Lastschrift] as bit) as Lastschrift, Sum([SteuerpflichtigerGesamtbetrag]+[SteuerfreierGesamtbetrag]) AS Sammelrechnungsbetrag
FROM Rechnungsausgang
WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
GROUP BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], [Steuersatz %], [Lastschrift]
@@ -1039,13 +1039,13 @@ Public Class usrcntlFakturierung
If True Then 'cnt Mod 10 = 0 Then
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dtSelectedSammelrechnungen.Rows.Count
Dim proz As Double = (cnt / dtSelectedSammelrechnungen.Rows.Count) * 100
pbPloseAnh_Proz.Value = proz
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
'GroupBox12.Refresh()
My.Application.DoEvents()
End If
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dtSelectedSammelrechnungen.Rows.Count
Dim proz As Double = (cnt / dtSelectedSammelrechnungen.Rows.Count) * 100
pbPloseAnh_Proz.Value = proz
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
'GroupBox12.Refresh()
My.Application.DoEvents()
End If
cnt += 1