Hallo noch schnell in diesem Jahr an alle eine Frage.
Für zwischen die Tage hatte ich mir ein Projekt aufgehoben an welchem ich schon ne Weile sitze, leider nicht weiter komme.
Ich möchte aus einer Liste heraus einen Beleg erstellen und dann diesen Beleg drucken, allerdings nicht anzeigen sondern nur als PDF exportieren.
Dazu habe ich diesen Code in VB.Net implementiert (in einer Funktion DruckBeleg)
*****
Dim session As Sagede.OfficeLine.Engine.Session
session = Nothing
Try
'session = Sagede.OfficeLine.Engine.ApplicationEngine.CreateSession(datenbankName, Sagede.OfficeLine.Shared.ApplicationToken.System, Nothing, New NamePasswordCredential(userName, password))
session = Sagede.OfficeLine.Engine.ApplicationEngine.GetSession(Mandant.ParentSession.Id)
Catch ex As Exception
TraceLog.Logger.Error("*** Fehler: Session - " & CStr(ex.Message))
bOk = False
End Try
Dim sReportCaption As String = "Reportname_Test"
Dim _endpoint As Sagede.Shared.ApplicationServer.IEndpoint
Dim _endpointComplete As String = ""
Try
_endpoint = Sagede.OfficeLine.Shared.ServerConfiguration.ServerConfigurationProxy.GetSDataHttpsEndpoint(False, 0, 0)
_endpointComplete = String.Join("/", _endpoint.Address, "ol", "ControlCenterData", oMandant.DatasetName)
Catch ex As Exception
TraceLog.Logger.Error("*** Fehler: EndPoint - " & CStr(ex.Message))
bOk = False
End Try
Dim ViewModel As Sagede.Shared.ReportViewerControl.ReportViewerViewModel
Try
Call getDefaultNamedParameter()
Call getReportNamedParameter(CInt(sBelIDGut), "D", sReportCaption, 4000, "Gutschrift", False, False, False, 0, False)
ViewModel = New Sagede.Shared.ReportViewerControl.ReportViewerViewModel()
ViewModel.WaitForPrintCommand = False
TraceLog.Logger.Error("Kein Fehler: " & "vor ViewModel.Export")
'ViewModel.Export("C:\\tmp\\Gutschrift_Test.pdf", True)
ViewModel.ExportPdf("C:\\tmp\\Gutschrift_Test.pdf", False)
ViewModel.PrintReport(_endpointComplete, userName, PW, "Abf", "rptVKRechnung.Sage.Wawi", _namedParameters, "", False, True, "")
Catch ex As Exception
TraceLog.Logger.Error("*** Fehler: ViewModel - " & CStr(ex.Message))
bOk = False
End Try
*****
Dabei wird die Session, _endpoint und auch das ViewModel korrekt erzeugt meine ich. Allerdings wird die PDF nicht wie erwartet am definierten Ort abgelegt.
Ich denke da mache ich noch grundsätzlich etwas falsch. Hätte gern ein Beispiel, habe aber keines gefunden.
Wenn meinen Code jemand im Bereich ViewModel.Export / ViewModel.PrintReport korrigieren könnte wäre das echt hilfreich.
Im Voraus Danke und allen einen guten Rutsch in das neue Jahr.
Gruß Reiner
Für zwischen die Tage hatte ich mir ein Projekt aufgehoben an welchem ich schon ne Weile sitze, leider nicht weiter komme.
Ich möchte aus einer Liste heraus einen Beleg erstellen und dann diesen Beleg drucken, allerdings nicht anzeigen sondern nur als PDF exportieren.
Dazu habe ich diesen Code in VB.Net implementiert (in einer Funktion DruckBeleg)
*****
Dim session As Sagede.OfficeLine.Engine.Session
session = Nothing
Try
'session = Sagede.OfficeLine.Engine.ApplicationEngine.CreateSession(datenbankName, Sagede.OfficeLine.Shared.ApplicationToken.System, Nothing, New NamePasswordCredential(userName, password))
session = Sagede.OfficeLine.Engine.ApplicationEngine.GetSession(Mandant.ParentSession.Id)
Catch ex As Exception
TraceLog.Logger.Error("*** Fehler: Session - " & CStr(ex.Message))
bOk = False
End Try
Dim sReportCaption As String = "Reportname_Test"
Dim _endpoint As Sagede.Shared.ApplicationServer.IEndpoint
Dim _endpointComplete As String = ""
Try
_endpoint = Sagede.OfficeLine.Shared.ServerConfiguration.ServerConfigurationProxy.GetSDataHttpsEndpoint(False, 0, 0)
_endpointComplete = String.Join("/", _endpoint.Address, "ol", "ControlCenterData", oMandant.DatasetName)
Catch ex As Exception
TraceLog.Logger.Error("*** Fehler: EndPoint - " & CStr(ex.Message))
bOk = False
End Try
Dim ViewModel As Sagede.Shared.ReportViewerControl.ReportViewerViewModel
Try
Call getDefaultNamedParameter()
Call getReportNamedParameter(CInt(sBelIDGut), "D", sReportCaption, 4000, "Gutschrift", False, False, False, 0, False)
ViewModel = New Sagede.Shared.ReportViewerControl.ReportViewerViewModel()
ViewModel.WaitForPrintCommand = False
TraceLog.Logger.Error("Kein Fehler: " & "vor ViewModel.Export")
'ViewModel.Export("C:\\tmp\\Gutschrift_Test.pdf", True)
ViewModel.ExportPdf("C:\\tmp\\Gutschrift_Test.pdf", False)
ViewModel.PrintReport(_endpointComplete, userName, PW, "Abf", "rptVKRechnung.Sage.Wawi", _namedParameters, "", False, True, "")
Catch ex As Exception
TraceLog.Logger.Error("*** Fehler: ViewModel - " & CStr(ex.Message))
bOk = False
End Try
*****
Dabei wird die Session, _endpoint und auch das ViewModel korrekt erzeugt meine ich. Allerdings wird die PDF nicht wie erwartet am definierten Ort abgelegt.
Ich denke da mache ich noch grundsätzlich etwas falsch. Hätte gern ein Beispiel, habe aber keines gefunden.
Wenn meinen Code jemand im Bereich ViewModel.Export / ViewModel.PrintReport korrigieren könnte wäre das echt hilfreich.
Im Voraus Danke und allen einen guten Rutsch in das neue Jahr.
Gruß Reiner