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

@@ -709,4 +709,5 @@ Public Class frmAbrechnungsMaske
srcTAG = srcTAG.AddDays(1) srcTAG = srcTAG.AddDays(1)
initBtns("Tag") initBtns("Tag")
End Sub End Sub
End Class End Class

View File

@@ -557,7 +557,7 @@ Public Class frmFaktEmail
Try Try
Dim additionalLine = "" Dim additionalLine = ""
If RECHNUNG.FakturierungsGruppe <> "" Then If RECHNUNG.FakturierungsGruppe IsNot Nothing AndAlso RECHNUNG.FakturierungsGruppe <> "" Then
additionalLine = "Abrechnungsstelle: " & RECHNUNG.FakturierungsGruppe.Replace("WAI", "Waidhaus") additionalLine = "Abrechnungsstelle: " & RECHNUNG.FakturierungsGruppe.Replace("WAI", "Waidhaus")
End If End If

View File

@@ -2804,12 +2804,11 @@ Public Class usrCntlFaktAbrechnung
End If End If
End If End If
getValues() getValues()
Dim errMsg = "" Dim errMsg = ""
setError(errMsg) setError(errMsg)
If RECHNUNG.CHECK_Validation(errMsg) Then If RECHNUNG.CHECK_Validation(errMsg, dgvRechnungenPositionen) Then
If RECHNUNG.SAVE(True) Then If RECHNUNG.SAVE(True) Then
RECHNUNG.setSPEDBUCH_FAKTURIERT() 'Fakturiert wird in SpedBuch geschrieben RECHNUNG.setSPEDBUCH_FAKTURIERT() 'Fakturiert wird in SpedBuch geschrieben

View File

@@ -1,5 +1,7 @@
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.Reflection Imports System.Reflection
Imports System.Windows.Forms
Imports DocumentFormat.OpenXml.Spreadsheet
Public Class cRechnungsausgangLIST Public Class cRechnungsausgangLIST
@@ -467,7 +469,7 @@ Public Class cRechnungsausgang
Next Next
End Sub 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 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 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 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 RechnungsLandKz = FIRMA.Firma_LandKz Then
If Steuersatz_Proz = 0 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!" errMsg = "ERROR: Steuerschlüssel angegeben!"
Return False Return False
End If End If
End If 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 Return True
End Function End Function

View File

@@ -13,6 +13,8 @@ Imports System.Threading
Imports System.Net Imports System.Net
Imports Spire.Pdf.Tables Imports Spire.Pdf.Tables
Imports System.Windows.Forms.VisualStyles Imports System.Windows.Forms.VisualStyles
Imports System.Text.RegularExpressions
Imports System.Runtime.InteropServices.ComTypes
Public Class cDATENSERVER Public Class cDATENSERVER
@@ -270,7 +272,18 @@ Public Class cDATENSERVER
s = s.Replace("Ì", ".") s = s.Replace("Ì", ".")
s = s.Replace("", "U") ' .... das zum Beispiel 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) Dim tempBytes = System.Text.Encoding.GetEncoding("ISO-8859-8").GetBytes(s)
s = System.Text.Encoding.UTF8.GetString(tempBytes) s = System.Text.Encoding.UTF8.GetString(tempBytes)
@@ -1862,7 +1875,16 @@ Public Class DATENVERVER_OPTIONS
My.Computer.FileSystem.CreateDirectory(TMP_PATH2) My.Computer.FileSystem.CreateDirectory(TMP_PATH2)
End If End If
If delete Then clearTMPPath(unterOrdner) 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 Dim destPath = TMP_PATH2 & name
If special Then destPath = TMP_PATH2 & name & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension If special Then destPath = TMP_PATH2 & name & "_" & Now.ToString("yyyyMMddHHmmssfff") & extension