Compare commits

..

2 Commits

Author SHA1 Message Date
286cf31be2 cDatenserver, StartOpt, Mitarbeiter, etc. 2025-11-07 15:10:07 +01:00
f314969a27 UID-Prüfung Kompatiblitätsprüfungen 2025-11-07 11:50:48 +01:00
6 changed files with 138 additions and 101 deletions

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.4.8.7")>
<Assembly: AssemblyFileVersion("1.4.8.7")>
<Assembly: AssemblyVersion("1.4.8.8")>
<Assembly: AssemblyFileVersion("1.4.8.8")>

View File

@@ -114,6 +114,9 @@ Partial Class frmMain
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.AuswertungenToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.Timer_REFRESH = New System.Windows.Forms.Timer(Me.components)
Me.WikiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.WikiToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.MItarbeiterverzeichnisToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.pnlLeft.SuspendLayout()
Me.MenuStripSDL.SuspendLayout()
Me.Panel1.SuspendLayout()
@@ -319,14 +322,14 @@ Partial Class frmMain
'
Me.FakturierungToolStripMenuItem.Enabled = False
Me.FakturierungToolStripMenuItem.Name = "FakturierungToolStripMenuItem"
Me.FakturierungToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
Me.FakturierungToolStripMenuItem.Size = New System.Drawing.Size(163, 22)
Me.FakturierungToolStripMenuItem.Text = "Fakturierung"
Me.FakturierungToolStripMenuItem.Visible = False
'
'RechnungsdatenToolStripMenuItem
'
Me.RechnungsdatenToolStripMenuItem.Name = "RechnungsdatenToolStripMenuItem"
Me.RechnungsdatenToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
Me.RechnungsdatenToolStripMenuItem.Size = New System.Drawing.Size(163, 22)
Me.RechnungsdatenToolStripMenuItem.Text = "Rechnungsdaten"
Me.RechnungsdatenToolStripMenuItem.Visible = False
'
@@ -734,7 +737,7 @@ Partial Class frmMain
'
Me.MenuStrip1.BackColor = System.Drawing.Color.White
Me.MenuStrip1.ImageScalingSize = New System.Drawing.Size(24, 24)
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuProgramm, Me.mnuFormular, Me.mnuAdministrator, Me.StatistikToolStripMenuItem, Me.mnuFunktionen, Me.mnuFragezeichen})
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuProgramm, Me.mnuFormular, Me.mnuFragezeichen, Me.mnuAdministrator, Me.StatistikToolStripMenuItem, Me.mnuFunktionen})
Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
Me.MenuStrip1.Name = "MenuStrip1"
Me.MenuStrip1.Size = New System.Drawing.Size(984, 24)
@@ -848,7 +851,7 @@ Partial Class frmMain
'
'mnuFragezeichen
'
Me.mnuFragezeichen.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BenutzerhandbuchToolStripMenuItem, Me.mnuInfo})
Me.mnuFragezeichen.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BenutzerhandbuchToolStripMenuItem, Me.mnuInfo, Me.WikiToolStripMenuItem})
Me.mnuFragezeichen.ForeColor = System.Drawing.Color.Black
Me.mnuFragezeichen.ImageTransparentColor = System.Drawing.Color.Brown
Me.mnuFragezeichen.Name = "mnuFragezeichen"
@@ -858,13 +861,13 @@ Partial Class frmMain
'BenutzerhandbuchToolStripMenuItem
'
Me.BenutzerhandbuchToolStripMenuItem.Name = "BenutzerhandbuchToolStripMenuItem"
Me.BenutzerhandbuchToolStripMenuItem.Size = New System.Drawing.Size(174, 22)
Me.BenutzerhandbuchToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
Me.BenutzerhandbuchToolStripMenuItem.Text = "Benutzerhandbuch"
'
'mnuInfo
'
Me.mnuInfo.Name = "mnuInfo"
Me.mnuInfo.Size = New System.Drawing.Size(174, 22)
Me.mnuInfo.Size = New System.Drawing.Size(180, 22)
Me.mnuInfo.Text = "Info"
'
'lblMs
@@ -1049,6 +1052,25 @@ Partial Class frmMain
Me.Timer_REFRESH.Enabled = True
Me.Timer_REFRESH.Interval = 5000
'
'WikiToolStripMenuItem
'
Me.WikiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.WikiToolStripMenuItem1, Me.MItarbeiterverzeichnisToolStripMenuItem})
Me.WikiToolStripMenuItem.Name = "WikiToolStripMenuItem"
Me.WikiToolStripMenuItem.Size = New System.Drawing.Size(180, 22)
Me.WikiToolStripMenuItem.Text = "VERAG-WIKI"
'
'WikiToolStripMenuItem1
'
Me.WikiToolStripMenuItem1.Name = "WikiToolStripMenuItem1"
Me.WikiToolStripMenuItem1.Size = New System.Drawing.Size(190, 22)
Me.WikiToolStripMenuItem1.Text = "Wiki"
'
'MItarbeiterverzeichnisToolStripMenuItem
'
Me.MItarbeiterverzeichnisToolStripMenuItem.Name = "MItarbeiterverzeichnisToolStripMenuItem"
Me.MItarbeiterverzeichnisToolStripMenuItem.Size = New System.Drawing.Size(190, 22)
Me.MItarbeiterverzeichnisToolStripMenuItem.Text = "MItarbeiterverzeichnis"
'
'frmMain
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
@@ -1174,4 +1196,7 @@ Partial Class frmMain
Friend WithEvents mnuFormular As ToolStripMenuItem
Friend WithEvents ToolStripMenuItem3 As ToolStripMenuItem
Friend WithEvents MailvorlagenToolStripMenuItem As ToolStripMenuItem
Friend WithEvents WikiToolStripMenuItem As ToolStripMenuItem
Friend WithEvents WikiToolStripMenuItem1 As ToolStripMenuItem
Friend WithEvents MItarbeiterverzeichnisToolStripMenuItem As ToolStripMenuItem
End Class

