From ca6dba389bc82d116e0ca44f975c6a8d0130e0aa Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Tue, 31 Mar 2026 16:22:01 +0200 Subject: [PATCH] =?UTF-8?q?div.=20=C3=84nderungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SDL/App.config | 8 ++ SDL/Classes/cFiskaltrustClient.vb | 1 - SDL/SDL.vbproj | 37 +++++++- .../frmProvisionisverguetung.vb | 2 +- .../ATLAS/NCTS004/usrCntlATLAS_NCTS004.vb | 2 +- .../usrCntlATLAS_AnkunftsAnzeige.vb | 20 ++--- SDL/kassenbuch/frmBelegNeu.Designer.vb | 34 ++++---- SDL/kassenbuch/frmBelegNeu.vb | 7 +- SDL/packages.config | 10 +++ .../Classes/cFremdwaehrungskurse.vb | 49 ++++++++++- .../DATENSERVER/cDATENSERVER.vb | 86 +++++++++++++++++++ 11 files changed, 217 insertions(+), 39 deletions(-) diff --git a/SDL/App.config b/SDL/App.config index 9b6859a6..18fc606c 100644 --- a/SDL/App.config +++ b/SDL/App.config @@ -165,6 +165,14 @@ + + + + + + + + diff --git a/SDL/Classes/cFiskaltrustClient.vb b/SDL/Classes/cFiskaltrustClient.vb index a98013ac..c0eb440e 100644 --- a/SDL/Classes/cFiskaltrustClient.vb +++ b/SDL/Classes/cFiskaltrustClient.vb @@ -5,7 +5,6 @@ Imports System.Threading Public Class cFiskaltrustClient - Private ReadOnly _baseUrl As String Private ReadOnly _cashboxId As String Private ReadOnly _accessToken As String diff --git a/SDL/SDL.vbproj b/SDL/SDL.vbproj index 00e785ef..aacb56cb 100644 --- a/SDL/SDL.vbproj +++ b/SDL/SDL.vbproj @@ -101,8 +101,8 @@ - - ..\..\..\Aviso\AVISO\packages\Portable.BouncyCastle.1.8.5\lib\net40\BouncyCastle.Crypto.dll + + ..\..\..\Aviso\AVISO\packages\BouncyCastle.1.7.0\lib\Net40-Client\BouncyCastle.Crypto.dll F:\PROGRAMMIERUNG\dll\ActiveReports18\allDll\BouncyCastle.Cryptography.dll @@ -147,6 +147,21 @@ ..\..\..\AVISO\Aviso\packages\ExcelNumberFormat.1.0.10\lib\net20\ExcelNumberFormat.dll + + ..\..\..\Aviso\AVISO\packages\fiskaltrust.interface.utilities.1.2.24060.71293\lib\net40\fiskaltrust.ifPOS.Utilities.dll + + + ..\..\..\Aviso\AVISO\packages\fiskaltrust.interface.1.3.45\lib\net461\fiskaltrust.interface.dll + + + ..\..\..\Aviso\AVISO\packages\fiskaltrust.Middleware.Interface.Client.Soap.1.3.45\lib\net461\fiskaltrust.Middleware.Interface.Client.Common.dll + + + ..\..\..\Aviso\AVISO\packages\fiskaltrust.Middleware.Interface.Client.Http.1.3.45\lib\net461\fiskaltrust.Middleware.Interface.Client.Http.dll + + + ..\..\..\Aviso\AVISO\packages\fiskaltrust.Middleware.Interface.Client.Soap.1.3.45\lib\net461\fiskaltrust.Middleware.Interface.Client.Soap.dll + False F:\PROGRAMMIERUNG\dll\Ghostscript.NET.dll @@ -395,7 +410,9 @@ ..\..\..\DISPO\DISPO\packages\MESCIUS.Data.VBFunctionLib.4.0.3\lib\net462\MESCIUS.Data.VBFunctionLib.dll - + + ..\..\..\Aviso\AVISO\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll + False @@ -445,6 +462,9 @@ + + ..\..\..\Aviso\AVISO\packages\System.Interactive.Async.4.0.0\lib\net461\System.Interactive.Async.dll + ..\..\..\Aviso\AVISO\packages\System.IO.4.3.0\lib\net462\System.IO.dll True @@ -458,6 +478,9 @@ ..\packages\System.IO.Packaging.4.5.0\lib\net46\System.IO.Packaging.dll + + ..\..\..\Aviso\AVISO\packages\System.Linq.Async.4.0.0\lib\net461\System.Linq.Async.dll + ..\..\..\Aviso\AVISO\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll @@ -469,6 +492,9 @@ True True + + ..\..\..\Aviso\AVISO\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + @@ -493,6 +519,10 @@ True + + + ..\..\..\Aviso\AVISO\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + @@ -792,6 +822,7 @@ Component + frmTIR.vb diff --git a/SDL/Speditionsbuch/frmProvisionisverguetung.vb b/SDL/Speditionsbuch/frmProvisionisverguetung.vb index be5bd19f..0c4cb284 100644 --- a/SDL/Speditionsbuch/frmProvisionisverguetung.vb +++ b/SDL/Speditionsbuch/frmProvisionisverguetung.vb @@ -189,7 +189,7 @@ Public Class frmProvisionisverguetung Mail.HTMLBody = TextHTML End If - Mail.Subject = "Provisionsauswertung" + Mail.Subject = "PROVISIONSABRECHNUNG" Mail.To = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(ad.AdressenNr, "Rechnung an") Mail.CC = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(ad.AdressenNr, "Rechnung an") diff --git a/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/NCTS004/usrCntlATLAS_NCTS004.vb b/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/NCTS004/usrCntlATLAS_NCTS004.vb index 9fc3f710..70d42757 100644 --- a/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/NCTS004/usrCntlATLAS_NCTS004.vb +++ b/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/NCTS004/usrCntlATLAS_NCTS004.vb @@ -179,7 +179,7 @@ Public Class usrCntlATLAS_NCTS004 'End Select If SENDUNG IsNot Nothing Then FIRMA_DY = cDakosyFunftions.getFirma_DY(SENDUNG.FilialenNr.ToString, Me.FindForm, "NCTS") - MsgBox(SENDUNG.FilialenNr) + 'MsgBox(SENDUNG.FilialenNr) End If ' MsgBox(FIRMA_DY) diff --git a/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/Verwahrung/usrCntlATLAS_AnkunftsAnzeige.vb b/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/Verwahrung/usrCntlATLAS_AnkunftsAnzeige.vb index fa3fb729..d201f948 100644 --- a/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/Verwahrung/usrCntlATLAS_AnkunftsAnzeige.vb +++ b/SDL/ZOLLSYSTEM/DAKOSY/ATLAS/Verwahrung/usrCntlATLAS_AnkunftsAnzeige.vb @@ -109,12 +109,12 @@ Public Class usrCntlATLAS_AnkunftsAnzeige ' dim FilialenNr - Dim FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA - FIRMA_DY = DAKOSY_Worker.cDakosyFunftions.getFirma_DY(SENDUNG.FilialenNr, Me.FindForm, "AA") + 'Dim FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + 'FIRMA_DY = DAKOSY_Worker.cDakosyFunftions.getFirma_DY(SENDUNG.FilialenNr, Me.FindForm, "AA") - If txtDyMandant.Text = "VERG" And FIRMA_DY = "IMEX" Then 'IMEX verwendet VERAG-Gestellungskonto!!! - FIRMA_DY = "VERAG" - End If + 'If txtDyMandant.Text = "VERG" And FIRMA_DY = "IMEX" Then 'IMEX verwendet VERAG-Gestellungskonto!!! + ' FIRMA_DY = "VERAG" + 'End If Dim saveFile = "" @@ -127,7 +127,7 @@ Public Class usrCntlATLAS_AnkunftsAnzeige End If - If generateEingangsanzeigeNCTSDE_003(AVISO, SENDUNG, BezugsNrBez, lblBezugsnummer.Text, saveFile, cboDakosyAction._value, FIRMA_DY, cboStammreferenz._value) Then + If generateEingangsanzeigeNCTSDE_003(AVISO, SENDUNG, BezugsNrBez, lblBezugsnummer.Text, saveFile, cboDakosyAction._value, txtDyMandant.Text, txtDyNiederlassung.Text, cboStammreferenz._value) Then If saveFile <> "" Then '------------------------------------------------------- @@ -157,7 +157,7 @@ Public Class usrCntlATLAS_AnkunftsAnzeige - Shared Function generateEingangsanzeigeNCTSDE_003(AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SND As VERAG_PROG_ALLGEMEIN.cSendungen, ByVal Bezugsnummer As String, ByVal BezugsnummerALIAS As String, ByRef saveFile As String, DY_ACTION As String, FIRMA_DY As String, Optional BezugsnummerVorblendung As String = "") As Boolean + Shared Function generateEingangsanzeigeNCTSDE_003(AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SND As VERAG_PROG_ALLGEMEIN.cSendungen, ByVal Bezugsnummer As String, ByVal BezugsnummerALIAS As String, ByRef saveFile As String, DY_ACTION As String, IOPartner As String, IODivision3 As String, Optional BezugsnummerVorblendung As String = "") As Boolean Dim Interface_VERSION = "003" Dim ObjectAktion = DY_ACTION ' Dim BezugsnummerVorblendung = "AA_NCTS_DE_ZE_WO_MITTICH" @@ -167,12 +167,12 @@ Public Class usrCntlATLAS_AnkunftsAnzeige 'Transaktion: XML.Transaktion = New DAKOSY_Worker.EingangsanzeigeNCTSDE_003.TransaktionNCTSTyp - XML.Transaktion.IOPartner = SDL.DAKOSY_Interface_SEND.getIOPartner(FIRMA_DY) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") + XML.Transaktion.IOPartner = IOPartner 'SDL.DAKOSY_Interface_SEND.getIOPartner(FIRMA_DY) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG") XML.Transaktion.IODatumZeit = Now XML.Transaktion.IOReferenz = SND.FilialenNr & "-" & SND.AbfertigungsNr & "_" & Now.ToString("ddMMyyHHmmSS") - If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then XML.Transaktion.IODivision3 = SDL.DAKOSY_Interface_SEND.getDivision(FIRMA_DY) '"SUW" + If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then XML.Transaktion.IODivision3 = IODivision3 '"SUW" XML.Transaktion.Version = Interface_VERSION - ' XML.Transaktion.IODivision3 = "DUR" + ' XML.Transaktion.IODivision3 = IODivision3 XML.EinzelEingangsanzeige = New EingangsanzeigeNCTSDE_003.EinzelEingangsanzeigeTyp 'ObjektIdentifizierung: diff --git a/SDL/kassenbuch/frmBelegNeu.Designer.vb b/SDL/kassenbuch/frmBelegNeu.Designer.vb index 08c59844..18d4db94 100644 --- a/SDL/kassenbuch/frmBelegNeu.Designer.vb +++ b/SDL/kassenbuch/frmBelegNeu.Designer.vb @@ -71,6 +71,7 @@ Partial Class frmBelegNeu Me.btnAusgabebeleg = New System.Windows.Forms.Button() Me.lblErrPos = New System.Windows.Forms.Label() Me.pnlData = New System.Windows.Forms.Panel() + Me.Button4 = New System.Windows.Forms.Button() Me.cboBuchungsoforterzeugen = New System.Windows.Forms.CheckBox() Me.lblErr_Fahrer = New System.Windows.Forms.Label() Me.lblErr_Pass = New System.Windows.Forms.Label() @@ -145,7 +146,6 @@ Partial Class frmBelegNeu Me.DataGridViewTextBoxColumn9 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.FlowLayoutPanel2 = New System.Windows.Forms.FlowLayoutPanel() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) - Me.Button4 = New System.Windows.Forms.Button() CType(Me.dgvBelegPos, System.ComponentModel.ISupportInitialize).BeginInit() Me.pnl.SuspendLayout() Me.pnlData.SuspendLayout() @@ -647,7 +647,6 @@ Partial Class frmBelegNeu 'pnlData ' Me.pnlData.BackColor = System.Drawing.Color.FromArgb(CType(CType(244, Byte), Integer), CType(CType(244, Byte), Integer), CType(CType(244, Byte), Integer)) - Me.pnlData.Controls.Add(Me.Button4) Me.pnlData.Controls.Add(Me.cboBuchungsoforterzeugen) Me.pnlData.Controls.Add(Me.lblErr_Fahrer) Me.pnlData.Controls.Add(Me.lblErr_Pass) @@ -694,6 +693,21 @@ Partial Class frmBelegNeu Me.pnlData.Size = New System.Drawing.Size(624, 208) Me.pnlData.TabIndex = 5 ' + 'Button4 + ' + Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button4.ForeColor = System.Drawing.Color.Black + Me.Button4.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button4.Location = New System.Drawing.Point(120, 38) + Me.Button4.Name = "Button4" + Me.Button4.Padding = New System.Windows.Forms.Padding(0, 0, 5, 0) + Me.Button4.Size = New System.Drawing.Size(51, 21) + Me.Button4.TabIndex = 49 + Me.Button4.Text = "TEST" + Me.Button4.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.Button4.UseVisualStyleBackColor = True + Me.Button4.Visible = False + ' 'cboBuchungsoforterzeugen ' Me.cboBuchungsoforterzeugen.AutoSize = True @@ -1222,6 +1236,7 @@ Partial Class frmBelegNeu ' 'pnlOPt ' + Me.pnlOPt.Controls.Add(Me.Button4) Me.pnlOPt.Controls.Add(Me.LinkLabel1) Me.pnlOPt.Controls.Add(Me.cboPrinter) Me.pnlOPt.Controls.Add(Me.cbxBelegOffnen) @@ -1763,21 +1778,6 @@ Partial Class frmBelegNeu Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4) ' - 'Button4 - ' - Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button4.ForeColor = System.Drawing.Color.Black - Me.Button4.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button4.Location = New System.Drawing.Point(340, 6) - Me.Button4.Name = "Button4" - Me.Button4.Padding = New System.Windows.Forms.Padding(0, 0, 5, 0) - Me.Button4.Size = New System.Drawing.Size(60, 30) - Me.Button4.TabIndex = 49 - Me.Button4.Text = "TEST" - Me.Button4.TextAlign = System.Drawing.ContentAlignment.MiddleRight - Me.Button4.UseVisualStyleBackColor = True - Me.Button4.Visible = False - ' 'frmBelegNeu ' Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) diff --git a/SDL/kassenbuch/frmBelegNeu.vb b/SDL/kassenbuch/frmBelegNeu.vb index e63f5faa..9e12126e 100644 --- a/SDL/kassenbuch/frmBelegNeu.vb +++ b/SDL/kassenbuch/frmBelegNeu.vb @@ -1881,16 +1881,15 @@ Public Class frmBelegNeu Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click - 'KASSE.LOAD(6) 'AT-Kasse - KASSE.LOAD(12) 'DE-kasse + KASSE.LOAD(cboKassen._value) If KASSE.rksv_FT_RestServiceURL <> "" Then Dim client As New cFiskaltrustClient(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country) - Dim result = client.Echo() - + Else + MsgBox("keine Rest-Service URL hinterlegt!") End If diff --git a/SDL/packages.config b/SDL/packages.config index 5d05f257..641c82f5 100644 --- a/SDL/packages.config +++ b/SDL/packages.config @@ -1,5 +1,6 @@  + @@ -11,6 +12,10 @@ + + + + @@ -52,18 +57,23 @@ + + + + + diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cFremdwaehrungskurse.vb b/VERAG_PROG_ALLGEMEIN/Classes/cFremdwaehrungskurse.vb index 28799164..6c19aa3f 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cFremdwaehrungskurse.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cFremdwaehrungskurse.vb @@ -4,7 +4,7 @@ Imports System.Reflection Public Class cFremdwaehrungskurse - Property fw_id As String + Property fw_id As Integer Property fw_iso2 As String Property fw_iso3 As String Property fw_land As String @@ -12,6 +12,8 @@ Public Class cFremdwaehrungskurse Property fw_enddatum As Date Property fw_kurswert As Double + Public hasEntry = False + Dim SQL As New SQL @@ -19,10 +21,19 @@ Public Class cFremdwaehrungskurse End Sub + Sub New(fw_iso3 As String) + Me.fw_iso3 = fw_iso3 + LOAD_ByWaehrungscode(fw_iso3) + End Sub + + + + + Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_id", fw_id)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_id", fw_id,, True)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_iso2", fw_iso2)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_iso3", fw_iso3)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fw_land", fw_land)) @@ -50,6 +61,33 @@ Public Class cFremdwaehrungskurse Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) End Function + Public Sub LOAD_ByWaehrungscode(fw_iso3 As String) + Try + hasEntry = False + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT top(1) * FROM tblZOLL_Wechselkurse WHERE fw_iso3=@fw_iso3 ORDER BY fw_startdatum desc ", conn) + cmd.Parameters.AddWithValue("@fw_iso3", fw_iso3) + Dim dr = cmd.ExecuteReader() + If dr.Read Then + For Each li In getParameterList() + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable) + + If dr.Item(li.Text) Is DBNull.Value Then + propInfo.SetValue(Me, Nothing) + Else + propInfo.SetValue(Me, dr.Item(li.Text)) + End If + + Next + hasEntry = True + End If + dr.Close() + End Using + End Using + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) + End Try + End Sub Public Function getUpdateCmd() As String @@ -116,6 +154,13 @@ Public Class cFremdwaehrungskurse 'End Function + + Shared Function EXCHANGE_CURTOEUR(betrag As Double, waehrungscode As String, datum As Date) As Double + Dim sqlstr = " SELECT TOP 1 [fw_kurswert] FROM [tblZOLL_Wechselkurse] where fw_iso3='" & waehrungscode & "' and fw_startdatum<='" & datum.ToShortDateString & "' order by fw_startdatum desc" + Return betrag / (New SQL).getValueTxtBySql(sqlstr, "FMZOLL",,, 0) + End Function + + End Class diff --git a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb index 76177ef2..18b68ba3 100644 --- a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb +++ b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb @@ -1656,6 +1656,92 @@ Public Class cFormularManager Return "" End Function + Public Shared Function getFile_FromURLStream_NEW(URL As String, Optional filename As String = "", Optional targetPath As String = "", Optional showError As Boolean = True) As String + Try + Using webClient As New Net.WebClient() + + ' 🟡 Simulate browser (important for protected systems) + webClient.Headers.Add("User-Agent", "Mozilla/5.0") + webClient.Headers.Add("Accept", "*/*") + + ' Download data + Dim data() As Byte = webClient.DownloadData(URL) + + ' Read Content-Type header safely + Dim contentType As String = "" + If webClient.ResponseHeaders IsNot Nothing AndAlso webClient.ResponseHeaders("Content-Type") IsNot Nothing Then + contentType = webClient.ResponseHeaders("Content-Type").ToLower() + End If + + ' Try to get filename from headers if not provided + If String.IsNullOrEmpty(filename) Then + Dim contentDisposition = webClient.ResponseHeaders("Content-Disposition") + If contentDisposition IsNot Nothing AndAlso contentDisposition.Contains("filename=") Then + filename = contentDisposition.Split("filename=")(1).Replace("""", "").Trim() + filename = System.IO.Path.GetFileNameWithoutExtension(filename) + Else + filename = Guid.NewGuid().ToString() + End If + End If + + ' Determine extension + Dim extension As String = "" + + If contentType.Contains("pdf") Then + extension = ".pdf" + + ElseIf contentType.Contains("spreadsheetml") Then + extension = ".xlsx" + + ElseIf contentType.Contains("ms-excel") Then + extension = ".xls" + + ElseIf contentType.Contains("json") Then + extension = ".json" + + ElseIf contentType.Contains("html") Then + extension = ".html" ' ⚠️ likely login page instead of file + End If + + ' Fallback: detect PDF by magic number + If extension = "" AndAlso data.Length > 4 Then + If data(0) = &H25 AndAlso data(1) = &H50 AndAlso data(2) = &H44 AndAlso data(3) = &H46 Then + extension = ".pdf" + End If + End If + + ' Default fallback + If extension = "" Then extension = ".bin" + + ' Build path + Dim fullPath As String = System.IO.Path.Combine(System.IO.Path.GetTempPath(), filename & extension) + + ' Save file + If extension = ".pdf" Then + Using stream As New MemoryStream(data) + Dim doc As New Spire.Pdf.PdfDocument() + doc.LoadFromStream(stream) + doc.SaveToFile(fullPath) + End Using + + Else + System.IO.File.WriteAllBytes(fullPath, data) + End If + + targetPath = fullPath + Return targetPath + + End Using + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, + System.Reflection.MethodInfo.GetCurrentMethod.Name, + If(Not showError, "LOG", "")) + End Try + + Return "" + End Function + Public Shared Sub PrintViaGS(PDFFile As String, printerName As String) Try Dim assembly = System.Reflection.Assembly.GetExecutingAssembly()