diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb
index a3fce594..4881a779 100644
--- a/SDL/Fakturierung/cAutomailversand.vb
+++ b/SDL/Fakturierung/cAutomailversand.vb
@@ -1,7 +1,5 @@
-Imports GrapeCity.DataVisualization.TypeScript
Imports Microsoft.Office.Interop
-Imports Microsoft.Office.Interop.Outlook
Imports VERAG_PROG_ALLGEMEIN
Public Class cAutomailversand
@@ -117,7 +115,7 @@ Public Class cAutomailversand
- If Not (MailTo = "" AndAlso MailtoCC = "" AndAlso MailtoCC = "") Then
+ If Not (MailTo = "" AndAlso MailtoCC = "" AndAlso MailtoBCC = "") Then
Dim Mailsubject As String = ""
Dim HTMLMail As String = ""
@@ -128,9 +126,11 @@ Public Class cAutomailversand
If doRechnung(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs) Then
loadAndSetAnhaenge(SR_DT, ATTACHMENTS, listPDFs)
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
+
If mailoeffnen Then
Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID)
- If setLog(row.Item("RechnungsKundenNr"),,,,,,, Mail) Then
+ If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum,,,,,,, Mail) Then
Mail.Display()
End If
@@ -138,27 +138,20 @@ Public Class cAutomailversand
Dim TextHTML = ""
TextHTML &= HTMLMail
- TextHTML &= "
"
- TextHTML &= "
"
- TextHTML &= "Mit freundlichen Grüßen
"
- TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "
"
- TextHTML &= "
"
- TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True)
+ TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True,,,,, True)
HTMLMail = "
" & TextHTML & "
"
- If setLog(row.Item("RechnungsKundenNr"), ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC) Then
+ If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC) Then
End If
End If
End If
+
End If
-
-
+
Next
-
-
Catch ex As System.Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
@@ -279,9 +272,11 @@ Public Class cAutomailversand
End Sub
- Private Function setLog(kdNr As Integer, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing) As Boolean
+ Private Function setLog(SR_DT As DataTable, row As DataRow, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing) As Boolean
Dim mailcreated As Boolean = False
+ Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
+
Dim EMails As String = ""
Dim EMails_CC As String = ""
@@ -307,8 +302,20 @@ Public Class cAutomailversand
End If
+ Dim AbfertigungsNr As Integer
+ Dim FilialenNr As Integer
- Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_OUT_BELEGMAIL, "SAMMELRECHNUNG-MDM",,, kdNr)
+ If SR_DT.Rows.Count > 0 Then
+ For Each r As DataRow In SR_DT.Rows
+ AbfertigungsNr = IIf(Not IsDBNull(r.Item("AbfertigungsNr")) AndAlso IsNumeric(r.Item("AbfertigungsNr")), CInt(r.Item("AbfertigungsNr")), 0)
+ FilialenNr = IIf(Not IsDBNull(r.Item("FilialenNr")) AndAlso IsNumeric(r.Item("FilialenNr")), CInt(r.Item("FilialenNr")), 0)
+ Next
+
+ End If
+
+
+
+ Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.SDL_OUT_SAMMELRECHNUNG, "SAMMELRECHNUNG-MDM",,, row.Item("RechnungsKundenNr"), , , FilialenNr, AbfertigungsNr)
API.api_EMail = EMails
API.api_EMailCC = EMails_CC
@@ -334,11 +341,16 @@ Public Class cAutomailversand
mailcreated = True
Else
API.UPDTAE_ERR()
+ sql.doSQL("update Rechnungsausgang set Status = 2 where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "'
+ And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4", "FMZOLL")
+
Return mailcreated
End If
+
+
End If
Return mailcreated
diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb
index 1580d48a..5aec1e4e 100644
--- a/SDL/Fakturierung/cFakturierung.vb
+++ b/SDL/Fakturierung/cFakturierung.vb
@@ -2466,14 +2466,16 @@ Public Class cFakturierung
Return getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID)
End Function
- Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "", Optional departmentmailadress = True, Optional fakturierung = False) As String
+ Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "", Optional departmentmailadress = True, Optional fakturierung = False, Optional firmenSignature = False) As String
getSignature = ""
firma = getFirmaNr(firma)
Dim imgsrc = System.IO.Path.GetFullPath(Application.StartupPath & "\Resources\").Replace("\", "/")
- Dim emailindividuell = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email
+ Dim emailindividuell As String = ""
+
+ If Not firmenSignature Then emailindividuell = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email
If additionalLine <> "" Then additionalLine = "" & additionalLine & "
"
@@ -2524,7 +2526,7 @@ Public Class cFakturierung
Case 19 'VERAG360
getSignature &= "
"
If displayFirmenmane Then getSignature &= "
VERAG 360 GmbH
"
- getSignature &= "A 4975 Suben, Nr. 100
T +43 7711 2777-0 | F +43 7711 31 073 | @ " & If(individuell, emailindividuell, "mmd@verag.ag") & " | www.verag.ag | FN 544732b
"
+ getSignature &= "A 4975 Suben, Nr. 100
T +43 7711 2777-0 | F +43 7711 31 073 | @ " & If(individuell, If(firmenSignature, "mmdabrechnung@verag.ag", emailindividuell), "mmd@verag.ag") & " | www.verag.ag | FN 544732b
"
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
Case 26 'VERAG-UNISPED
getSignature &= "
"
diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb
index a7884f1c..64e75b4a 100644
--- a/SDL/My Project/AssemblyInfo.vb
+++ b/SDL/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
'
-
-
+
+
diff --git a/SDL/SDL.vbproj b/SDL/SDL.vbproj
index 30b8a79d..dc93f763 100644
--- a/SDL/SDL.vbproj
+++ b/SDL/SDL.vbproj
@@ -889,10 +889,6 @@
UserControl
-
- frmDatumsabfrage.vb
-
-
frmMDMLieferantenrechnungen.vb
@@ -3419,9 +3415,6 @@
usrCntlBesuchsberichte.vb
-
- frmDatumsabfrage.vb
-
frmMDMLieferantenrechnungen.vb
diff --git a/SDL/frmLogin.vb b/SDL/frmLogin.vb
index a22df40e..e9d21c22 100644
--- a/SDL/frmLogin.vb
+++ b/SDL/frmLogin.vb
@@ -77,7 +77,7 @@ Public Class frmLogin
ElseIf PARAM = "SAMMELRECHNUNG_AUTOSENT" Then
Dim SRT_ART As Integer = 6
- Dim REDat As Date
+ Dim REDat As New Date(2025, 3, 15)
Dim FirmaID As Integer = 19
If (parameter.Count - 1) >= 4 Then 'Höher als 1 weil der index 0 der Pfad zum programm ist
@@ -91,10 +91,6 @@ Public Class frmLogin
Dim func As New cAutomailversand
func.sendMailSammelrechnung(REDat, SRT_ART, FirmaID)
- 'Dim f As New c()
- 'f.sendMailSammelrechnung(,,)
-
-
End If
diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb
index c516ac8b..429aa15d 100644
--- a/SDL/mdm/frmMDMDatenverarbetiung.vb
+++ b/SDL/mdm/frmMDMDatenverarbetiung.vb
@@ -1,5 +1,6 @@
Imports System.Data.OleDb
Imports System.IO
+Imports com.sun.xml.internal.ws.api.message
Imports itextsharp.text.pdf
Imports MDM_Worker
Imports VERAG_PROG_ALLGEMEIN
@@ -1127,7 +1128,7 @@ Public Class frmMDMDatenverarbetiung
INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer)
INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr)
INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
- where isnull(charged,0) = 0 and cast([Rechnungsdatum] as date) = '" & DateTimePicker2.Text & "' and Adressen.AdressenNr not in(756150, 711104) " & IIf(test, " and KundenNr = 450018 ", "") &
+ where isnull(charged,0) = 0 and cast([Rechnungsdatum] as date) = '" & DateTimePicker2.Text & "' and Adressen.AdressenNr not in(756150, 711104) " & IIf(test, " and KundenNr = 402352 or KundenNr = 402421 ", "") &
" group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck"
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200)
@@ -1203,44 +1204,58 @@ Public Class frmMDMDatenverarbetiung
If Not gen_RECHNUNG_BySPEDBUCH(uta("Customer Nr"), SPEDBUCH, "UTA",,,, RECHNUNG) Then verarbOK = False
Dim pathFile = genUTAAttachmentByKdNr(uta("Customer Nr"), uta("Customer ID"), dir, datPloseAnhang.Value)
-
If Not AddAttachementToRE(pathFile, uta("Customer Nr"), RECHNUNG, "UTA") Then verarbOK = False
+ Dim customerNrwithCSV As Integer = distinctDT_CSV.AsEnumerable().Where(Function(res) res.Field(Of Integer)("Customer ID") = uta("Customer ID")).Select(Function(res) res.Field(Of Integer)("Customer Nr")).FirstOrDefault()
+ If customerNrwithCSV > 0 Then
+ For Each f In Directory.GetFiles(dir)
+ If f.Contains(customerNrwithCSV & "_Maut_UTA.csv") Then
+ Dim FileCSV = New FileInfo(f)
+ If Not AddAttachementToRE(FileCSV.FullName, uta("Customer Nr"), RECHNUNG, "UTA") Then
+ verarbOK = False
+ Else
+ Exit For
+ End If
+
+ End If
+ Next
+ End If
+
+
If verarbOK Then
- 'UPDATE Fakturiert
- SQL.doSQL("UPDATE [tblUTAImportNew] set chargedDatetime=GETDATE() where chargedDatetime is null and [Rechnungsdatum] = '" & DateTimePicker2.Text & "' and Kundennummer = " & uta("Customer ID"), "FMZOLL")
- End If
- If True Then 'cnt Mod 10 = 0 Then
- txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
- Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
- pbPloseAnh_Proz.Value = proz
- lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
- 'GroupBox12.Refresh()
- My.Application.DoEvents()
- End If
- cnt += 1
- Next
+ 'UPDATE Fakturiert
+ SQL.doSQL("UPDATE [tblUTAImportNew] set chargedDatetime=GETDATE() where chargedDatetime is null and [Rechnungsdatum] = '" & DateTimePicker2.Text & "' and Kundennummer = " & uta("Customer ID"), "FMZOLL")
+ End If
+ If True Then 'cnt Mod 10 = 0 Then
+ txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
+ Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
+ pbPloseAnh_Proz.Value = proz
+ lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
+ 'GroupBox12.Refresh()
+ My.Application.DoEvents()
+ End If
+ cnt += 1
+ Next
+ If test Then Return True
- If test Then Return True
-
- ' ANHÄNGE WERDEN NCIHT BENÖTIGT::
- 'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren
- Dim dirAnhang = IIf(test, utaParam.ANLAGEN & "TEST\", utaParam.ANLAGEN)
- If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
- For Each f In Directory.GetFiles(dirAnhang)
- File.Delete(f)
- Next
- End If
- If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang)
- For Each f In Directory.GetFiles(dir)
- File.Copy(f, dirAnhang & (New FileInfo(f)).Name, True)
- Next
- pbPloseAnh_Proz.Value = 100
- txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
- lblPloseAnh_Proz.Text = "100.00 %"
- Return True
- End If
- Return False
+ ' ANHÄNGE WERDEN NCIHT BENÖTIGT::
+ 'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren
+ Dim dirAnhang = IIf(test, utaParam.ANLAGEN & "TEST\", utaParam.ANLAGEN)
+ If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
+ For Each f In Directory.GetFiles(dirAnhang)
+ File.Delete(f)
+ Next
+ End If
+ If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang)
+ For Each f In Directory.GetFiles(dir)
+ File.Copy(f, dirAnhang & (New FileInfo(f)).Name, True)
+ Next
+ pbPloseAnh_Proz.Value = 100
+ txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
+ lblPloseAnh_Proz.Text = "100.00 %"
+ Return True
+ End If
+ Return False
End Function
Function genRGAtt_MSE(mseParam As cMSEAPI) As Boolean
Dim top = ""
diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cAPI.vb b/VERAG_PROG_ALLGEMEIN/Classes/cAPI.vb
index e7c37d0c..c02aa1fb 100644
--- a/VERAG_PROG_ALLGEMEIN/Classes/cAPI.vb
+++ b/VERAG_PROG_ALLGEMEIN/Classes/cAPI.vb
@@ -26,6 +26,7 @@ Public Enum cAPI_ART
AVISO_IN_MSE = 80
SDL_OUT_FA = 81
+ SDL_OUT_SAMMELRECHNUNG = 82
End Enum