615 lines
27 KiB
VB.net

Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Database
Imports System.IO
Imports System.ComponentModel
Imports GdPicture14
Imports DevExpress.DataAccess.Sql
Public Class Form1
Dim MyLogger As LogConfig
Dim Logger As Logger
Dim MySQLSDB As MSSQLServer
Dim MyFreigabebericht As String
Dim MyStempel As String
Dim MyOriginStamped As String
Dim MyEndResult As String
Dim DEBUG As Boolean = False
Dim GDPICTURE_LICENSE As String
Private _licenseManager As New GdPicture14.LicenseManager()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Application.StartupPath & "\log", Nothing, "Digital Data", "WISAGErgReport")
Logger = MyLogger.GetLogger()
MySQLSDB = New MSSQLServer(MyLogger, My.Settings.CONF_SQLSERVER,)
If MySQLSDB.DBInitialized = False Then
MsgBox("Could not initialize database. Check the ConfigString My.Settings.CONF_SQLSERVER!", MsgBoxStyle.Critical)
Me.Close()
End If
Dim oSql = "Select * from TBDD_3RD_PARTY_MODULES"
Dim oDT As DataTable = MySQLSDB.GetDatatable(oSql)
For Each oROW As DataRow In oDT.Rows
If oROW.Item("NAME") = "GDPICTURE" Then
Try
GDPICTURE_LICENSE = oROW.Item("LICENSE")
_licenseManager.RegisterKEY(GDPICTURE_LICENSE)
Catch ex As Exception
Logger.Error(ex)
End Try
End If
Next
Me.TimerMinute.Start()
txtDocID.Text = My.Settings.MyDocID
tsiGENKey.Text = "Generator-ID: " & My.Settings.GEN_ID
End Sub
Dim Run_Active As Boolean = False
Private Sub TimerMinute_Tick(sender As Object, e As EventArgs) Handles TimerMinute.Tick
Logger.Debug($"Tick---Hour: {My.Computer.Clock.LocalTime.Hour}")
If DEBUG = True Then Exit Sub
If Run_Active = True Then Exit Sub
If My.Computer.Clock.LocalTime.Hour > 6 And My.Computer.Clock.LocalTime.Hour < 23 Then
Try
Dim oDT As DataTable = MySQLSDB.GetDatatable(My.Settings.oSQLGetDocId)
If Not IsNothing(oDT) Then
Dim oDocID As Long
If oDT.Rows.Count > 0 Then
For Each oRow As DataRow In oDT.Rows
oDocID = oRow.Item(0).ToString
Dim oInsert = $"INSERT INTO TBCUST_PM_RPT_2BCREATED (DocID,GEN_ID) VALUES ({oDocID},'{My.Settings.GEN_ID}')"
MySQLSDB.ExecuteNonQuery(oInsert)
Next
Run_Active = True
For Each oRow As DataRow In oDT.Rows
oDocID = oRow.Item(0).ToString
Dim oSQL = $"select count(*) from VWCUST_RPTPM_INV_RPT_STAMP_CHECK WHERE docID = {oDocID.ToString}"
If MySQLSDB.GetScalarValue(oSQL) >= 1 Then
Create_EB_Report(oDocID.ToString, 0)
Else
Logger.Info($"ATTENTION - No FinalFreigabe for DocID: {oDocID.ToString}")
Dim oDELETE = $"DELETE FROM TBCUST_PM_RPT_2BCREATED WHERE DocID = {oDocID} AND GEN_ID = '{My.Settings.GEN_ID}'"
MySQLSDB.ExecuteNonQuery(oDELETE)
End If
Next
End If
ToolStripStatusLabel1.Text = $"Last Run: {Now.ToString}"
Run_Active = False
End If
Catch ex As Exception
Run_Active = False
End Try
Else
ToolStripStatusLabel1.Text = $"In Sleep Mode 19-06: {Now.ToString}"
End If
End Sub
Sub Create_EB_Report(pDocID As String, ReportOption As Integer)
MyFreigabebericht = ""
MyStempel = ""
MyOriginStamped = ""
Logger.Info($"#### Trying to Create_Report for DocID: {pDocID}... ####")
Dim errortext As String
Try
If DEBUG = True Then
DocumentViewer1.DocumentSource = Nothing
End If
Catch ex As Exception
If DEBUG = True Then
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in 1:")
End If
Logger.Error(ex)
Exit Sub
End Try
Try
Dim oReport As New XtraReport2()
Dim oDatasource As SqlDataSource = oReport.DataSource
Dim oSelectQuery As CustomSqlQuery = oDatasource.Queries(0)
Dim oParameter As QueryParameter = oSelectQuery.Parameters(0)
oParameter.Value = pDocID
Try
oReport.ReportPrintOptions.PrintOnEmptyDataSource = False
oReport.FilterString = "DocID = " + pDocID
'report.ObjectDataSource1.Parameters(0).Value = Convert.ToInt64(TextBox1.Text)
oReport.CreateDocument(False)
If DEBUG = True Then
DocumentViewer1.DocumentSource = oReport
End If
Catch ex As Exception
Dim oUpdate = $"DELETE FROM TBCUST_PM_RPT_2BCREATED WHERE DocID = {pDocID} AND GEN_ID = '{My.Settings.GEN_ID}'"
MySQLSDB.ExecuteNonQuery(oUpdate)
If DEBUG = True Then
MsgBox("Unexpected error in XtraReport2 Create", MsgBoxStyle.Critical, "Error in XtraReport2:")
End If
Logger.Warn($"Unexpected Error in XtraReport2 Create for DocID: {pDocID} - ERROR: {ex.Message}")
Exit Sub
End Try
Dim oMyErgebnisbericht As String = Path.Combine(My.Settings.CONCAT_TEMPFolder, pDocID & "_ERPT.pdf")
If File.Exists(oMyErgebnisbericht) Then
Try
File.Delete(oMyErgebnisbericht)
Catch ex As Exception
If DEBUG = True Then
MsgBox($"Could not delete existing Reportfile: {oMyErgebnisbericht}", MsgBoxStyle.Critical)
End If
Exit Sub
End Try
End If
oReport.ExportToPdf(oMyErgebnisbericht)
If File.Exists(oMyErgebnisbericht) Then
If ReportOption = 1 Then
Exit Sub
End If
MyFreigabebericht = oMyErgebnisbericht
Dim oOriginFile As String
Dim osql = $"select dbo.FNDD_GET_WINDREAM_FILE_PATH ({pDocID},1)"
oOriginFile = MySQLSDB.GetScalarValue(osql)
If File.Exists(oOriginFile) = False Then
Logger.Warn($"File {oOriginFile} is not existing. Check the pathconfiguration!")
Exit Sub
End If
If Not IsNothing(oOriginFile) Then
If File.Exists(My.Settings.Path2PDFTK) Then
If Create_MyStempel(DEBUG, pDocID) = True Then
'Jetzt Stempeln des OriginakBeleges mit dem Stamp-Report
Dim oStampedResult = CreateStampedPDF(oOriginFile, pDocID)
If oStampedResult <> "" Then
If Concat_Files(pDocID, oOriginFile) = True Then
If DEBUG Then
MsgBox($"The ResultReport has been created: {MyEndResult}", MsgBoxStyle.Information)
End If
If DEBUG = False Then
Dim oInsert = $"INSERT INTO TBCUST_PM_RPT_CREATED (DocID) VALUES ({Convert.ToInt64(pDocID)})"
MySQLSDB.ExecuteNonQuery(oInsert)
End If
Logger.Info($"#### Created Ergebnisbericht for [{pDocID}]! #####")
Logger.Info($"")
End If
Else
Logger.Info("!!CreateStampedPDF = False or ""!!")
End If
Else
Logger.Info("!!Create_MyStempel = False!!")
End If
End If
Else
Logger.Warn("OriginFile is nothing!!")
If DEBUG Then
MsgBox("OriginFile is nothing", MsgBoxStyle.Critical)
End If
End If
End If
Catch ex As Exception
Dim oUpdate = $"DELETE FROM TBCUST_PM_RPT_2BCREATED WHERE DocID = {pDocID} AND GEN_ID = '{My.Settings.GEN_ID}'"
MySQLSDB.ExecuteNonQuery(oUpdate)
errortext = "ex.message: " & ex.Message & vbNewLine & "ex.StackTrace: " & ex.StackTrace.ToString & vbNewLine & "ex.InnerException: " & ex.InnerException.Message
If DEBUG = True Then
MsgBox(errortext, MsgBoxStyle.Critical, "Error in 2:")
Clipboard.SetText(errortext)
End If
Logger.Warn($"Unexpected Error in Create_Report for DocID: {pDocID} - ERROR: {ex.Message}")
End Try
End Sub
Private Function Create_MyStempel(istest As Boolean, pDocID As String)
MyStempel = ""
Logger.Info($"Trying to create Stampreport for DocID: {pDocID}...")
Dim errortext As String
Try
If istest = True Then
DocumentViewer1.DocumentSource = Nothing
End If
Catch ex As Exception
If istest = True Then
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in 1:")
End If
Logger.Error(ex)
Return False
End Try
Try
Dim myReport As New RptStampIcon()
Dim oDatasource As SqlDataSource = myReport.DataSource
Dim oSelectQuery As CustomSqlQuery = oDatasource.Queries(0)
Dim oParameter As QueryParameter = oSelectQuery.Parameters(0)
oParameter.Value = pDocID
myReport.ReportPrintOptions.PrintOnEmptyDataSource = False
myReport.FilterString = "DocID = " + pDocID
'report.ObjectDataSource1.Parameters(0).Value = Convert.ToInt64(TextBox1.Text)
myReport.CreateDocument(False)
If istest = True Then
DocumentViewer1.DocumentSource = myReport
End If
Dim oTempStempel As String = Path.Combine(My.Settings.CONCAT_TEMPFolder, pDocID & "_Stamp.jpg")
If File.Exists(oTempStempel) Then
Try
File.Delete(oTempStempel)
Catch ex As Exception
If istest = True Then
MsgBox($"Could not delete existing Reportfile: {oTempStempel}", MsgBoxStyle.Critical)
End If
Return False
End Try
End If
'myReport.ExportToPdf(oTempStempel)
Dim oExportOptions As New DevExpress.XtraPrinting.ImageExportOptions
oExportOptions.Resolution = 400
oExportOptions.Format = Imaging.ImageFormat.Jpeg
oExportOptions.ExportMode = DevExpress.XtraPrinting.ImageExportMode.SingleFile
myReport.ExportToImage(oTempStempel, oExportOptions)
If File.Exists(oTempStempel) Then
MyStempel = oTempStempel
Logger.Info($"...Stampreport created for DocID: {pDocID}!")
If istest = True Then
MsgBox($"Stampreport [{oTempStempel}] created for DocID [{pDocID}]!", MsgBoxStyle.Information)
End If
Return True
Else
MyStempel = ""
Return False
End If
Catch ex As Exception
errortext = "ex.message: " & ex.Message & vbNewLine & "ex.StackTrace: " & ex.StackTrace.ToString & vbNewLine & "ex.InnerException: " & ex.InnerException.Message
Dim oUpdate = $"DELETE FROM TBCUST_PM_RPT_2BCREATED WHERE DocID = {pDocID} AND GEN_ID = '{My.Settings.GEN_ID}'"
MySQLSDB.ExecuteNonQuery(oUpdate)
If istest = True Then
MsgBox(errortext, MsgBoxStyle.Critical, "Error in Create_StampReport:")
Clipboard.SetText(errortext)
End If
Logger.Error(ex)
Return False
End Try
End Function
Private Function CreateStampedPDF(oOriginFile As String, pDocID As Integer)
Try
Logger.Info($"Trying to CreateStampedPDF for DocID: {pDocID}...")
Logger.Debug($"Now in CreateStampedPDF")
Dim myProcess As New Process
Dim ProcID
myProcess.StartInfo.FileName = My.Settings.Path2PDFTK
myProcess.StartInfo.CreateNoWindow = False
'Dim oOutputFile As String
'oOutputFile = Path.GetFileNameWithoutExtension(oOriginFile) & My.Settings.Concatted_File_Suffix
'oOutputFile = Path.Combine(My.Settings.CONCAT_TEMPFolder, oOutputFile + "_BG.pdf")
Dim oStampedOriginWithPicture As String
oStampedOriginWithPicture = Path.GetFileNameWithoutExtension(oOriginFile) & My.Settings.Concatted_File_Suffix
oStampedOriginWithPicture = Path.Combine(My.Settings.CONCAT_TEMPFolder, oStampedOriginWithPicture + "_StampedOriginal.pdf")
'Using oBackPDF As New GdPicturePDF
' If oBackPDF.LoadFromFile(oOriginFile, False) = GdPictureStatus.OK Then
' Using oOverlayPDF As New GdPicturePDF
' If oOverlayPDF.LoadFromFile(MyStempel, False) = GdPictureStatus.OK Then
' oBackPDF.DrawPage(oOverlayPDF, 1, 0, 0, oBackPDF.GetPageWidth, oBackPDF.GetPageHeight)
' oBackPDF.SaveToFile(oOutputFile1, True)
' End If
' End Using
' End If
'End Using
Dim oGdPicturePDF As New GdPicturePDF()
Dim oGdPictureImaging As New GdPictureImaging()
'Creating a new empty PDF document.
If oGdPicturePDF.LoadFromFile(oOriginFile, False) = GdPictureStatus.OK Then
Dim oYDistance = oGdPicturePDF.GetPageHeight
'Just to remind you that units are set to points and the origin is set to bottom left by default.
'Loading an image from a file.
Dim imageID As Integer = oGdPictureImaging.CreateGdPictureImageFromFile(MyStempel)
If oGdPictureImaging.GetStat() = GdPictureStatus.OK Then
'Adding an image as a resource into the PDF document - we decided not to draw the image in this moment.
Dim imageResName As String = oGdPicturePDF.AddImageFromGdPictureImage(imageID, False, False)
If System.IO.File.Exists(oStampedOriginWithPicture) Then
System.IO.File.Delete(oStampedOriginWithPicture)
End If
Dim oStempelHEight = oGdPictureImaging.GetHeight(imageID) / 5
oYDistance = (oYDistance - oStempelHEight) - 10
'Drawing the image resource onto the current page and saving the PDF document.
If (oGdPicturePDF.GetStat() <> GdPictureStatus.OK) OrElse
(oGdPicturePDF.DrawImage(imageResName, My.Settings.XDistance, oYDistance, oGdPictureImaging.GetWidth(imageID) / 5, oGdPictureImaging.GetHeight(imageID) / 5) <> GdPictureStatus.OK) OrElse
(oGdPicturePDF.SaveToFile(oStampedOriginWithPicture) <> GdPictureStatus.OK) Then
Logger.Warn("The example has NOT been followed successfully. Error: " + oGdPicturePDF.GetStat().ToString())
'MessageBox.Show("The example has NOT been followed successfully. Error: " + oGdPicturePDF.GetStat().ToString(), "Adding an image Example", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return ""
End If
'Releasing the image.
oGdPictureImaging.ReleaseGdPictureImage(imageID)
Else
Logger.Warn("The image can't be loaded. Error: " + oGdPictureImaging.GetStat().ToString())
Return ""
'MessageBox.Show("The image can't be loaded. Error: " + oGdPictureImaging.GetStat().ToString(), "Adding an image Example", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
oGdPicturePDF.CloseDocument()
Else
Logger.Warn("The new PDF document can't be created. Error: " + oGdPicturePDF.GetStat().ToString())
'MessageBox.Show("The new PDF document can't be created. Error: " + oGdPicturePDF.GetStat().ToString(), "Adding an image Example", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return ""
End If
oGdPictureImaging.Dispose()
oGdPicturePDF.Dispose()
'###### OLD VERSION WITH PDF TK
'Dim _argument As String = """" & oOriginFile & """" & " background " & """" & MyStempel & """" _
' & " output " & """" & oOutputFile & """"
'myProcess.StartInfo.Arguments = _argument
'Logger.Debug("Arguments: " & _argument)
'myProcess.Start()
'ProcID = myProcess.Id
'Dim p As Process
'p = Process.GetProcessById(ProcID)
Dim sw As Stopwatch = New Stopwatch()
'sw.Start()
'Do While p.HasExited = False
' If sw.Elapsed.TotalSeconds = 30 Then
' Logger.Info("Still waiting (30 sec) for ending of process-id: " & ProcID.ToString)
' ElseIf sw.Elapsed.TotalMinutes = 1 Then
' Logger.Info("Still waiting (60 sec) for ending of process-id: " & ProcID.ToString & " - Exit now")
' Exit Do
' End If
'Loop
Dim oSuccess As Boolean = True
'Logger.Debug("...process has exited: ")
'sw.Stop()
sw.Start()
Logger.Debug("Waiting for file: " & oStampedOriginWithPicture)
Do While File.Exists(oStampedOriginWithPicture) = False
If sw.Elapsed.TotalSeconds = 30 Then
Logger.Info("ATTENTION: Still waiting (30 sec) for file: " & oStampedOriginWithPicture)
ElseIf sw.Elapsed.TotalMinutes = 1 Then
Logger.Info("ATTENTION: Still waiting (60 sec) for file: " & oStampedOriginWithPicture)
oSuccess = False
Exit Do
End If
Loop
sw.Stop()
Try
File.Delete(MyStempel)
Logger.Debug($"Deleted StempelFile [{MyStempel}]!")
Catch ex As Exception
Logger.Warn($"Could not delete reportfile after creating concatted file: {ex.Message}")
End Try
If oSuccess = True Then
MyOriginStamped = oStampedOriginWithPicture
Return oStampedOriginWithPicture
Else
MyOriginStamped = ""
Return ""
End If
Catch ex As Exception
Logger.Error(ex) '("Unexpected error: " & ex.Message, "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
Return ""
End Try
End Function
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
My.Settings.Save()
If txtDocID.Text = "" Then Exit Sub
DEBUG = True
MyLogger.Debug = True
Create_EB_Report(txtDocID.Text, 0)
End Sub
Private Function Concat_Files(DocID As String, oOriginFile As String)
Dim oConcatSuccessfull As Boolean = True
Try
Dim oFile2Concat As String = Path.GetFileNameWithoutExtension(oOriginFile) & My.Settings.Concatted_File_Suffix
oFile2Concat = Path.Combine(My.Settings.Path_ConcattedFile, oFile2Concat + ".pdf")
If File.Exists(My.Settings.Path2PDFTK) Then
If File.Exists(oFile2Concat) Then
Try
File.Delete(oFile2Concat)
Catch ex As Exception
Logger.Warn($"Could not delete ConcattedFile {oFile2Concat}: {ex.Message}")
Return False
End Try
End If
Try
Dim myProcess As New Process
Dim ProcID
myProcess.StartInfo.FileName = My.Settings.Path2PDFTK
myProcess.StartInfo.CreateNoWindow = False
Dim _argument As String = """" & MyOriginStamped & """" & " " & """" & MyFreigabebericht & """"
myProcess.StartInfo.Arguments = _argument & " cat output " & oFile2Concat
Logger.Debug("Arguments: " & _argument & " cat output " & oFile2Concat)
myProcess.Start()
ProcID = myProcess.Id
Dim p As Process
p = Process.GetProcessById(ProcID)
Dim sw As Stopwatch = New Stopwatch()
sw.Start()
Do While p.HasExited = False
If sw.Elapsed.TotalSeconds = 30 Then
Logger.Info("Still waiting (30 sec) for ending of process-id: " & ProcID.ToString)
ElseIf sw.Elapsed.TotalMinutes = 1 Then
Logger.Info("Still waiting (60 sec) for ending of process-id: " & ProcID.ToString & " - Exit now")
Exit Do
End If
Loop
Logger.Debug("...process has exited: ")
sw.Stop()
Logger.Debug("Waiting for file: " & oFile2Concat)
sw.Start()
Do While File.Exists(oFile2Concat) = False
If sw.Elapsed.TotalSeconds = 30 Then
Logger.Info("ATTENTION: Still waiting (30 sec) for file: " & oFile2Concat)
ElseIf sw.Elapsed.TotalMinutes = 1 Then
Logger.Info("ATTENTION: Still waiting (60 sec) for file: " & oFile2Concat)
oConcatSuccessfull = False
Exit Do
End If
Loop
sw.Stop()
If oConcatSuccessfull = True Then
MyEndResult = oFile2Concat
End If
Try
File.Delete(MyOriginStamped)
Logger.Debug($"Deleted file [{MyOriginStamped}]!")
File.Delete(MyFreigabebericht)
Logger.Debug($"Deleted file [{MyFreigabebericht}]!")
Catch ex As Exception
Logger.Warn($"Could not delete reportfile after creating concatted file: {ex.Message}")
End Try
Return oConcatSuccessfull
Catch ex As Exception
Logger.Error(ex) '("Unexpected error: " & ex.Message, "clsProfil.Profil_Durchlauf(Concat Files to one pdf)")
Return False
End Try
Else
Logger.Warn("pdftk is not existing")
Return False
End If
Catch ex As Exception
End Try
End Function
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
If txtDocID.Text = "" Then Exit Sub
My.Settings.Save()
Create_MyStempel(True, txtDocID.Text)
End Sub
Private Sub Form1_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
My.Settings.Save()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim myProcess As New Process
Dim ProcID
myProcess.StartInfo.FileName = My.Settings.Path2PDFTK
myProcess.StartInfo.CreateNoWindow = True
Dim _argument As String = txtPDFTKRun.Text
myProcess.StartInfo.Arguments = _argument
Logger.Debug("Arguments: " & _argument)
myProcess.Start()
ProcID = myProcess.Id
Dim p As Process
p = Process.GetProcessById(ProcID)
Dim sw As Stopwatch = New Stopwatch()
sw.Start()
Do While p.HasExited = False
If sw.Elapsed.TotalSeconds = 30 Then
Logger.Info("Still waiting (30 sec) for ending of process-id: " & ProcID.ToString)
ElseIf sw.Elapsed.TotalMinutes = 1 Then
Logger.Info("Still waiting (60 sec) for ending of process-id: " & ProcID.ToString & " - Exit now")
Exit Do
End If
Loop
Logger.Debug("...process has exited: ")
sw.Stop()
End Sub
Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click
If ToolStripButton3.CheckState = CheckState.Checked Then
DEBUG = True
ToolStripButton3.BackColor = Color.Yellow
MyLogger.Debug = True
Me.Text = "Report-Generator (beta) in DebugMode - all Automatic stopped"
Else
DEBUG = False
MyLogger.Debug = False
ToolStripButton3.BackColor = Color.WhiteSmoke
Me.Text = "Report-Generator (beta) - AutoMode"
End If
If My.Settings.CONF_SQLSERVER.Contains("_TEST") Then
Me.Text &= " - TESTSystem"
End If
My.Settings.Save()
End Sub
Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click
If txtDocID.Text = "" Then Exit Sub
My.Settings.Save()
DEBUG = True
MyLogger.Debug = True
Create_EB_Report(txtDocID.Text, 1)
End Sub
Private Sub ToolStripButton5_Click(sender As Object, e As EventArgs)
Dim report As New RpStampTable()
report.ReportPrintOptions.PrintOnEmptyDataSource = False
report.FilterString = "DocID = " + txtDocID.Text
'report.DocID.Value = txtDocID.Text
'report.ObjectDataSource1.Parameters(0).Value = Convert.ToInt64(TextBox1.Text)
report.CreateDocument(False)
If DEBUG = True Then
DocumentViewer1.DocumentSource = report
End If
End Sub
Private Sub ToolStripButton6_Click(sender As Object, e As EventArgs) Handles ToolStripButton6.Click
Dim report As New RptStampIcon()
Dim oDatasource As SqlDataSource = report.DataSource
Dim oSelectQuery As CustomSqlQuery = oDatasource.Queries(0)
Dim oParameter As QueryParameter = oSelectQuery.Parameters(0)
oParameter.Value = txtDocID.Text
report.ReportPrintOptions.PrintOnEmptyDataSource = False
report.FilterString = "DocID = " + txtDocID.Text
'report.DocID.Value = txtDocID.Text
'report.ObjectDataSource1.Parameters(0).Value = Convert.ToInt64(TextBox1.Text)
report.CreateDocument(False)
If DEBUG = True Then
DocumentViewer1.DocumentSource = report
End If
End Sub
End Class