|
|
Imports System.IO.File
|
|
|
Imports System.IO
|
|
|
Imports System.Data.SqlClient
|
|
|
Imports System.Data.SqlTypes
|
|
|
Imports System.ComponentModel
|
|
|
Imports System.SystemException
|
|
|
Imports System.Threading
|
|
|
Imports System.Reflection
|
|
|
Imports System.Data
|
|
|
Imports microsoft.Office.Interop.Word
|
|
|
|
|
|
Module ModMain
|
|
|
|
|
|
#Region "Deklarationen"
|
|
|
Dim args As String() = Environment.GetCommandLineArgs()
|
|
|
Dim RowId As Integer
|
|
|
Dim EDK_Data As New DataSet
|
|
|
Dim EDK_Daten As New System.Data.DataTable
|
|
|
|
|
|
Dim Filename As String
|
|
|
Dim FileExtension As String = ""
|
|
|
Dim DokumentFilename As String
|
|
|
Dim Dokumentid As String
|
|
|
|
|
|
Dim tmpAction As Action
|
|
|
|
|
|
Dim DokType As New edokadb.clsDokumenttyp
|
|
|
Dim Dok As New edokadb.clsDokument
|
|
|
Dim OfficeVorlage As New edokadb.clsOffice_vorlage
|
|
|
Dim OfficeVorlageDatei As New edokadb.clsOffice_Vorlage_Datei
|
|
|
Dim Partner As New edokadb.clsPartner
|
|
|
Dim xMitarbeiter As New edokadb.clsMyMitarbeiter
|
|
|
Dim Mitarbeiter As New edokadb.clsMitarbeiter
|
|
|
Dim Mitarbeiterdata As New System.Data.DataTable
|
|
|
Dim xdata As New System.Data.DataTable
|
|
|
Dim Dokumentdaten As New System.Data.DataTable
|
|
|
Dim Profile As New System.Data.DataTable
|
|
|
Dim Teams As New System.Data.DataTable
|
|
|
|
|
|
Dim WithEvents objword As Microsoft.Office.Interop.Word.Application
|
|
|
Dim WithEvents docword As Microsoft.Office.Interop.Word.Document
|
|
|
|
|
|
Dim Profilnr As Integer
|
|
|
Dim Unterschriftlinks As Integer
|
|
|
Dim Unterschriftrechts As Integer
|
|
|
Dim Teamnr As Integer
|
|
|
|
|
|
Dim IsProtected As Boolean = False
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
Public Function Check_pendente_Dokumente() As Integer
|
|
|
'20080918 Version 12 SHU
|
|
|
'Im Fehlerfall mit -99 aus der Routine aussteigen
|
|
|
Try
|
|
|
EDK_Daten = Get_Pendente_EDK_Dokumente()
|
|
|
If EDK_Daten.Rows.Count < 1 Then
|
|
|
Return 0
|
|
|
End If
|
|
|
Dim rid As Integer = EDK_Daten.Rows(0).Item("RowId")
|
|
|
EDK_Daten.Dispose()
|
|
|
Return rid
|
|
|
Catch ex As Exception
|
|
|
Return -99
|
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Public Sub Generate_Dokument(ByVal row As Integer)
|
|
|
Try
|
|
|
|
|
|
RowId = row
|
|
|
|
|
|
Set_EDK_Status(RowId, 1)
|
|
|
|
|
|
Filename = Param.WorkDir + "\" + Trim(Str(RowId)) & "_EDK_" & Format(Now, "dd_MM_yyyy hh_mm_ss") & "_" & ".edk"
|
|
|
|
|
|
DivFnkt.InsertJournale("EDKB12: Start " + Filename, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
|
|
|
|
|
|
' Applikationsdaten lasen
|
|
|
Dim Applikation As New edokadb.clsApplikation()
|
|
|
Applikation.cpMainConnectionProvider = Globals.conn
|
|
|
Applikation.iApplikationsnr = New SqlInt32(CType(1, Int32))
|
|
|
Globals.Applikationsdaten = Applikation.SelectOne
|
|
|
|
|
|
'Initialisierung vor Dokument_Bearbeitung / 20110208 SHU
|
|
|
EDK_Daten.Dispose()
|
|
|
EDK_Daten = Nothing
|
|
|
EDK_Daten = New System.Data.DataTable
|
|
|
|
|
|
EDK_Data.Dispose()
|
|
|
EDK_Data = Nothing
|
|
|
EDK_Data = New DataSet
|
|
|
|
|
|
xdata.Dispose()
|
|
|
xdata = Nothing
|
|
|
xdata = New System.Data.DataTable
|
|
|
|
|
|
Dokumentdaten.Dispose()
|
|
|
Dokumentdaten = Nothing
|
|
|
Dokumentdaten = New System.Data.DataTable
|
|
|
|
|
|
Profile.Dispose()
|
|
|
Profile = Nothing
|
|
|
Profile = New System.Data.DataTable
|
|
|
|
|
|
Teams.Dispose()
|
|
|
Teams = Nothing
|
|
|
Teams = New System.Data.DataTable
|
|
|
|
|
|
Mitarbeiterdata.Dispose()
|
|
|
Mitarbeiterdata = Nothing
|
|
|
Mitarbeiterdata = New System.Data.DataTable
|
|
|
|
|
|
DokType.Dispose()
|
|
|
OfficeVorlage.Dispose()
|
|
|
OfficeVorlageDatei.Dispose()
|
|
|
Partner.Dispose()
|
|
|
xMitarbeiter.Dispose()
|
|
|
Mitarbeiter.Dispose()
|
|
|
Mitarbeiterdata.Dispose()
|
|
|
objAvaloqDokumentWerte.clearAvaloqDokumentWerte()
|
|
|
|
|
|
If Not Get_EDK_Data() Then
|
|
|
Set_EDK_Status(RowId, 2)
|
|
|
Exit Sub
|
|
|
End If
|
|
|
|
|
|
If Not Check_EDK_Data() Then
|
|
|
Set_EDK_Status(RowId, 2)
|
|
|
Exit Sub
|
|
|
End If
|
|
|
|
|
|
If Not Check_Umfeld() Then
|
|
|
Set_EDK_Status(RowId, 2)
|
|
|
Exit Sub
|
|
|
End If
|
|
|
|
|
|
If Not Dokument_Erstellen() Then
|
|
|
Set_EDK_Status(RowId, 2)
|
|
|
Exit Sub
|
|
|
End If
|
|
|
|
|
|
If Not Dokumentdaten_Zusammenstellen() Then
|
|
|
Set_EDK_Status(RowId, 2)
|
|
|
Exit Sub
|
|
|
End If
|
|
|
|
|
|
If Not Generate_Word() Then
|
|
|
Set_EDK_Status(RowId, 2)
|
|
|
Exit Sub
|
|
|
End If
|
|
|
Try
|
|
|
EDK_Data.Tables.Clear()
|
|
|
EDK_Daten.Rows.Clear()
|
|
|
|
|
|
xdata.Rows.Clear()
|
|
|
Dokumentdaten.Rows.Clear()
|
|
|
Profile.Rows.Clear()
|
|
|
Teams.Rows.Clear()
|
|
|
Mitarbeiterdata.Rows.Clear()
|
|
|
EDK_Data.Dispose()
|
|
|
EDK_Daten.Dispose()
|
|
|
|
|
|
DokType.Dispose()
|
|
|
DokType.Dispose()
|
|
|
OfficeVorlage.Dispose()
|
|
|
OfficeVorlageDatei.Dispose()
|
|
|
Partner.Dispose()
|
|
|
xMitarbeiter.Dispose()
|
|
|
Mitarbeiter.Dispose()
|
|
|
Mitarbeiterdata.Dispose()
|
|
|
xdata.Dispose()
|
|
|
Dokumentdaten.Dispose()
|
|
|
Profile.Dispose()
|
|
|
Teams.Dispose()
|
|
|
tmpAction.Destroy()
|
|
|
objAvaloqDokumentWerte.clearAvaloqDokumentWerte()
|
|
|
|
|
|
File.Delete(Filename)
|
|
|
File.Delete(Filename + FileExtension)
|
|
|
Catch
|
|
|
End Try
|
|
|
Set_EDK_Status(RowId, 3)
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende " + Filename, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12: Fehler:: " + ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
#Region "EDK - File"
|
|
|
|
|
|
Private Function Check_EDK_Data() As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_EDK_Data", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Try
|
|
|
'File Checken
|
|
|
Dim file As New IO.FileInfo(Filename)
|
|
|
tmpAction = New Action
|
|
|
If Not tmpAction.Load(file) Then
|
|
|
Return False
|
|
|
End If
|
|
|
objAvaloqDokumentWerte.init(file)
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Check_EDK_Data (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return True
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Check_EDK_Data::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Check_EDK_Data (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End Try
|
|
|
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Private Function Get_EDK_Data()
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Get_EDK_Data", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Try
|
|
|
Dim Connection As New SqlConnection()
|
|
|
Dim DA As New SqlDataAdapter("select * from edk_data where rowid = " & Str(RowId), Connection)
|
|
|
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA)
|
|
|
Connection.ConnectionString = Globals.Param.connectionstring
|
|
|
Connection.Open()
|
|
|
EDK_Data.Tables.Clear()
|
|
|
DA.Fill(EDK_Data, "EDK_Data")
|
|
|
|
|
|
Dim myRow As DataRow
|
|
|
myRow = EDK_Data.Tables(0).Rows(0)
|
|
|
Dim MyData() As Byte
|
|
|
MyData = myRow.Item(5)
|
|
|
Dim K As Long
|
|
|
K = UBound(MyData)
|
|
|
Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write)
|
|
|
fs.Write(MyData, 0, K)
|
|
|
fs.Close()
|
|
|
fs = Nothing
|
|
|
DA = Nothing
|
|
|
cb = Nothing
|
|
|
Connection = Nothing
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_EDK_Data (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return True
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Get_EDK_Data::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_EDK_Data (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Private Function Get_Pendente_EDK_Dokumente() As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Get_Pendente_EDK_Dokumente", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "sp_edkb12"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
Try
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@rowid", SqlDbType.Int, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@status", SqlDbType.Int, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
'20080918 Version 12 SHU
|
|
|
'Im Feherfall nichts auf DB schreiben. Passiert nachdem ein SQL-Verbindungsunterbruch stattgefunden hat.
|
|
|
Try
|
|
|
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Get_Pendente_EDK_Dokumente::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_Pendente_EDK_Dokumente (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Catch
|
|
|
End Try
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Private Function Set_EDK_Status(ByVal rowid As Integer, ByVal status As Integer) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Set_EDK_Status", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "sp_edkb12"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
Try
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 2))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@rowid", SqlDbType.Int, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, rowid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@status", SqlDbType.Int, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, status))
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Set_EDK_Status::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Set_EDK_Status (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
If status = 2 Then Send_Message(False, 2)
|
|
|
If status = 3 Then Send_Message(True, 3)
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Private Sub Send_Message(ByVal ok As Boolean, ByVal status As Integer)
|
|
|
Dim betreff As String
|
|
|
Dim meldung As String
|
|
|
|
|
|
If ok Then
|
|
|
betreff = Param.OKMeldungBetreff
|
|
|
meldung = Param.OKMeldung
|
|
|
Else
|
|
|
betreff = Param.NOKMeldungBetreff
|
|
|
meldung = Param.NOKMeldung
|
|
|
End If
|
|
|
betreff = betreff.Replace("#Partnernr#", Trim(Str(Partner.iNRPAR00.Value)))
|
|
|
meldung = meldung.Replace("#Dokumenttyp#", Trim(DokType.sBezeichnung.Value))
|
|
|
meldung = meldung.Replace("#Partnernr#", Trim(Str(Partner.iNRPAR00.Value)))
|
|
|
|
|
|
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "sp_edkb12_meldung"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
Try
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@status", SqlDbType.Int, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, status))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiter", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Mitarbeiter.iMitarbeiternr.Value))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@betreff", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, betreff))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@meldung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, meldung))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Dokumentid))
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
Return
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Send_Message::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Send_Message (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
#End Region
|
|
|
|
|
|
#Region "Check Umfeld - Berechtigung, BP, Doktyp usw."
|
|
|
|
|
|
Private Function Check_Umfeld() As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Try
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld::Mitarbeiter", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
xMitarbeiter.xtgnummer = tmpAction.GetParameterByName("creatorTg").Value
|
|
|
Mitarbeiter.cpMainConnectionProvider = Globals.conn
|
|
|
conn.OpenConnection()
|
|
|
xMitarbeiter.cpMainConnectionProvider = Globals.conn
|
|
|
Mitarbeiterdata = xMitarbeiter.SelectWithTGNummer()
|
|
|
conn.CloseConnection(True)
|
|
|
|
|
|
Mitarbeiter.cpMainConnectionProvider = Globals.conn
|
|
|
conn.OpenConnection()
|
|
|
Mitarbeiter.iMitarbeiternr = New SqlInt32(Mitarbeiterdata.Rows(0).Item("Mitarbeiternr"))
|
|
|
Mitarbeiter.SelectOne()
|
|
|
conn.CloseConnection(True)
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld::Dokumenttyp", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
DokType.cpMainConnectionProvider = Globals.conn
|
|
|
conn.OpenConnection()
|
|
|
DokType.iDokumenttypnr = New SqlInt32(tmpAction.GetParameterByName("DokumentTypNr").Value - 900000000)
|
|
|
DokType.SelectOne()
|
|
|
conn.CloseConnection(True)
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld::Partner", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Partner.cpMainConnectionProvider = Globals.conn
|
|
|
conn.OpenConnection()
|
|
|
Partner.iNRPAR00 = New SqlInt32(tmpAction.GetParameterByName("PartnerNr").Value)
|
|
|
Partner.SelectOne()
|
|
|
conn.CloseConnection(True)
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld::Office-Vorlage", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
OfficeVorlage.cpMainConnectionProvider = Globals.conn
|
|
|
conn.OpenConnection()
|
|
|
OfficeVorlage.iOffice_vorlagenr = New SqlInt32(DokType.iOffice_vorlagenr.Value)
|
|
|
OfficeVorlage.SelectOne()
|
|
|
conn.CloseConnection(True)
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld::Auslesen Office-Vorlage", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
'Office 2010
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld::Param.CheckOffice2010_Vorlage:" + Param.CheckOffice2010_Vorlage.ToString, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
If Param.CheckOffice2010_Vorlage = True Then
|
|
|
Dim applnr As Integer = Get_Applikationnr(OfficeVorlage.iOffice_vorlagenr.Value)
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld::Appl-Nr:" + applnr.ToString, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
Select Case applnr
|
|
|
Case 0
|
|
|
FileExtension = ".doc"
|
|
|
Case 1
|
|
|
FileExtension = ".doc"
|
|
|
Case 2
|
|
|
FileExtension = ".xls"
|
|
|
Case 3
|
|
|
FileExtension = ".pdf"
|
|
|
Case 4
|
|
|
FileExtension = ".docx"
|
|
|
Case 5
|
|
|
FileExtension = ".docm"
|
|
|
Case 6
|
|
|
FileExtension = ".dotx"
|
|
|
Case 7
|
|
|
FileExtension = ".dotm"
|
|
|
Case 8
|
|
|
FileExtension = ".xlsx"
|
|
|
Case 9
|
|
|
FileExtension = ".xlsm"
|
|
|
Case 10
|
|
|
FileExtension = ".xltx"
|
|
|
Case 11
|
|
|
FileExtension = ".xltm"
|
|
|
End Select
|
|
|
Else
|
|
|
|
|
|
Select Case OfficeVorlage.iAnwendungnr.Value
|
|
|
Case 0
|
|
|
FileExtension = ".doc"
|
|
|
Case 1
|
|
|
FileExtension = ".doc"
|
|
|
Case 2
|
|
|
FileExtension = ".xls"
|
|
|
Case 3
|
|
|
FileExtension = ".pdf"
|
|
|
Case 4
|
|
|
FileExtension = ".docx"
|
|
|
Case 5
|
|
|
FileExtension = ".docm"
|
|
|
Case 6
|
|
|
FileExtension = ".dotx"
|
|
|
Case 7
|
|
|
FileExtension = ".dotm"
|
|
|
Case 8
|
|
|
FileExtension = ".xlsx"
|
|
|
Case 9
|
|
|
FileExtension = ".xlsm"
|
|
|
Case 10
|
|
|
FileExtension = ".xltx"
|
|
|
Case 11
|
|
|
FileExtension = ".xltm"
|
|
|
End Select
|
|
|
|
|
|
End If
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld:: Office_Voralge: " + OfficeVorlage.iOffice_vorlagenr.Value.ToString, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld:: Dokumenttyp: " + FileExtension, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
If Office_Vorlage_Get_From_DB(OfficeVorlage.iOffice_vorlagenr.Value, Filename + FileExtension) = "" Then
|
|
|
Return False
|
|
|
End If
|
|
|
DokumentFilename = Filename + FileExtension
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld::Profil", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Profile = Get_Profil(Mitarbeiter.iMitarbeiternr.Value)
|
|
|
If Profile.Rows.Count < 1 Then
|
|
|
Profilnr = 0
|
|
|
Unterschriftlinks = 0
|
|
|
Unterschriftrechts = 0
|
|
|
Else
|
|
|
Profilnr = Profile.Rows(0).Item("Profilnr")
|
|
|
Unterschriftlinks = Profile.Rows(0).Item("Unterschriftlinks")
|
|
|
Unterschriftrechts = Profile.Rows(0).Item("Unterschriftrechts")
|
|
|
End If
|
|
|
Profile.Dispose()
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Check_Umfeld::Teams", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Teams = Get_Team(Profilnr)
|
|
|
If Teams.Rows.Count = 0 Then
|
|
|
teamnr = 0
|
|
|
Else
|
|
|
teamnr = Teams.Rows(0).Item("Teamnr")
|
|
|
End If
|
|
|
Teams.Dispose()
|
|
|
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Check_Umfeld (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return True
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Check_Umfeld::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Check_Umfeld (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return False
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Public Function Office_Vorlage_Get_From_DB(ByVal office_vorlagenr As Integer, ByVal Filename As String) As String
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Office_Vorlage_Get_From_DB", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Dim s As String = "Select * From office_vorlage_datei where office_vorlage_Dateinr=" + Trim(Str(office_vorlagenr))
|
|
|
If Param.CheckOffice2010_Vorlage = True Then
|
|
|
s = "Select * from Office2010_Vorlage_datei where office_vorlage_dateinr=" + Trim(Str(office_vorlagenr))
|
|
|
End If
|
|
|
Dim connection As New SqlConnection()
|
|
|
Dim da As New SqlDataAdapter(s, connection)
|
|
|
Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da)
|
|
|
Dim ds As New DataSet()
|
|
|
Try
|
|
|
connection.ConnectionString = Param.connectionstring
|
|
|
connection.Open()
|
|
|
da.Fill(ds, "docs")
|
|
|
Dim myRow As DataRow
|
|
|
myRow = ds.Tables(0).Rows(0)
|
|
|
Dim MyData() As Byte
|
|
|
MyData = myRow.Item(2)
|
|
|
Dim K As Long
|
|
|
K = UBound(MyData)
|
|
|
Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write)
|
|
|
fs.Write(MyData, 0, K)
|
|
|
fs.Close()
|
|
|
fs = Nothing
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende GOffice_Vorlage_Get_From_DB (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return Filename
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Office_Vorlage_Get_From_DB::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende GOffice_Vorlage_Get_From_DB (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return ""
|
|
|
End Try
|
|
|
CB = Nothing
|
|
|
ds = Nothing
|
|
|
da = Nothing
|
|
|
connection.Close()
|
|
|
connection = Nothing
|
|
|
End Function
|
|
|
|
|
|
Public Function Get_Applikationnr(ByVal Dateinr As Integer) As Integer
|
|
|
Try
|
|
|
Dim connection As New SqlConnection()
|
|
|
Dim da As New SqlDataAdapter("Select * From Office2010_Vorlage_datei where Office_Vorlage_Dateinr=" + Dateinr.ToString, connection)
|
|
|
Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da)
|
|
|
Dim ds As New DataSet()
|
|
|
|
|
|
Try
|
|
|
connection.ConnectionString = Param.connectionstring
|
|
|
connection.Open()
|
|
|
da.Fill(ds, "docs")
|
|
|
If ds.Tables(0).Rows.Count > 0 Then
|
|
|
Return ds.Tables(0).Rows(0).Item(3)
|
|
|
Else
|
|
|
Return 0
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
MsgBox(ex.Message)
|
|
|
End Try
|
|
|
CB = Nothing
|
|
|
ds = Nothing
|
|
|
da = Nothing
|
|
|
connection.Close()
|
|
|
connection = Nothing
|
|
|
CB = Nothing
|
|
|
ds = Nothing
|
|
|
da = Nothing
|
|
|
connection.Close()
|
|
|
connection = Nothing
|
|
|
Catch ex As Exception
|
|
|
Return 0
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Dokument erstellen"
|
|
|
|
|
|
Private Function Dokument_Erstellen()
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Dokument_Erstellen", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Try
|
|
|
Dok.cpMainConnectionProvider = Globals.conn
|
|
|
Dokumentid = Globals.DivFnkt.Generate_Key
|
|
|
Dok.sDokumentid = New SqlString(CType(Dokumentid, String))
|
|
|
|
|
|
'***************************************************************************************************************3
|
|
|
'Defaultwerte f<>r das Dokument
|
|
|
'***************************************************************************************************************3
|
|
|
Dok.bAktiv = New SqlBoolean(True)
|
|
|
Dok.bAmsdokument = New SqlBoolean(CType(False, Boolean))
|
|
|
Dok.bAuserstuebernahme = New SqlBoolean(CType(False, Boolean))
|
|
|
Dok.bAusgangsarchiviert = New SqlBoolean(CType(False, Boolean))
|
|
|
Dok.iStatus_edoka_batch_ausgang = Nothing
|
|
|
Dok.daTermin = New SqlDateTime(CType("01.01.1900", DateTime))
|
|
|
Dok.bBereit_zur_archivierung = New SqlBoolean(CType(True, Boolean))
|
|
|
Dok.bEingangsarchiviert = New SqlBoolean(CType(False, Boolean))
|
|
|
Dok.bGesperrt = New SqlBoolean(CType(False, Boolean))
|
|
|
Dok.bUnvollstaendig = New SqlBoolean(CType(False, Boolean))
|
|
|
Dok.iBck = New SqlInt32(CType(1, Int32))
|
|
|
Dok.iColdstatus = New SqlInt32(CType(0, Int32))
|
|
|
Dok.iUnterschriftlinks = New SqlInt32(CType(Unterschriftlinks, Int32))
|
|
|
Dok.iUnterschriftrechts = New SqlInt32(CType(Unterschriftrechts, Int32))
|
|
|
Dok.iVerantwortlich = New SqlInt32(CType(Mitarbeiter.iMitarbeiternr.Value, Int32))
|
|
|
Dok.bVertraulich = New SqlBoolean(CType(False, Boolean))
|
|
|
Dok.sZustelladresse = New SqlString(CType("", String))
|
|
|
Dok.sAnredezustelladresse = New SqlString(CType("", String))
|
|
|
Dok.iZustaendiger = New SqlInt32(CType(Mitarbeiter.iMitarbeiternr.Value, Int32))
|
|
|
Dok.iPostzustellung = New SqlInt32(CType(0, Int32))
|
|
|
Dok.bZustaendig_kube = New SqlBoolean(CType(0, Boolean))
|
|
|
Dok.iMa_ausgangsarchivierung = New SqlInt32(CType(0, Int32))
|
|
|
Dok.iMa_eingangsarchivierung = New SqlInt32(CType(0, Int32))
|
|
|
Dok.sBemerkung = New SqlString(CType("", String))
|
|
|
Dok.sColddokumentid = New SqlString(CType("", String))
|
|
|
Dok.iDokdurchkubeweitergegeben = New SqlInt32(CType(0, Int32))
|
|
|
Dok.sBedRDokumentid = New SqlString(CType("", String))
|
|
|
Dok.bBldossier = New SqlBoolean(CType(False, Boolean))
|
|
|
|
|
|
'***************************************************************************************************************3
|
|
|
'Werte aus Dokumenttyp
|
|
|
'***************************************************************************************************************3
|
|
|
Dok.iDokumenttypnr = New SqlInt32(CType(DokType.iDokumenttypnr.Value, Int32))
|
|
|
Dok.bZu_retournieren = New SqlBoolean(CType(DokType.bZu_retournieren.Value, Boolean))
|
|
|
Dok.iAufbewahrung_elektronisch = New SqlInt32(CType(DokType.iAufbewahrungsfrist_elektronisch.Value, Int32))
|
|
|
Dok.iAufbewahrung_phaysisch = New SqlInt32(CType(DokType.iAufbewahrungsfrist_physisch.Value, Int32))
|
|
|
Dok.iBearbeitung_nach_abschluss = New SqlInt32(CType(DokType.iTage_mutation.Value, Int32))
|
|
|
Dok.iBearbeitungszeit_in_minuten = New SqlInt32(CType(DokType.iDbearbeitungszeit.Value, Int32))
|
|
|
Dok.iMonierung_in_tagen = New SqlInt32(CType(DokType.iAnzahl_tage.Value, Int32))
|
|
|
Dok.sBezeichnung = New SqlString(CType(DokType.sBezeichnung.Value, String))
|
|
|
|
|
|
'***************************************************************************************************************3
|
|
|
'Werte aus der Schnittstelle bzw. Defaultwerte
|
|
|
'***************************************************************************************************************3
|
|
|
Dok.iNrpar00 = New SqlInt32(CType(Partner.iNRPAR00.Value, Int32))
|
|
|
Dok.daArchivierungsdatum = New SqlDateTime(CType(Now, DateTime))
|
|
|
|
|
|
'Ersteller und Mutierer
|
|
|
Dok.iErsteller = New SqlInt32(CType(Mitarbeiter.iMitarbeiternr.Value, Int32))
|
|
|
Dok.iMutierer = Dok.iErsteller
|
|
|
Dok.iMitarbeiternr = Dok.iErsteller
|
|
|
|
|
|
'Erstellungs- und Mutationsdatum
|
|
|
Dok.daMutiertam = New SqlDateTime(CType(Now, DateTime))
|
|
|
Dok.daErstelltam = New SqlDateTime(CType(Now, DateTime))
|
|
|
|
|
|
Dok.iMutierertieam = New SqlInt32(CType(Teamnr, Int32))
|
|
|
Dok.iErstellerteam = New SqlInt32(CType(Teamnr, Int32))
|
|
|
Dok.daErstellungsdatum = New SqlDateTime(CType(Dok.daArchivierungsdatum.Value, DateTime))
|
|
|
Dok.sDokumentname = New SqlString(CType(OfficeVorlage.sPrefix_dokumentname.Value + Dokumentid + FileExtension, String))
|
|
|
Dok.iAnzeigeStatus = New SqlInt32(CType(0, Int32))
|
|
|
conn.OpenConnection()
|
|
|
Dok.Insert()
|
|
|
conn.CloseConnection(True)
|
|
|
|
|
|
Dim t As System.Data.DataTable
|
|
|
Try
|
|
|
t = Cold_Werte(Dok.iDokumenttypnr.Value)
|
|
|
Dok.sColdfolder = New SqlString(CType(t.Rows(0).Item(0), String))
|
|
|
Dok.sColdschema = New SqlString(CType(t.Rows(0).Item(1), String))
|
|
|
Globals.conn.OpenConnection()
|
|
|
Dok.Update()
|
|
|
Globals.conn.CloseConnection(True)
|
|
|
Catch
|
|
|
End Try
|
|
|
|
|
|
'FANummerin im EDOKA-Dokumentaktualisieren
|
|
|
Update_FANummer(tmpAction.GetParameterByName("fanummer3").Value)
|
|
|
Dok.SelectOne()
|
|
|
|
|
|
'Cold_index erstellen
|
|
|
COLD_Index_Sichern(1, Dokumentid)
|
|
|
If Dok.bZu_retournieren.Value = True Then
|
|
|
COLD_Index_Sichern(2, Dokumentid)
|
|
|
End If
|
|
|
|
|
|
'VVNummer im COLDIndex aktualisieren, sofern als Indexwert <20>bergeben
|
|
|
|
|
|
Dok.iStatusnr = New SqlInt32(CType(Dokumentstatus_erstellen_und_Status_Setzen(Dokumentid, True, 0), Int32))
|
|
|
'Dokumentstatus erstelln und Statushistory_eintragen
|
|
|
'dok.iStatusnr = New SqlInt32(CType(Dokumentstatus_erstellen_und_Status_Setzen(datarow, True), Int32))
|
|
|
|
|
|
'Dokument auf der Datenbank speichern
|
|
|
'Abh<62>ngig vom entsprechenden Status, wird das Flag, bereit zur Ausgangsarchivierung wieder entfernt
|
|
|
|
|
|
Globals.conn.OpenConnection()
|
|
|
Dok.Update()
|
|
|
Globals.conn.CloseConnection(True)
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokument_Erstellen (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return True
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Dokument_Erstellen::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokument_Erstellen (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
|
|
|
Private Function Get_Team(ByVal profilnr As Integer) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Get_Team", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
scmCmdToExecute.CommandText = "dbo.sp_dokumentbearbeitung_team"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@profilnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, profilnr))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_Team (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Get_Team::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_Team (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
Globals.conn.CloseConnection(True)
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Private Function Get_Profil(ByVal Mitarbeiternr As Integer) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Get_ProfilGet_Team", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
scmCmdToExecute.CommandText = "dbo.sp_edkb12_profil"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Mitarbeiternr))
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_Profil (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Get_Profil::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_Profil (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
Globals.conn.CloseConnection(True)
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
|
|
|
Private Function Dokumentdaten_Zusammenstellen() As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Dokumentdaten_Zusammenstellen", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Try
|
|
|
xdata = DokumentwertListe_laden(Dokumentid)
|
|
|
Dokumentwerte_Sichern()
|
|
|
xdata = Nothing
|
|
|
xdata = Dokumentwerte(Dokumentid)
|
|
|
Dokumentdaten = Dokumentwerte(Dokumentid)
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentdaten_Zusammenstellen (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return True
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Dokumentdaten_Zusammenstellen::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentdaten_Zusammenstellen (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return False
|
|
|
End Try
|
|
|
End Function
|
|
|
#End Region
|
|
|
|
|
|
#Region "ColdIndex und Dokumentwerte"
|
|
|
|
|
|
Private Function Update_FANummer(ByVal fanummer3 As String) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Get_EDK_Data", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "sp_edoka_import_update_fanummer"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
Try
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Dokumentid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fanummer2", SqlDbType.VarChar, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
If fanummer3 <> "" Then
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fanummer1", SqlDbType.VarChar, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, "Ordernr: " & fanummer3))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fanummer3", SqlDbType.VarChar, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, "Avalog: " & fanummer3))
|
|
|
Else
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fanummer1", SqlDbType.VarChar, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fanummer3", SqlDbType.VarChar, 225, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
End If
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Get_EDK_Data::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_EDK_Data (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Private Function Cold_Werte(ByVal dokumenttypnr As Integer) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Cold_Werte", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "sp_archiv_getschema_doc"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
Try
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttypnr", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumenttypnr))
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Cold_Werte(True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Cold_Werte::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Cold_Werte (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Public Function COLD_Index_Sichern(ByVal indextyp As Integer, ByVal dokumentid As String) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start COLD_Index_Sichern", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Dokument_Cold_Index"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@indextyp", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, indextyp))
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende COLD_Index_Sichern (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: COLD_Index_Sichern::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende COLD_Index_Sichern (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Public Function Update_DokumentColdIndexwert(ByVal dokumentid As String, ByVal Indextyp As Integer, ByVal indexfeld As Integer, ByVal wert As String) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Update_DokumentColdIndexwert", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Archiv_Update_DokumentColdIndexwert"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Globals.conn.OpenConnection()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@indextyp", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Indextyp))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@indexfeld", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, indexfeld))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@wert", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, wert))
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
Try
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Update_DokumentColdIndexwert (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Update_DokumentColdIndexwert::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Update_DokumentColdIndexwert (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
Globals.conn.CloseConnection(True)
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Private Function DokumentwertListe_laden(ByVal dokumentid As String) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start DokumentwertListe_laden", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Dim i As Integer
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Dokumentbearbeitung_Dokumentwerte"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, DokType.iDokumenttypnr.Value))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@CreateNew", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
For i = 0 To dtToReturn.Rows.Count - 1
|
|
|
Dim objDokumentWert As AvaloqDokumentWert
|
|
|
If Not dtToReturn.Rows(i).Item(0) Is System.DBNull.Value Then
|
|
|
objDokumentWert = objAvaloqDokumentWerte.getAvaloqDokumentWertByName(dtToReturn.Rows(i).Item(0))
|
|
|
End If
|
|
|
If objDokumentWert Is Nothing = False Then
|
|
|
dtToReturn.Rows(i).Item(2) = objDokumentWert.value
|
|
|
End If
|
|
|
objDokumentWert = Nothing
|
|
|
Next
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende DokumentwertListe_laden (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: DokumentwertListe_laden::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende DokumentwertListe_laden (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Public Sub Dokumentwert_Sichern(ByVal wert As String, ByVal feldnr As Integer)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Dokumentwert_Sichern", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Dokument_Information_Wert"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Dokumentid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@vorlagenfeldnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, feldnr))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, wert))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentwert_Sichern (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Dokumentwert_Sichern::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentwert_Sichern (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Try
|
|
|
End Sub
|
|
|
|
|
|
Public Sub Dokumentwerte_Sichern()
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Dokumentwerte_Sichern", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Dim i As Integer
|
|
|
For i = 0 To xdata.Rows.Count - 1
|
|
|
If xdata.Rows(i).Item("cold_indexfeld") Is System.DBNull.Value Then xdata.Rows(i).Item("cold_indexfeld") = 0
|
|
|
If xdata.Rows(i).Item("cold_indexfeld") = 0 Then
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Dokument_Information_Wert"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Connection.Open()
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Dokumentid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@vorlagenfeldnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, xdata.Rows(i).Item("vorlagenfeldnr")))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 8000, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, xdata.Rows(i).Item("feldwert")))
|
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Dokumentwerte_Sichern::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentwerte_Sichern (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Connection.Close()
|
|
|
scmCmdToExecute.Dispose()
|
|
|
End Try
|
|
|
End If
|
|
|
Next
|
|
|
xdata.Dispose()
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentwerte_Sichern (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
End Sub
|
|
|
|
|
|
Private Function Dokumentwerte(ByVal dokumentid As String) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Dokumentwerte", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
scmCmdToExecute.CommandText = "dbo.SP_Dokumentwerte"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@ierrorcode", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
Try
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
Return dtToReturn
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentwerte (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Dokumentwerte::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentwerte (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Status"
|
|
|
|
|
|
Private Function Dokumentstatus_erstellen_und_Status_Setzen(ByVal dokumentid As String, ByVal erstellen As Boolean, Optional ByVal BLKunde As Integer = 0) As Integer
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Dokumentstatus_erstellen_und_Status_Setzen", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Try
|
|
|
|
|
|
Dim st As New System.Data.DataTable()
|
|
|
Dim i As Integer
|
|
|
Dim dt As DateTime = DateAdd(DateInterval.Second, -5, Now)
|
|
|
Dim MitArchivfunktion As Boolean = False
|
|
|
|
|
|
If erstellen = True Then
|
|
|
Create_Dokumentstatus(BLKunde)
|
|
|
End If
|
|
|
st = Get_Dokumentstatus()
|
|
|
For i = 0 To st.Rows.Count - 1
|
|
|
Select Case Integer.Parse(st.Rows(i).Item(2).ToString)
|
|
|
Case 3
|
|
|
MitArchivfunktion = True
|
|
|
Case 11
|
|
|
MitArchivfunktion = True
|
|
|
End Select
|
|
|
Next
|
|
|
|
|
|
If MitArchivfunktion Then
|
|
|
For i = 0 To st.Rows.Count - 1
|
|
|
insert_history_status(st.Rows(i).Item(0), dokumentid, Mitarbeiter.iMitarbeiternr.Value, dt)
|
|
|
dt = DateAdd(DateInterval.Second, 1, dt)
|
|
|
If st.Rows(i).Item(2) = 3 Or st.Rows(i).Item(2) = 11 Then
|
|
|
Return st.Rows(i).Item(0)
|
|
|
Exit Function
|
|
|
End If
|
|
|
Next
|
|
|
Else
|
|
|
'Dokumentstatusreihenfolge ohne Ausgangsarchivierung
|
|
|
End If
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentstatus_erstellen_und_Status_Setzen (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
|
|
|
|
End Try
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Dokumentstatus_erstellen_und_Status_Setzen::", clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokumentstatus_erstellen_und_Status_Setzen (False)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Private Function Create_Dokumentstatus(Optional ByVal blkunde As Integer = 0) As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Create_Dokumentstatus", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
scmCmdToExecute.CommandText = "dbo.sp_dokumentberabeigung_status_erstellen"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Dokumentid))
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@bck", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
If blkunde = 0 Then
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@blsequenz", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
|
Else
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@blsequenz", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
|
End If
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Create_Dokumentstatus (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Create_Dokumentstatus::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Create_Dokumentstatus (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
Globals.conn.CloseConnection(True)
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Private Function Get_Dokumentstatus() As System.Data.DataTable
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Get_Dokumentstatus", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
Dim dtToReturn As System.Data.DataTable = New System.Data.DataTable()
|
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
|
scmCmdToExecute.CommandText = "dbo.sp_edoka_import_get_dokumentstatus"
|
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
scmCmdToExecute.Connection = Globals.conn.scoDBConnection
|
|
|
Try
|
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Dokumentid))
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_Dokumentstatus (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return dtToReturn
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Get_Dokumentstatus::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Get_Dokumentstatus (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Finally
|
|
|
Globals.conn.CloseConnection(True)
|
|
|
scmCmdToExecute.Dispose()
|
|
|
sdaAdapter.Dispose()
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
Public Sub insert_history_status(ByVal statusnr As Integer, ByVal dokumentid As String, ByVal Verantwortlicher As Integer, ByVal datumzeit As DateTime)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start insert_history_status", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Try
|
|
|
Dim sh As New edokadb.clsStatushistory()
|
|
|
Dim dbkey As New edokadb.clsMyKey_Tabelle()
|
|
|
Dim key As Long
|
|
|
dbkey.cpMainConnectionProvider = Globals.conn
|
|
|
key = dbkey.get_dbkey("statushistory")
|
|
|
sh.cpMainConnectionProvider = Globals.conn
|
|
|
sh.iStatushistorynr = New SqlInt32(CType(key, Int32))
|
|
|
sh.iStatus = New SqlInt32(CType(statusnr, Int32))
|
|
|
sh.iMandantnr = New SqlInt32(CType(1, Int32))
|
|
|
sh.iMutierer = New SqlInt32(CType(Mitarbeiter.iMitarbeiternr.Value, Int32))
|
|
|
sh.bAktiv = New SqlBoolean(True)
|
|
|
sh.daErstellt_am = New SqlDateTime(CType(datumzeit, DateTime))
|
|
|
sh.daMutiert_am = New SqlDateTime(CType(datumzeit, DateTime))
|
|
|
sh.sDokumentid = New SqlString(CType(dokumentid, String))
|
|
|
sh.iVerantwortlich = New SqlInt32(CType(Verantwortlicher, Int32))
|
|
|
Try
|
|
|
Globals.conn.OpenConnection()
|
|
|
Catch
|
|
|
End Try
|
|
|
sh.Insert()
|
|
|
Try
|
|
|
Globals.conn.CloseConnection(True)
|
|
|
Catch
|
|
|
End Try
|
|
|
dbkey.Dispose()
|
|
|
sh.Dispose()
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende insert_history_status (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: insert_history_status::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende insert_history_status (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Word erstellen"
|
|
|
|
|
|
Private Function Generate_Word() As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Generate_Word", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Try
|
|
|
If Not StartWord() Then
|
|
|
Return True
|
|
|
Exit Function
|
|
|
End If
|
|
|
objword.Documents.Open(DokumentFilename)
|
|
|
docword = objword.ActiveDocument
|
|
|
objword.NormalTemplate.Saved = True
|
|
|
objword.Visible = True
|
|
|
If Not Word_Werte_Auslesen(xdata) Then
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Generate_Word: Word_Werte_auslesen", clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Generate_Word: Word_Werte_auslesen", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
End If
|
|
|
If Not Dokument_Vervollstaendigen(xdata) Then
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Generate_Word: Dokument_Vervollstaendigen", clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Generate_Word: Dokument_Vervollstaendigen", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
End If
|
|
|
|
|
|
docword = objword.ActiveDocument
|
|
|
docword.Save()
|
|
|
docword.Close()
|
|
|
docword = Nothing
|
|
|
objword.Quit(False)
|
|
|
objword = Nothing
|
|
|
|
|
|
If Save_Doc() = True Then
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Generate_Word (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return True
|
|
|
Else
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Generate_Word: Save_Doc", clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Generate_Word: Save_Doc", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Generate_Word::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Generate_Word (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Private Function StartWord() As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start StartWord", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Try
|
|
|
objword = CreateObject("Word.application")
|
|
|
objword.Application.Options.SaveInterval = 0
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende StartWord (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: StartWord::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende StartWord (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
Finally
|
|
|
objword.Visible = False
|
|
|
End Try
|
|
|
Try
|
|
|
'objword.Run("Autoexec")
|
|
|
Catch
|
|
|
End Try
|
|
|
Return True
|
|
|
End Function
|
|
|
|
|
|
Public Function Word_Werte_Auslesen(ByVal xdata As System.Data.DataTable) As Boolean
|
|
|
Try
|
|
|
Dim i As Integer
|
|
|
Dim pos, pos2 As Integer
|
|
|
For i = 0 To xdata.Rows.Count - 1
|
|
|
xdata.Rows(i).Item("used") = 0
|
|
|
If xdata.Rows(i).Item("beginntextmarke") <> "" And xdata.Rows(i).Item("endetextmarke") = "" Then
|
|
|
Try
|
|
|
docword.Bookmarks.Item(xdata.Rows(i).Item("beginntextmarke")).Select()
|
|
|
xdata.Rows(i).Item("oldvalue") = convert(objword.Selection.Text)
|
|
|
xdata.Rows(i).Item("used") = 1
|
|
|
Catch
|
|
|
End Try
|
|
|
If xdata.Rows(i).Item("beginntextmarke") = "TGEDKCompanyBBEB99" Then xdata.Rows(i).Item("used") = 1
|
|
|
End If
|
|
|
If xdata.Rows(i).Item("beginntextmarke") <> "" And xdata.Rows(i).Item("endetextmarke") <> "" Then
|
|
|
Try
|
|
|
docword.Bookmarks.Item(xdata.Rows(i).Item("beginntextmarke")).Select()
|
|
|
pos = objword.Selection.Start
|
|
|
docword.Bookmarks.Item(xdata.Rows(i).Item("endetextmarke")).Select()
|
|
|
pos2 = objword.Selection.Start
|
|
|
objword.Selection.SetRange(Start:=pos, End:=pos2)
|
|
|
xdata.Rows(i).Item("oldvalue") = convert(objword.Selection.Text)
|
|
|
xdata.Rows(i).Item("used") = 1
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
Try
|
|
|
If xdata.Rows(i).Item("feldname") <> "" Then
|
|
|
Try
|
|
|
xdata.Rows(i).Item("oldvalue") = convert(docword.FormFields.Item(xdata.Rows(i).Item("feldname")).Result)
|
|
|
xdata.Rows(i).Item("used") = 1
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
Catch
|
|
|
End Try
|
|
|
Next
|
|
|
Return True
|
|
|
Catch ex As Exception
|
|
|
Return False
|
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Public Function Dokument_Vervollstaendigen(ByVal xdata As System.Data.DataTable) As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Dokument_Vervollstaendigen", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Try
|
|
|
|
|
|
If docword.ProtectionType <> WdProtectionType.wdNoProtection Then
|
|
|
docword.Unprotect(Password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
IsProtected = True
|
|
|
End If
|
|
|
|
|
|
Fill_Dokument()
|
|
|
|
|
|
If DokType.bZu_retournieren.Value = True Or DokType.iDoktypbedingteretournierung.Value > 0 Then
|
|
|
Generate_Barcodes()
|
|
|
Else
|
|
|
Try
|
|
|
objword.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
If IsProtected Then
|
|
|
Try
|
|
|
docword.Protect(Type:=WdProtectionType.wdAllowOnlyFormFields, NoReset:=True, Password:=Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("passwort_wordvorlagen"))
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
FeldMakros()
|
|
|
|
|
|
If objword.ActiveWindow.View.SplitSpecial = WdSpecialPane.wdPaneNone Then
|
|
|
objword.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView
|
|
|
Else
|
|
|
objword.ActiveWindow.View.Type = WdViewType.wdPrintView
|
|
|
End If
|
|
|
|
|
|
IDV_makros_bearbeiten()
|
|
|
'Rel 3.5 / BUD / 13.01.2005 (IF / END IF)
|
|
|
|
|
|
'Dim dn As String = objword.ActiveDocument.FullName
|
|
|
'docword.Save()
|
|
|
'docword.Close()
|
|
|
'objword.Documents.Open(dn)
|
|
|
'objword.NormalTemplate.Saved = True
|
|
|
'docword = objword.ActiveDocument
|
|
|
'docword.Saved = False
|
|
|
|
|
|
'If objword.ActiveWindow.View.SplitSpecial = WdSpecialPane.wdPaneNone Then
|
|
|
' objword.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView
|
|
|
' Else
|
|
|
' objword.ActiveWindow.View.Type = WdViewType.wdPrintView
|
|
|
' End If
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokument_Vervollstaendigen (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return True
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Dokument_Vervollstaendigen::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Dokument_Vervollstaendigen (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Private Function Fill_Dokument() As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Fill_Dokument", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Try
|
|
|
If OfficeVorlage.bKopfzeile_generieren.Value = True Then
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Vor Insert Kopfzeile", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Insert_Kopfzeile()
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Nach Insert Kopfzeile", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
End If
|
|
|
|
|
|
Dokumentwerte_Uebertragen()
|
|
|
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Fill_Dokument (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return True
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Fill_Dokument::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Fill_Dokument (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Private Sub Insert_Kopfzeile()
|
|
|
On Error Resume Next
|
|
|
objword.Selection.HomeKey(Unit:=WdUnits.wdStory)
|
|
|
If objWord.ActiveWindow.View.SplitSpecial <> WdSpecialPane.wdPaneNone Then
|
|
|
objWord.ActiveWindow.Panes.Item(2).Close()
|
|
|
End If
|
|
|
If objword.ActiveWindow.ActivePane.View.Type = WdViewType.wdNormalView Or objword.ActiveWindow.ActivePane.View.Type = WdViewType.wdOutlineView Then
|
|
|
objword.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView
|
|
|
End If
|
|
|
objword.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageHeader
|
|
|
set_headerbookmark()
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
End Sub
|
|
|
|
|
|
Private Sub set_headerbookmark()
|
|
|
Try
|
|
|
docword.Bookmarks.Item("TGEDKCompanyBBEB99").Select()
|
|
|
Catch
|
|
|
objword.Selection.MoveDown(Unit:=WdUnits.wdLine, Count:=1)
|
|
|
With objword.ActiveDocument.Bookmarks
|
|
|
.Add(Range:=objword.Selection.Range, Name:="TGEDKCompanyBBEB99")
|
|
|
.DefaultSorting = WdBookmarkSortBy.wdSortByName
|
|
|
.ShowHidden = False
|
|
|
End With
|
|
|
End Try
|
|
|
End Sub
|
|
|
|
|
|
Private Function Dokumentwerte_Uebertragen() As Boolean
|
|
|
Dim i As Long
|
|
|
Dim pos As Long
|
|
|
Dim pos2 As Long
|
|
|
Dim Fieldlen As Long
|
|
|
Dim temp1 As String
|
|
|
Dim temp2 As String
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Dokumentwerte_Uebertragen", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
For i = 0 To Dokumentdaten.Rows.Count - 1
|
|
|
If Param.DebugMode Then
|
|
|
Try
|
|
|
temp1 = Dokumentdaten.Rows(i).Item("beginntextmarke")
|
|
|
|
|
|
Catch ex As Exception
|
|
|
temp1 = ""
|
|
|
End Try
|
|
|
Try
|
|
|
temp2 = Dokumentdaten.Rows(i).Item("feldname")
|
|
|
|
|
|
Catch ex As Exception
|
|
|
temp2 = ""
|
|
|
End Try
|
|
|
DivFnkt.InsertJournale("EDKB12: Dokumentwerte_Uebertragen:" & temp1 & ":" & temp2, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
'Beginn-Textmarke
|
|
|
If Dokumentdaten.Rows(i).Item("aktiv") = True Then
|
|
|
If Dokumentdaten.Rows(i).Item("beginntextmarke") Is System.DBNull.Value Then
|
|
|
Dokumentdaten.Rows(i).Item("beginntextmarke") = ""
|
|
|
End If
|
|
|
If Dokumentdaten.Rows(i).Item("endetextmarke") Is System.DBNull.Value Then
|
|
|
Dokumentdaten.Rows(i).Item("endetextmarke") = ""
|
|
|
End If
|
|
|
If Dokumentdaten.Rows(i).Item("feldname") Is System.DBNull.Value Then
|
|
|
Dokumentdaten.Rows(i).Item("feldname") = ""
|
|
|
End If
|
|
|
|
|
|
If Dokumentdaten.Rows(i).Item("beginntextmarke") = "TGEDKCursor" Or _
|
|
|
Dokumentdaten.Rows(i).Item("beginntextmarke") = "TGEDKCursorB" Or _
|
|
|
Dokumentdaten.Rows(i).Item("feldname") = "TGEDKCursorB" Or _
|
|
|
Dokumentdaten.Rows(i).Item("feldname") = "TGEDKCursor" Then
|
|
|
Else
|
|
|
|
|
|
|
|
|
If Dokumentdaten.Rows(i).Item("beginntextmarke") <> "" And _
|
|
|
Dokumentdaten.Rows(i).Item("endetextmarke") = "" Then
|
|
|
Try
|
|
|
docword.Bookmarks.Item(Dokumentdaten.Rows(i).Item("beginntextmarke")).Select()
|
|
|
pos = docword.Bookmarks.Item(Dokumentdaten.Rows(i).Item("beginntextmarke")).Start
|
|
|
If Dokumentdaten.Rows(i).Item("used") = 1 Then
|
|
|
objword.Selection.Text = Dokumentdaten.Rows(i).Item("xvalue")
|
|
|
End If
|
|
|
pos2 = objword.Selection.End
|
|
|
If Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 19) = "XTGEDKDirektTelefonB" Or _
|
|
|
Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 23) = "XTGEDKVornameNameBetreue" Or _
|
|
|
Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 19) = "XTGEDKDirektTelefonZ" Then
|
|
|
objword.Selection.MoveLeft(Unit:=WdUnits.wdCharacter, Count:=1)
|
|
|
'hutter
|
|
|
objword.Selection.TypeText(Text:=" ")
|
|
|
objword.Selection.SetRange(Start:=pos + 1, End:=pos2 + 1)
|
|
|
With docword.Bookmarks
|
|
|
.Add(Range:=objword.Selection.Range, Name:=Dokumentdaten.Rows(i).Item("beginntextmarke"))
|
|
|
.DefaultSorting = WdBookmarkSortBy.wdSortByName
|
|
|
.ShowHidden = False
|
|
|
End With
|
|
|
Else
|
|
|
If Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 22) = "XTGEDKDirektTelefonDokZ" Or _
|
|
|
Microsoft.VisualBasic.Left(Dokumentdaten.Rows(i).Item("beginntextmarke"), 20) = "XTGEDKVornameNameDokZ" Then
|
|
|
objword.Selection.Text = Dokumentdaten.Rows(i).Item("xvalue")
|
|
|
objword.Selection.MoveLeft(Unit:=WdUnits.wdCharacter, Count:=1)
|
|
|
objword.Selection.TypeText(Text:=" ")
|
|
|
objword.Selection.SetRange(Start:=pos + 1, End:=pos2 + 1)
|
|
|
With docword.Bookmarks
|
|
|
.Add(Range:=objword.Selection.Range, Name:=Dokumentdaten.Rows(i).Item("beginntextmarke"))
|
|
|
.DefaultSorting = WdBookmarkSortBy.wdSortByName
|
|
|
.ShowHidden = False
|
|
|
End With
|
|
|
Else
|
|
|
objword.Visible = True
|
|
|
objword.Selection.SetRange(Start:=pos, End:=pos2)
|
|
|
With docword.Bookmarks
|
|
|
.Add(Range:=objword.Selection.Range, Name:=Dokumentdaten.Rows(i).Item("beginntextmarke"))
|
|
|
.DefaultSorting = WdBookmarkSortBy.wdSortByName
|
|
|
.ShowHidden = False
|
|
|
End With
|
|
|
End If
|
|
|
End If
|
|
|
objword.Selection.MoveLeft(Unit:=WdUnits.wdCharacter, Count:=1)
|
|
|
objword.Selection.MoveLeft(Unit:=WdUnits.wdCharacter, Count:=2, Extend:=WdMovementType.wdExtend)
|
|
|
If objword.Selection.Text = " " Then
|
|
|
objword.Selection.MoveRight(Unit:=WdUnits.wdCharacter, Count:=1)
|
|
|
objword.Selection.MoveLeft(Unit:=WdUnits.wdCharacter, Count:=1, Extend:=WdMovementType.wdExtend)
|
|
|
objword.Selection.Delete(Unit:=WdUnits.wdCharacter, Count:=1)
|
|
|
End If
|
|
|
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
|
|
|
'Beginn- und Ende-Textmarke
|
|
|
If Dokumentdaten.Rows(i).Item("beginntextmarke") <> "" And _
|
|
|
Dokumentdaten.Rows(i).Item("endetextmarke") <> "" Then
|
|
|
Try
|
|
|
docword.Bookmarks.Item(Dokumentdaten.Rows(i).Item("beginntextmarke")).Select()
|
|
|
pos = docword.Bookmarks.Item(Dokumentdaten.Rows(i).Item("beginntextmarke")).Start
|
|
|
docword.Bookmarks.Item(Dokumentdaten.Rows(i).Item("endetextmarke")).Select()
|
|
|
pos2 = docword.Bookmarks.Item(Dokumentdaten.Rows(i).Item("endetextmarke")).Start
|
|
|
objword.Selection.SetRange(Start:=pos, End:=pos2)
|
|
|
If Dokumentdaten.Rows(i).Item("used") = 1 Then
|
|
|
objword.Selection.TypeText(Text:=Dokumentdaten.Rows(i).Item("xvalue"))
|
|
|
End If
|
|
|
With docword.Bookmarks
|
|
|
.Add(Range:=objword.Selection.Range, Name:=Dokumentdaten.Rows(i).Item("beginntextmarke"))
|
|
|
.DefaultSorting = WdBookmarkSortBy.wdSortByName
|
|
|
.ShowHidden = False
|
|
|
End With
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
'Felder
|
|
|
If Dokumentdaten.Rows(i).Item("feldname") <> "" Then
|
|
|
Try
|
|
|
If docword.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).TextInput.Width <> 0 Then
|
|
|
Fieldlen = docword.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).TextInput.Width
|
|
|
docword.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).TextInput.Width = Fieldlen + 5
|
|
|
End If
|
|
|
If Dokumentdaten.Rows(i).Item("used") = 1 Then
|
|
|
docword.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).Result = convert_wordfelder(Dokumentdaten.Rows(i).Item("xvalue"))
|
|
|
End If
|
|
|
Catch
|
|
|
End Try
|
|
|
End If
|
|
|
End If
|
|
|
End If
|
|
|
Next
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Ende Dokumentwerte_Uebertragen", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return True
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Private Sub FeldMakros()
|
|
|
Dim i As Integer
|
|
|
For i = 0 To Dokumentdaten.Rows.Count - 1
|
|
|
If Dokumentdaten.Rows(i).Item("feldname") <> "" Then
|
|
|
If Dokumentdaten.Rows(i).Item("einstiegsmakro") = True Then
|
|
|
objWord.Run(docWord.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).EntryMacro)
|
|
|
End If
|
|
|
If Dokumentdaten.Rows(i).Item("ausstiegsmakro") = True Then
|
|
|
objWord.Run(docWord.FormFields.Item(Dokumentdaten.Rows(i).Item("feldname")).ExitMacro)
|
|
|
End If
|
|
|
End If
|
|
|
Next
|
|
|
End Sub
|
|
|
|
|
|
Function convert(ByVal x As String) As String
|
|
|
Dim s As String
|
|
|
Dim s1 As String
|
|
|
Dim i As Integer
|
|
|
s = x
|
|
|
i = InStr(s, Chr(13))
|
|
|
While i > 0
|
|
|
s = Left(s, i - 1) & "#" & Right(s, Len(s) - (i))
|
|
|
If Mid(s, i + 1, 1) = Chr(10) Then
|
|
|
s = Left(s, i) & Right(s, Len(s) - (i + 1))
|
|
|
End If
|
|
|
i = InStr(s, Chr(13))
|
|
|
End While
|
|
|
i = InStr(s, "#")
|
|
|
While i > 0
|
|
|
s = Left(s, i - 1) & vbCrLf & Right(s, Len(s) - (i))
|
|
|
i = InStr(s, "#")
|
|
|
End While
|
|
|
convert = s
|
|
|
End Function
|
|
|
|
|
|
Function convert_wordfelder(ByVal x As String) As String
|
|
|
Dim s As String
|
|
|
Dim s1 As String
|
|
|
Dim i As Integer
|
|
|
s = x
|
|
|
i = InStr(s, Chr(13))
|
|
|
While i > 0
|
|
|
s = Left(s, i - 1) & "#" & Right(s, Len(s) - (i))
|
|
|
If Mid(s, i + 1, 1) = Chr(10) Then
|
|
|
s = Left(s, i) & Right(s, Len(s) - (i + 1))
|
|
|
End If
|
|
|
i = InStr(s, Chr(13))
|
|
|
End While
|
|
|
i = InStr(s, "#")
|
|
|
While i > 0
|
|
|
s = Left(s, i - 1) & Chr(11) & Right(s, Len(s) - (i))
|
|
|
i = InStr(s, "#")
|
|
|
End While
|
|
|
convert_wordfelder = s
|
|
|
End Function
|
|
|
|
|
|
Public Function Save_Doc() As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Save_Doc", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
If Save_To_DB(Dokumentid, DokumentFilename) = True Then
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Save_Doc (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return True
|
|
|
Else
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Save_Doc::", clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Save_Doc (False)::", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End If
|
|
|
End Function
|
|
|
|
|
|
Public Function Save_To_DB(ByVal sDokumentID As String, ByVal sDokumentName As String) As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start Save_To_DB", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Try
|
|
|
|
|
|
Dim Connection As New SqlConnection()
|
|
|
Dim DA As New SqlDataAdapter("select * from doks where dokumentid='" + Dokumentid + "'", Connection)
|
|
|
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA)
|
|
|
Dim ds As New DataSet()
|
|
|
Dim fs As New FileStream(DokumentFilename, FileMode.Open, FileAccess.Read)
|
|
|
Dim mydata(fs.Length) As Byte
|
|
|
Try
|
|
|
fs.Read(mydata, 0, fs.Length)
|
|
|
fs.Close()
|
|
|
Connection.ConnectionString = Param.connectionstring
|
|
|
Connection.Open()
|
|
|
DA.Fill(ds, "docs")
|
|
|
Dim myRow As DataRow
|
|
|
If ds.Tables(0).Rows.Count = 0 Then
|
|
|
' Neues Dokument speichern
|
|
|
myRow = ds.Tables(0).NewRow
|
|
|
myRow.Item(0) = Dokumentid
|
|
|
myRow.Item(1) = mydata
|
|
|
ds.Tables(0).Rows.Add(myRow)
|
|
|
DA.Update(ds, "docs")
|
|
|
Else
|
|
|
'Bestehendes Dokument sichenr
|
|
|
myRow = ds.Tables(0).Rows(0)
|
|
|
myRow.Item(1) = mydata
|
|
|
DA.Update(ds, "docs")
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
Return False
|
|
|
End Try
|
|
|
fs = Nothing
|
|
|
cb = Nothing
|
|
|
ds = Nothing
|
|
|
DA = Nothing
|
|
|
|
|
|
Connection.Close()
|
|
|
Connection = Nothing
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Save_To_DB (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Return True
|
|
|
Catch EX As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: Save_To_DB::" & EX.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende Save_To_DB (False)::" & EX.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Barcode"
|
|
|
Dim Textboxes(100) As String
|
|
|
Dim Textboxesi As Integer
|
|
|
|
|
|
Private Sub Generate_Barcodes()
|
|
|
delete_Textfelder()
|
|
|
Insert_TextFelder()
|
|
|
ins_Barcode()
|
|
|
End Sub
|
|
|
|
|
|
Private Sub delete_Textfelder()
|
|
|
Dim xname As String
|
|
|
Dim i As Integer
|
|
|
Dim i1 As Integer
|
|
|
Dim pages As Long
|
|
|
Dim Prop As Object
|
|
|
objword.Selection.HomeKey(Unit:=WdUnits.wdStory)
|
|
|
|
|
|
For Each Prop In objWord.ActiveDocument.BuiltInDocumentProperties
|
|
|
If UCase(Prop.Name) = "NUMBER OF PAGES" Then
|
|
|
pages = Prop.value
|
|
|
End If
|
|
|
Next
|
|
|
For i = 1 To pages
|
|
|
xname = Str(i)
|
|
|
If Left(xname, 1) = " " Then xname = Right(xname, Len(xname) - 1)
|
|
|
objword.Selection.GoTo(What:=WdGoToItem.wdGoToPage, Name:=xname)
|
|
|
HeaderFooterAnzeigen()
|
|
|
While objWord.Selection.HeaderFooter.Shapes.Count > 0
|
|
|
objWord.Selection.HeaderFooter.Shapes.Item(1).Delete()
|
|
|
End While
|
|
|
objword.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
Next i
|
|
|
Exit Sub
|
|
|
eh:
|
|
|
Resume Next
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Insert_TextFelder()
|
|
|
Dim xname As String
|
|
|
Dim i As Integer
|
|
|
Dim pages As Long
|
|
|
Dim prop As Object
|
|
|
For Each prop In objWord.ActiveDocument.BuiltInDocumentProperties
|
|
|
If UCase(prop.Name) = "NUMBER OF PAGES" Then
|
|
|
pages = prop.value
|
|
|
End If
|
|
|
Next
|
|
|
Textboxesi = 1
|
|
|
objword.Selection.HomeKey(Unit:=WdUnits.wdStory)
|
|
|
For i = 1 To pages
|
|
|
xname = Str(i)
|
|
|
If Left(xname, 1) = " " Then xname = Right(xname, Len(xname) - 1)
|
|
|
objword.Selection.GoTo(What:=WdGoToItem.wdGoToPage, Name:=xname)
|
|
|
insert_Textfield()
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
Next i
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
Private Sub ins_Barcode()
|
|
|
Dim xname As String
|
|
|
Dim i As Integer
|
|
|
Dim pages As Long
|
|
|
Dim prop As Object
|
|
|
For Each prop In objWord.ActiveDocument.BuiltInDocumentProperties
|
|
|
If UCase(prop.Name) = "NUMBER OF PAGES" Then
|
|
|
pages = prop.value
|
|
|
End If
|
|
|
Next
|
|
|
|
|
|
objword.Selection.HomeKey(Unit:=WdUnits.wdStory)
|
|
|
Textboxesi = 1
|
|
|
For i = 1 To pages
|
|
|
xname = Str(i)
|
|
|
If Left(xname, 1) = " " Then xname = Right(xname, Len(xname) - 1)
|
|
|
objword.Selection.GoTo(What:=WdGoToItem.wdGoToPage, Name:=xname)
|
|
|
HeaderFooterAnzeigen()
|
|
|
insert_Barcode(i)
|
|
|
Textboxesi = Textboxesi + 1
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekMainDocument
|
|
|
Next i
|
|
|
End Sub
|
|
|
|
|
|
Private Sub HeaderFooterAnzeigen()
|
|
|
If objword.ActiveWindow.View.SplitSpecial <> WdSpecialPane.wdPaneNone Then
|
|
|
objword.ActiveWindow.Panes.Item(2).Close()
|
|
|
End If
|
|
|
If objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdNormalView Or objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdOutlineView Then
|
|
|
objWord.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView
|
|
|
End If
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageHeader
|
|
|
If objWord.Selection.HeaderFooter.IsHeader = True Then
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageFooter
|
|
|
Else
|
|
|
objWord.ActiveWindow.ActivePane.View.SeekView = WdSeekView.wdSeekCurrentPageHeader
|
|
|
End If
|
|
|
End Sub
|
|
|
|
|
|
Private Sub insert_Textfield()
|
|
|
Dim Public_barcodeleft
|
|
|
Dim Public_barcodetop
|
|
|
Dim Public_barcodewidth#
|
|
|
Dim Public_barcodeheight
|
|
|
Try
|
|
|
Public_barcodeleft = OfficeVorlage.iBcpl.Value
|
|
|
Public_barcodetop = OfficeVorlage.iBcpt.Value
|
|
|
Public_barcodewidth = OfficeVorlage.iBcw.Value
|
|
|
Public_barcodeheight = OfficeVorlage.iBch.Value
|
|
|
|
|
|
HeaderFooterAnzeigen()
|
|
|
objWord.Selection.HeaderFooter.Shapes.AddTextbox(1, Public_barcodeleft, Public_barcodetop, _
|
|
|
Public_barcodewidth#, Public_barcodeheight).Select()
|
|
|
' objWord.Selection.ShapeRange.TextFrame.TextRange.Select
|
|
|
objword.Selection.ShapeRange.Line.Visible = Microsoft.Office.Core.MsoTriState.msoFalse
|
|
|
'objWord.Selection.ShapeRange.Line.Visible = Microsoft.Office.Core.MsoTriState.msoFalse 'RS:2006-08-22
|
|
|
objWord.Selection.ShapeRange.TextFrame.MarginLeft = 0.0#
|
|
|
objWord.Selection.ShapeRange.TextFrame.MarginRight = 0.0#
|
|
|
objWord.Selection.ShapeRange.TextFrame.MarginTop = 0.0#
|
|
|
objWord.Selection.ShapeRange.TextFrame.MarginBottom = 0.0#
|
|
|
objWord.Selection.Collapse()
|
|
|
Textboxes(Textboxesi) = objWord.Selection.HeaderFooter.Shapes.Item(Textboxesi).Name
|
|
|
Textboxesi = Textboxesi + 1
|
|
|
'System.Windows.Forms.Application.DoEvents()
|
|
|
Exit Sub
|
|
|
|
|
|
Catch ex As Exception
|
|
|
'MsgBox(ex.Message)
|
|
|
End Try
|
|
|
|
|
|
End Sub
|
|
|
Private Sub insert_Barcode(ByVal x As Integer)
|
|
|
|
|
|
Dim Form
|
|
|
Dim strsel As String
|
|
|
Dim strresult
|
|
|
Dim s As String
|
|
|
' Selection.ShapeRange.Select
|
|
|
If DokType.bZu_retournieren.Value = True Then
|
|
|
Try
|
|
|
Form = objword.Selection.HeaderFooter.Shapes.Item(Textboxes(Textboxesi))
|
|
|
Form.Select()
|
|
|
Form = objword.Selection.HeaderFooter.Shapes.Item(Textboxes(Textboxesi))
|
|
|
Form.Select()
|
|
|
If OfficeVorlage.bBchorizontal.Value = False Then
|
|
|
objword.ActiveDocument.Tables.Add(Range:=objword.Selection.Range, NumRows:=1, NumColumns:=1)
|
|
|
With objword.Selection.Tables.Item(1)
|
|
|
.Borders.Item(WdBorderType.wdBorderLeft).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderRight).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderTop).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderBottom).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderDiagonalDown).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Item(WdBorderType.wdBorderDiagonalUp).LineStyle = WdLineStyle.wdLineStyleNone
|
|
|
.Borders.Shadow = False
|
|
|
End With
|
|
|
objword.Selection.Orientation = WdTextOrientation.wdTextOrientationUpward
|
|
|
objword.Selection.Tables.Item(1).Rows.HeightRule = WdRowHeightRule.wdRowHeightAtLeast
|
|
|
objword.Selection.Tables.Item(1).Rows.Height = Form.height
|
|
|
End If
|
|
|
'gaga'
|
|
|
Dim id As String
|
|
|
id = Dokumentid
|
|
|
s = Bar25I(Microsoft.VisualBasic.Right(Right(id, Len(id) - 6), 16))
|
|
|
objword.Selection.TypeText(Text:=s)
|
|
|
objword.Selection.HomeKey(Unit:=WdUnits.wdLine, Extend:=WdMovementType.wdExtend)
|
|
|
objword.Selection.Font.Name = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("barcode_font")
|
|
|
objword.Selection.Font.Size = Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("bcfont_groesse")
|
|
|
objword.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight
|
|
|
objword.Selection.EndKey(Unit:=WdUnits.wdLine)
|
|
|
objword.Selection.Font.Name = "Arial"
|
|
|
objword.Selection.Font.Size = 8
|
|
|
|
|
|
Dim Zeichen As String
|
|
|
Select Case DokType.iPhysisches_archiv.Value
|
|
|
Case 0
|
|
|
Case 1
|
|
|
Zeichen = " U"
|
|
|
Case 2
|
|
|
Zeichen = " F"
|
|
|
End Select
|
|
|
objword.Selection.TypeText(Zeichen)
|
|
|
Form = Nothing
|
|
|
Catch ex As Exception
|
|
|
End Try
|
|
|
End If
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Barcode-Berechnung"
|
|
|
|
|
|
Private BarTextOut As String
|
|
|
Private BarTextIn As String
|
|
|
Private DoCheckSum As Integer
|
|
|
Private TempString As String
|
|
|
Private CharValue As Long
|
|
|
Private II As Integer
|
|
|
Private Sum As Long
|
|
|
Private barcodeout
|
|
|
Private CheckSum As Integer
|
|
|
|
|
|
' Copyright 2001 by Elfring Fonts Inc. All rights reserved. This code
|
|
|
' may not be modified or altered in any way.
|
|
|
|
|
|
'Functions in this file:
|
|
|
' Bar25I(Text) -> convert text to bar code 2/5 interleaved
|
|
|
' Bar25Ics(Text) -> convert text to bar code 2/5 interleaved with checksum
|
|
|
|
|
|
'---------------------------------------------------------------------------
|
|
|
' This function converts a string of digits into a format compatible with Elfring
|
|
|
' Fonts Inc bar codes. It adds the start character, scans and converts digit pairs
|
|
|
' into single ASCII characters, and adds a stop character. Note that non-digits are
|
|
|
' ignored, and if you enter an odd number of digits, a leading zero will be added.
|
|
|
'---------------------------------------------------------------------------
|
|
|
Public Function Bar25I(ByVal BarTextIn As String) As String
|
|
|
|
|
|
' Initialize input and output strings
|
|
|
BarTextOut = ""
|
|
|
BarTextIn = RTrim(LTrim(BarTextIn))
|
|
|
|
|
|
' Throw away non-numeric data
|
|
|
TempString = ""
|
|
|
For II = 1 To Len(BarTextIn)
|
|
|
If IsNumeric(Mid(BarTextIn, II, 1)) Then
|
|
|
TempString = TempString & Mid(BarTextIn, II, 1)
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
' If not an even number of digits, add a leading 0
|
|
|
If (Len(TempString) Mod 2) = 1 Then
|
|
|
TempString = "0" & TempString
|
|
|
End If
|
|
|
|
|
|
' Break digit pairs up and convert to characters- build output string
|
|
|
For II = 1 To Len(TempString) Step 2
|
|
|
'Break string into pairs of digits and get value
|
|
|
CharValue = Mid(TempString, II, 2)
|
|
|
'translate value to ASCII and save in BarTextOut
|
|
|
If CharValue < 90 Then
|
|
|
BarTextOut = BarTextOut & Chr(CharValue + 33)
|
|
|
Else
|
|
|
BarTextOut = BarTextOut & Chr(CharValue + 71)
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
'Build ouput string, trailing space for Windows rasterization bug
|
|
|
barcodeout = "{" & BarTextOut & "} "
|
|
|
|
|
|
'Return the string
|
|
|
Bar25I = barcodeout
|
|
|
|
|
|
End Function
|
|
|
|
|
|
'---------------------------------------------------------------------------
|
|
|
' This function converts a string of digits into a format compatible with Elfring
|
|
|
' Fonts Inc bar codes. It adds the start character, scans and converts digit pairs
|
|
|
' into single ASCII characters, and adds checksum and a stop character. Note that
|
|
|
' non-digits are ignored, and if you enter an even number of digits, a leading zero
|
|
|
' will be added.
|
|
|
'---------------------------------------------------------------------------
|
|
|
Public Function Bar25Ics(ByVal BarTextIn As String) As String
|
|
|
|
|
|
' Initialize input and output strings
|
|
|
BarTextOut = ""
|
|
|
BarTextIn = RTrim(LTrim(BarTextIn))
|
|
|
|
|
|
' Throw away non-numeric data
|
|
|
TempString = ""
|
|
|
For II = 1 To Len(BarTextIn)
|
|
|
If IsNumeric(Mid(BarTextIn, II, 1)) Then
|
|
|
TempString = TempString & Mid(BarTextIn, II, 1)
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
' If not an odd number of digits, add a leading 0
|
|
|
If (Len(TempString) Mod 2) = 0 Then
|
|
|
TempString = "0" & TempString
|
|
|
End If
|
|
|
|
|
|
' Figure out the checksum digit
|
|
|
Sum = 0
|
|
|
For II = 1 To Len(TempString)
|
|
|
CharValue = Mid(TempString, II, 1)
|
|
|
If (II Mod 2) = 1 Then
|
|
|
Sum = Sum + (3 * CharValue)
|
|
|
Else
|
|
|
Sum = Sum + CharValue
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
' Figure checksum, add it as last digit
|
|
|
CheckSum = 10 - (Sum Mod 10)
|
|
|
If CheckSum = 10 Then CheckSum = 0
|
|
|
TempString = TempString & Chr(48 + CheckSum)
|
|
|
|
|
|
' Break digit pairs up and convert to characters- build output string
|
|
|
For II = 1 To Len(TempString) Step 2
|
|
|
'Break string into pairs of digits and get value
|
|
|
CharValue = Mid(TempString, II, 2)
|
|
|
'translate value to ASCII and save in BarTextOut
|
|
|
If CharValue < 90 Then
|
|
|
BarTextOut = BarTextOut & Chr(CharValue + 33)
|
|
|
Else
|
|
|
BarTextOut = BarTextOut & Chr(CharValue + 71)
|
|
|
End If
|
|
|
Next II
|
|
|
|
|
|
'Build ouput string, trailing space for Windows rasterization bug
|
|
|
barcodeout = "{" & BarTextOut & "} "
|
|
|
|
|
|
'Return the string
|
|
|
Bar25Ics = barcodeout
|
|
|
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
|
#Region "IDV_Makros"
|
|
|
|
|
|
Public Function IDV_makros_bearbeiten() As Boolean
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start IDV_makros_bearbeiten", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
Try
|
|
|
Dim idvmakros As New edokadb.clsMyDokumentDaten()
|
|
|
Dim makros As System.Data.DataTable
|
|
|
Dim i As Long
|
|
|
|
|
|
idvmakros.cpMainConnectionProvider = conn
|
|
|
makros = idvmakros.Select_IDVMakros(DokType.iDokumenttypnr.Value)
|
|
|
|
|
|
For i = 0 To makros.Rows.Count - 1
|
|
|
Try
|
|
|
If makros.Rows(i).Item("ist_in_dll") = True Then
|
|
|
'SetForegroundWindow(...)
|
|
|
Try
|
|
|
objword.Activate()
|
|
|
Catch
|
|
|
Thread.Sleep(100)
|
|
|
objword.Activate()
|
|
|
End Try
|
|
|
'System.Windows.Forms.Application.DoEvents()
|
|
|
' idvdll = CreateObject("IDVMakros.Application")
|
|
|
' Call idvdll.CallSub(objword, makros.Rows(i).Item("makro"))
|
|
|
'System.Windows.Forms.Application.DoEvents()
|
|
|
objword.Visible = True
|
|
|
Try
|
|
|
' objWord.Activate()
|
|
|
Catch
|
|
|
' Thread.Sleep(100)
|
|
|
' objWord.Activate()
|
|
|
End Try
|
|
|
Else
|
|
|
'System.Windows.Forms.Application.DoEvents()
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Start IDV_makros_bearbeiten:Makro: " & makros.Rows(i).Item("makro"), clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
|
|
|
objword.Run(makros.Rows(i).Item("makro"))
|
|
|
'System.Windows.Forms.Application.DoEvents()
|
|
|
End If
|
|
|
Catch ex As Exception
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: IDV_makros_bearbeiten:: Fehler beim Makro-Aufruf::" & makros.Rows(i).Item("makro") & "::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
End Try
|
|
|
Next i
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende IDV_makros_bearbeiten (True)", clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return True
|
|
|
Catch ex As Exception
|
|
|
DivFnkt.InsertJournale("EDKB12::Fehler:: IDV_makros_bearbeiten::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Fehler)
|
|
|
If Param.DebugMode Then
|
|
|
DivFnkt.InsertJournale("EDKB12: Ende IDV_makros_bearbeiten (False)::" & ex.Message, clsDivFnkt.Enum_InfoTyp.Information)
|
|
|
End If
|
|
|
Return False
|
|
|
End Try
|
|
|
End Function
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
|
|
|
|
End Module
|