View File

@@ -127,32 +127,31 @@
<data name="btnMitarbeiterKonto.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

View File

@@ -1169,7 +1169,15 @@ Public Class frmMain
End If
End Sub
Private Sub WikiToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles WikiToolStripMenuItem.Click, MItarbeiterverzeichnisToolStripMenuItem.Click
Select Case sender.Name
Case "WikiToolStripMenuItem" : Process.Start("https://wiki.verag.ag/")
Case "MitarbeiterverzeichnisToolStripMenuItem" : Process.Start("https://wiki.verag.ag/de/mitarbeiter/verzeichnis")
End Select
End Sub
End Class
Public Class MyRenderer

View File

@@ -152,7 +152,7 @@ Public Class cUIDPruefung
End Function
Public Shared Function doUIDPruefungALL(Optional datum As Object = Nothing, Optional SaveErgInAdressen As Boolean = True, Optional Sciherheitsabfrage As Boolean = True, Optional MaxEintraege As Integer = -1, Optional showErr As Boolean = True, Optional finanzOnline As Boolean = True, Optional veroegerungMs As Integer = 1500) As DataTable
Public Shared Function doUIDPruefungALL(Optional datum As Object = Nothing, Optional SaveErgInAdressen As Boolean = True, Optional Sciherheitsabfrage As Boolean = True, Optional MaxEintraege As Integer = -1, Optional showErr As Boolean = True, Optional finanzOnline As Boolean = True, Optional veroegerungMs As Integer = 3000) As DataTable
Dim dt As DataTable = Nothing
dt = get_zupruefendeKunden(MaxEintraege, datum)
@@ -193,6 +193,9 @@ Public Class cUIDPruefung
Case "EUROPE"
For Each r As DataRow In dt.Rows
If Not IsDBNull(r("istEUVAT")) AndAlso r("istEUVAT") = "Ja" Then ' Alle 27 Mitgliedstaaten der Europäischen Union
Dim UID_TMP = doUIDPruefung(r("KdNr"),, SaveErgInAdressen, showErr, ART)
If UID_TMP IsNot Nothing Then
If UID_TMP.uid_valid Then
@@ -213,6 +216,7 @@ Public Class cUIDPruefung
If veroegerungMs > 0 Then
Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen)
End If
End If
Next
@@ -227,6 +231,8 @@ Public Class cUIDPruefung
For Each r As DataRow In dt.Rows
If Not IsDBNull(r("istEUVAT")) AndAlso r("istEUVAT") = "Ja" Then ' Alle 27 Mitgliedstaaten der Europäischen Union
If IsDBNull(r("Ergebnis")) Then
counter += 1
@@ -243,9 +249,6 @@ Public Class cUIDPruefung
' Bei ungültig soll er einzeln durchgehen! Besprochen mit A.Stockenhuber
Else
r("Ergebnis") = "UNGÜLTIG"
' For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'")
' row("Ergebnis") = r("Ergebnis")
' Next
End If
Else
r("Ergebnis") = "ERROR"
@@ -255,16 +258,10 @@ Public Class cUIDPruefung
If r("Error-Code") = "1511" Then
errorCounter += 1 'Fehler Mitgliedsstaat nicht erreichbar!!!
ElseIf r("Error-Code") = "-99" AndAlso r("Error-Text") <> "" AndAlso r("Error-Text").ToString.Contains("Wegen Wartungsarbeiten") Then
Exit For
Exit For 'Wartungsarbeiten -> sofort abbrechen!
End If
' Bei ERROR soll er ebenfalls einzeln durchgehen! Besprochen mit A.Stockenhuber
'For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'")
' row("Ergebnis") = r("Ergebnis")
' row("Error-Code") = r("Error-Code")
' row("Error-Text") = r("Error-Text")
'Next
End If
@@ -275,7 +272,7 @@ Public Class cUIDPruefung
If counter Mod 100 = 0 OrElse errorCounter > 10 Then
If errorCounter > 10 Then errorCounter = 0
FO.Call_Web_Service_MethodUID_Logout_NEU2020()
Thread.Sleep(2000)
Thread.Sleep(5000)
FO.Call_Web_Service_MethodUID_Login_NEU2020()
r("Re-Login") = "1"
End If
@@ -285,6 +282,8 @@ Public Class cUIDPruefung
Thread.Sleep(veroegerungMs) 'Bei Verögeung soll zwischen jeder Abfrage eine Pause gemacht werden! (Wegen Sperre bei zu vielen Abfragen)
End If
End If
Next
FO.Call_Web_Service_MethodUID_Logout_NEU2020()
@@ -312,9 +311,9 @@ Public Class cUIDPruefung
End If
Select Case Firma
Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701)"
Case "IMEX" : where = " And Filialen.FilialenNr IN (5501)"
Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801)"
Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701) "
Case "IMEX" : where = " And Filialen.FilialenNr IN (5501) "
Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801) "
Case "UNISPED" : where = " AND Filialen.firma='UNISPED' "
Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)"
End Select
@@ -325,7 +324,13 @@ Public Class cUIDPruefung
Top = " TOP " & MaxEintraege
End If
dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " &
dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr ,CASE
WHEN UPPER(Adressen.UstIdKz) IN (
'AT','BE','BG','CY','CZ','DE','DK','EE','EL','ES','FI','FR','HR',
'HU','IE','IT','LT','LU','LV','MT','NL','PL','PT','RO','SE','SI','SK'
) THEN 'Ja'
ELSE 'Nein'
END AS istEUVAT " &
" From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr " &
" where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR UstIdGeprüft is null) and (isnull(Adressen.UstIdKz,'') <> '' and isnull(Adressen.UstIdNr,'') <> '') " &
" And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL")

View File

@@ -1398,7 +1398,7 @@ Public Class cFormularManager
If doc.Pages.Count = 0 Then Continue For
Dim size = doc.Pages(0).Size
If size.Width <= 0 OrElse size.Height <= 0 Then Continue For
If size.Width <= 10 OrElse size.Height <= 10 Then Continue For 'zu kleine Seiten überspringen
' --- Druckeinstellungen ---
doc.PrintSettings.PrinterName = printerName
doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4