Merge branch 'newMaster2024' of https://git.it.verag.ag/edv/SDL into newMaster2024
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
Imports System.ComponentModel
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.Reflection
|
||||
Imports System.Text.RegularExpressions
|
||||
Imports System.Threading
|
||||
@@ -317,7 +318,7 @@ Public Class cProgramFunctions
|
||||
Case 1, 7 : Return openThereforeNavigatorZollvollmachten_DE(KundenNr)
|
||||
Case 2, 8 : Return openThereforeNavigatorFiskalVM_DE(KundenNr)
|
||||
Case 4, 9 : Return openThereforeNavigatorFiskalVM_AT(KundenNr)
|
||||
Case 12, 13 : Return openThereforeNavigatorVM_AT(KundenNr)
|
||||
'Case 12, 13 : Return openThereforeNavigatorVM_AT(KundenNr)
|
||||
End Select
|
||||
Return False
|
||||
End Function
|
||||
@@ -395,28 +396,74 @@ Public Class cProgramFunctions
|
||||
End Function
|
||||
|
||||
|
||||
Shared Function openThereforeNavigatorVM_AT(KundenNr As String)
|
||||
Try
|
||||
Dim srch = KundenNr & "%"
|
||||
Dim docid As String = ""
|
||||
docid = SQL_VERAG.getValueTxtBySql("SELECT TOP 1 isnull([DocNo],-1) FROM [Therefore].[dbo].[TheCat76] WHERE [String] LIKE '" & srch & "' ORDER BY [Eingabedatum] DESC", "SCANCANON")
|
||||
Public Shared Function ValidateSQLFieldLengths(parameters As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable), tableName As String, Info As String, Optional conn_art As String = "FMZOLL", Optional showError As Boolean = True) As Boolean
|
||||
|
||||
Try
|
||||
|
||||
Dim sql As String =
|
||||
"SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" & tableName & "' AND DATA_TYPE IN ('varchar','nvarchar','char','nchar')"
|
||||
|
||||
Dim dt As DataTable =
|
||||
(New SQL).loadDgvBySql(sql, conn_art)
|
||||
|
||||
If dt Is Nothing Then Return False
|
||||
|
||||
Dim fieldLengths As New Dictionary(Of String, Integer)(StringComparer.OrdinalIgnoreCase)
|
||||
|
||||
For Each r As DataRow In dt.Rows
|
||||
|
||||
fieldLengths(r!COLUMN_NAME.ToString) =
|
||||
CInt(r!CHARACTER_MAXIMUM_LENGTH)
|
||||
|
||||
Next
|
||||
|
||||
Dim errors As New List(Of String)
|
||||
|
||||
For Each p As SQLVariable In parameters
|
||||
|
||||
If p Is Nothing Then Continue For
|
||||
If p.Value() Is Nothing Then Continue For
|
||||
If p.Text() Is Nothing Then Continue For
|
||||
|
||||
Dim fieldName As String = p.Text().TrimStart("@"c)
|
||||
|
||||
If Not fieldLengths.ContainsKey(fieldName) Then Continue For
|
||||
|
||||
Dim maxLen As Integer = fieldLengths(fieldName)
|
||||
|
||||
' varchar(max) / nvarchar(max)
|
||||
If maxLen = -1 Then Continue For
|
||||
|
||||
Dim value As String = p.Value().ToString
|
||||
|
||||
If value.Length > maxLen Then
|
||||
|
||||
errors.Add(fieldName & " -> " & value.Length & "/" & maxLen)
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
If errors.Count > 0 Then
|
||||
Info = "Folgende SQL-Felder sind zu lang:" & vbCrLf & vbCrLf & String.Join(vbCrLf, errors)
|
||||
If showError Then
|
||||
MsgBox(Info, MsgBoxStyle.Exclamation)
|
||||
End If
|
||||
|
||||
Return False
|
||||
|
||||
End If
|
||||
|
||||
Return True
|
||||
|
||||
If IsNumeric(docid) AndAlso docid > 0 Then
|
||||
' Process.Start("theviewer.exe -" & docid)
|
||||
' Process.Start("C:\Program Files (x86)\Therefore\theviewer.exe -" & docid)
|
||||
Try
|
||||
Shell("C:\Program Files (x86)\Therefore\theviewer.exe -d" & docid)
|
||||
Catch ex As Exception
|
||||
Shell("C:\Program Files\Therefore\theviewer.exe -d" & docid)
|
||||
End Try
|
||||
Else
|
||||
MsgBox("Das Dokument konnte nicht gefunden werden.")
|
||||
End If
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler beim Öffnen!" & vbNewLine & ex.Message & ex.StackTrace)
|
||||
|
||||
MsgBox("ValidateSQLFieldLengths:" & vbCrLf & ex.Message)
|
||||
|
||||
Return False
|
||||
|
||||
End Try
|
||||
Return False
|
||||
|
||||
End Function
|
||||
|
||||
Shared Function openThereforeNavigatorFiskalVM_AT(KundenNr As String)
|
||||
|
||||
Reference in New Issue
Block a user