faktMail, ustva, Auswertungen, etc.

This commit is contained in:
2025-06-12 17:06:13 +02:00
parent 16690e1709
commit 7526139409
20 changed files with 1686 additions and 127 deletions

View File

@@ -1,4 +1,5 @@
Imports System.Web.UI.WebControls.Expressions
Imports System.Web.UI.HtmlControls
Imports System.Web.UI.WebControls.Expressions
Imports GrapeCity.DataVisualization.TypeScript
Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN
@@ -134,7 +135,7 @@ Public Class frmFaktEmail
setMailText(AD.LandKz)
setMailText(KdNr, AD.LandKz)
initList()
cbxStb.Enabled = True : cbxStb.Checked = True
cbxStbMitt.Enabled = True : cbxStbMitt.Checked = True
@@ -161,7 +162,7 @@ Public Class frmFaktEmail
End If
Else
setMailText(RECHNUNG.RechnungsLandKz)
setMailText(KdNr, RECHNUNG.RechnungsLandKz)
initRowSpedbuch(SPEDBUCH)
@@ -221,6 +222,8 @@ Public Class frmFaktEmail
cbxFAEmail.Checked = (If(FISKAL.fisk_schreibenFA_Mail, "") <> "")
txtFAEmail.Text = If(FISKAL.fisk_schreibenFA_Mail, "")
End If
Button6.Visible = True
End Sub
Private Sub wbShowHTML(ByVal WebBrowser As WebBrowser, ByVal HtmlText As String)
@@ -247,7 +250,7 @@ Public Class frmFaktEmail
Return RechnungsNr
End Function
Sub setMailText(RechnungsLandKz)
Sub setMailText(KdNr, RechnungsLandKz)
Select Case RechnungsLandKz
Case "A", "AT", "D", "DE", "CH" : cboFaStb_Sprache.changeItem("DE")
Case Else : cboFaStb_Sprache.changeItem("EN")
@@ -294,25 +297,93 @@ Public Class frmFaktEmail
Dim TextHTML = ""
If SammelrechungArt <> 6 Then
Select Case RechnungsLandKz
Case "TR"
txtSubject.Text = If(BelegartenNr = 71, "Kredi Nr. ", "Fatura Nr. ") & txtRgNr
TextHTML = "Sayin Bayanlar ve Baylar," & vbNewLine & vbNewLine & "ekte baslikta yazan faturayi bulabilirsinz."
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Saygilarimizla" & vbNewLine & vbNewLine & ""
Case "A", "AT", "D", "DE", "CH"
txtSubject.Text = If(BelegartenNr = 71, "Gutschrift Nr. ", "Rechnung Nr. ") & txtRgNr
TextHTML = "Sehr geehrte Damen und Herren" & vbNewLine & vbNewLine & "im Anhang senden wir Ihnen die o.g. " & If(BelegartenNr = 71, "Gutschrift(en).", "Rechnung(en).")
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Mit freundlichen Grüßen" & vbNewLine & vbNewLine & ""
Case Else
txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr
TextHTML = "Dear Sir or Madam," & vbNewLine & vbNewLine & "attached we send you the " & If(BelegartenNr = 71, "credit note", "invoice") & " mentioned above."
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & ""
End Select
Else
If RECHNUNG.Firma_ID <> 19 Then
Select Case RechnungsLandKz
Case "TR"
txtSubject.Text = If(BelegartenNr = 71, "Kredi Nr. ", "Fatura Nr. ") & txtRgNr
TextHTML = "Sayin Bayanlar ve Baylar," & vbNewLine & vbNewLine & "ekte baslikta yazan faturayi bulabilirsinz."
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Saygilarimizla" & vbNewLine & vbNewLine & ""
Case "A", "AT", "D", "DE", "CH"
txtSubject.Text = If(BelegartenNr = 71, "Gutschrift Nr. ", "Rechnung Nr. ") & txtRgNr
TextHTML = "Sehr geehrte Damen und Herren" & vbNewLine & vbNewLine & "im Anhang senden wir Ihnen die o.g. " & If(BelegartenNr = 71, "Gutschrift(en).", "Rechnung(en).")
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Mit freundlichen Grüßen" & vbNewLine & vbNewLine & ""
Case Else
txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr
TextHTML = "Dear Sir or Madam," & vbNewLine & vbNewLine & "attached we send you the " & If(BelegartenNr = 71, "credit note", "invoice") & " mentioned above."
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & ""
End Select
Else
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(1, "", RECHNUNG.Firma_ID)
Dim mailText As String = ""
Dim spracheRechnung As String = "EN" 'Defaultsprache
Dim belegtyp As String = If(BelegartenNr = 71, "credit note", "invoice")
Select Case RechnungsLandKz
Case "TR" : spracheRechnung = "TR" : spracheRechnung = RechnungsLandKz : belegtyp = If(BelegartenNr = 71, "Kredi", "Fatura")
Case "RO" : spracheRechnung = "RO" : spracheRechnung = RechnungsLandKz : belegtyp = If(BelegartenNr = 71, "credit note", "invoice")
Case "DE", "A", "AT", "D", "CH" : spracheRechnung = "DE" : belegtyp = If(BelegartenNr = 71, "Gutschrift", "Rechnung")
Case "SRB", "HR", "SLO", "BIH", "MNE", "MK", "MO" : spracheRechnung = "SRB" : belegtyp = If(BelegartenNr = 71, "credit note", "invoice") 'Belegarten auf Englisch!
End Select
If listOfTextconserven.LIST.Any(Function(c) c.txt_sprache = spracheRechnung) Then
Dim r As cTextkonserve = listOfTextconserven.LIST.Find(Function(c) c.txt_sprache = spracheRechnung)
If r IsNot Nothing Then
txtSubject.Text = r.txt_betreff
txtSubject.Text = txtSubject.Text.Replace("%Belegtyp%", belegtyp)
txtSubject.Text = txtSubject.Text.Replace("%BelegNr%", txtRgNr)
TextHTML &= r.txt_text
TextHTML = TextHTML.Replace("%Belegtyp%", belegtyp)
Dim KUNDE_ERW As New cKundenErweitert(KdNr)
If RECHNUNG.FilialenNr = 4817 And RECHNUNG.Firma_ID = 19 AndAlso RECHNUNG.ErfassungsNr IsNot Nothing Then
Dim SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(RECHNUNG.FilialenNr, RECHNUNG.AbfertigungsNr, RECHNUNG.UnterNr)
If SPEDBUCH.hasEntry AndAlso (SPEDBUCH.Abfertigungsart = 114 Or SPEDBUCH.Abfertigungsart = 115) Then
Dim USTV_ANTRAG As New cUSTVAntrag(RECHNUNG.ErfassungsNr)
If USTV_ANTRAG.UStVAn_Sicherheit Then
replaceKZ("KZ1", TextHTML)
TextHTML = TextHTML.ToString.Replace("%KZ4:", "") : TextHTML = TextHTML.ToString.Replace("%", "")
ElseIf KUNDE_ERW.kde_Erstattungsart = 4 Then
replaceKZ("KZ1", TextHTML)
TextHTML = TextHTML.ToString.Replace("%KZ4:", "") : TextHTML = TextHTML.ToString.Replace("%", "")
ElseIf KUNDE_ERW.kde_Erstattungsart = 1 Then
replaceKZ("KZ4", TextHTML)
TextHTML = TextHTML.ToString.Replace("%KZ1:", "") : TextHTML = TextHTML.ToString.Replace("%", "")
Else
replaceKZ("KZ1", TextHTML)
replaceKZ("KZ4", TextHTML)
TextHTML = TextHTML.ToString.Replace("%", "")
End If
If mailText <> "" Then TextHTML &= mailText & vbNewLine
'TextHTML &= "<br><br><br>" & cFakturierung.getSignature(RechnungsLandKz, Firma_ID)
End If
End If
End If
End If
End If
Else
Dim mailText As String = ""
If steuerbetrag = 0 Then
@@ -410,12 +481,12 @@ Public Class frmFaktEmail
Mail = outl.CreateItem(0)
Mail.Subject = txtSubject.Text
If Firma_ID = 24 OrElse Firma_ID = 19 Then
If RECHNUNG.Firma_ID = 24 OrElse RECHNUNG.Firma_ID = 19 Then
Try
Dim oAccount As Outlook.Account
Dim accountToSent = ""
Select Case Firma_ID
Select Case RECHNUNG.Firma_ID
Case 24
accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True)
Case Else
@@ -546,10 +617,18 @@ Public Class frmFaktEmail
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
If Firma_ID = 24 OrElse Firma_ID = 19 Then
If RECHNUNG.Firma_ID = 24 OrElse RECHNUNG.Firma_ID = 19 Then
Try
Dim oAccount As Outlook.Account
Dim accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True)
Dim accountToSent = ""
Select Case RECHNUNG.Firma_ID
Case 24
accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True)
Case Else
accountToSent = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!!
End Select
If outl.Session.Accounts.Count > 0 Then
@@ -710,14 +789,14 @@ Public Class frmFaktEmail
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Öffnen des Mail-Programmes." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
'Process.Start(a)
End Try
'Process.Start(a)
End Try
End If
End If
End If
ATTACHMENTS.Clear()
ATTACHMENTS.Clear()
End Sub
@@ -1023,17 +1102,17 @@ Public Class frmFaktEmail
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
setMailText("DE")
setMailText(KdNr, "DE")
' cboFaStb_Sprache.changeItem("DE")
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
setMailText("TR")
setMailText(KdNr, "TR")
' cboFaStb_Sprache.changeItem("EN")
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
setMailText("EN")
setMailText(KdNr, "EN")
' cboFaStb_Sprache.changeItem("EN")
End Sub
@@ -1053,7 +1132,7 @@ Public Class frmFaktEmail
If SR_DT Is Nothing Then Exit Sub
If SR_DT.Rows.Count = 0 Then Exit Sub
For Each r In SR_DT.Rows
For Each r In SR_DT.Rows
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(r("FilialenNr"), r("AbfertigungsNr"), r("SpeditionsbuchUnterNr"))
initRowSpedbuch(SPEDBUCH)
If SPEDBUCH IsNot Nothing AndAlso SPEDBUCH.Abfertigungsart IsNot Nothing AndAlso IsNumeric(SPEDBUCH.Abfertigungsart) AndAlso (SPEDBUCH.Abfertigungsart = 26 Or SPEDBUCH.Abfertigungsart = 28) AndAlso (SPEDBUCH.FilialenNr = 4805 Or SPEDBUCH.FilialenNr = 4811) Then
@@ -1168,6 +1247,32 @@ Public Class frmFaktEmail
Private Sub lklcc_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklcc.LinkClicked
dgvEmailCC.Rows.Add(lklcc.Tag)
End Sub
Private Sub replaceKZ(KZ As String, ByRef TextHTML As String)
If TextHTML = "" Then Exit Sub
Dim index_start As Integer = TextHTML.ToString.IndexOf("%" & KZ & ":")
Dim txtKZ = TextHTML.ToString.Substring(index_start)
Dim index_end As Integer = txtKZ.ToString.IndexOf("%", 1)
If index_start <= 0 AndAlso index_end <= 0 Then
Exit Sub
End If
Dim txtKZ_replace As String = TextHTML.ToString.Substring(index_start, index_end)
TextHTML = TextHTML.ToString.Replace(txtKZ_replace, "")
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
setMailText(KdNr, "SRB")
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
setMailText(KdNr, "RO")
End Sub
End Class