Bugfix Emailversand, kurli. Schriftart aus Email/Anhang entfernen, Prüfung für dopp. Positionen

This commit is contained in:
2024-04-10 15:11:49 +02:00
parent de12fd9466
commit 317fff10fc
5 changed files with 58 additions and 6 deletions

View File

@@ -1,5 +1,7 @@
Imports System.Data.SqlClient
Imports System.Reflection
Imports System.Windows.Forms
Imports DocumentFormat.OpenXml.Spreadsheet
Public Class cRechnungsausgangLIST
@@ -467,7 +469,7 @@ Public Class cRechnungsausgang
Next
End Sub
Public Function CHECK_Validation(ByRef errMsg As String) As Boolean
Public Function CHECK_Validation(ByRef errMsg As String, dgv As MyDatagridview) As Boolean
If Firma_ID <= 0 Then errMsg = "ERROR: Firma auswählen!" : Return False
If Rechnung_an = 0 OrElse CStr(Rechnung_an) = "" Then errMsg = "ERROR: Rechnungsempfänger auswählen!" : Return False
If SpeditionsbuchUnterNr Is Nothing Then errMsg = "ERROR: Speditionsbuch-UnterNr auswählen!" : Return False
@@ -486,13 +488,41 @@ Public Class cRechnungsausgang
If RechnungsLandKz = FIRMA.Firma_LandKz Then
If Steuersatz_Proz = 0 Then
If vbYes <> MsgBox("Es wurde kein Steuerschlüssel angegeben." & vbNewLine & vbNewLine & "Sind siw wicher, dass Sie ohne Steuerschlüssel fortfahren möchten.", vbYesNoCancel) Then
If vbYes <> MsgBox("Es wurde kein Steuerschlüssel angegeben." & vbNewLine & vbNewLine & "Sind Sie sicher, dass Sie ohne Steuerschlüssel fortfahren möchten.", vbYesNoCancel) Then
errMsg = "ERROR: Steuerschlüssel angegeben!"
Return False
End If
End If
End If
If dgv Is Nothing Then
errMsg = "ERROR: Keine Positionen angegeben!" : Return False
Else
If dgv.Rows.Count > 1 Then
'Prüfung für doppelte Positionen mit PK: Bezeichnung und LeistungNr!
Dim dt As New DataTable
dt.Columns.Add("name", GetType(String))
For Each row As DataGridViewRow In dgv.Rows
Dim R As DataRow = dt.NewRow
R("name") = row.Cells(0).Value
dt.Rows.Add(R)
Next
Dim dv As New DataView(dt)
Dim distinct As DataTable = dv.ToTable(True, New String() {"name"})
If distinct.Rows.Count <> dt.Rows.Count Then
errMsg = "ERROR: Doppelte Positionen vorhanden!" : Return False
End If
End If
End If
Return True
End Function

View File

@@ -13,6 +13,8 @@ Imports System.Threading
Imports System.Net
Imports Spire.Pdf.Tables
Imports System.Windows.Forms.VisualStyles
Imports System.Text.RegularExpressions
Imports System.Runtime.InteropServices.ComTypes
Public Class cDATENSERVER
@@ -270,7 +272,18 @@ Public Class cDATENSERVER
s = s.Replace("Ì", ".")
s = s.Replace("", "U") ' .... das zum Beispiel
s = s.Replace("А", "A") 'cyrillic A
s = s.Replace("Р", "P") 'cyrillic P
s = s.Replace("С", "C") 'cyrillic C
s = s.Replace("Т", "T") 'cyrillic T
s = s.Replace("Ѕ", "S") 'cyrillic S
s = s.Replace("І", "I") 'cyrillic I
s = s.Replace("Ј", "J") 'cyrillic J
s = s.Replace("Е", "E") 'cyrillic E
Dim temp = s
s = Regex.Replace(s, "[бБвгГдДёЁжЖзЗиИйЙкКлЛмнпПртфФхХцЦчЧшШщЩъЪыЫьЬэЭюЮяЯ]", "").Replace("""", "") 'REMOVE cyrillic letters
'If s = "" Then s = temp
Dim tempBytes = System.Text.Encoding.GetEncoding("ISO-8859-8").GetBytes(s)
s = System.Text.Encoding.UTF8.GetString(tempBytes)
@@ -1862,7 +1875,16 @@ Public Class DATENVERVER_OPTIONS
My.Computer.FileSystem.CreateDirectory(TMP_PATH2)
End If
If delete Then clearTMPPath(unterOrdner)
If name = "" Then name = "TMP"
If name = "" Then
name = "TMP"
Else
name = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(name)
name = name.Replace("?", "")
End If
Dim destPath = TMP_PATH2 & name
If special Then destPath = TMP_PATH2 & name & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension