Merge branch 'newMaster2024' of https://dev.azure.com/VeragAG/_git/SDL into newMaster2024

This commit is contained in:
2025-03-13 11:39:03 +01:00
7 changed files with 83 additions and 77 deletions

View File

@@ -313,49 +313,38 @@ Public Class frmFaktEmail
End Select
Else
Dim mailText As String = ""
If steuerbetrag = 0 Then
mailText &= (New SQL).getValueTxtBySql("SELECT Text FROM Rechnungstexte WHERE Firma_ID=0 AND EMailRechnung=1 AND Rechnungstexte.DrucksteuerungsKz='R' AND LandKZ='" & RechnungsLandKz & "'", "FMZOLL")
End If
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(4, "", Firma_ID)
Dim spracheRechnung As String = "EN" 'Defaultsprache
Select Case RechnungsLandKz
Case "TR"
txtSubject.Text = If(BelegartenNr = 71, "Kredi Nr. ", "Fatura Nr. ") & txtRgNr
TextHTML = "Sayin yetkili," & vbNewLine & vbNewLine & "ekte yeni Faturanizi ve Dökümünü bulabilirsiniz."
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & "Fatura kopileri kdv iadesi icin kullanilamaz."
If mailText <> "" Then TextHTML &= mailText & vbNewLine
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 Kunde" & vbNewLine & vbNewLine & "anbei unsere neue " & If(BelegartenNr = 71, "Gutschrift(en)", "Rechnung(en)") & " der letzten Abrechnungsperiode mit den dazugehörigen Anhängen."
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & "Da es sich bei den beigefügten Rechnungen nur um Kopien handelt, dürfen diese NICHT zur MWST-Rückerstattung verwendet werden. "
If mailText <> "" Then TextHTML &= mailText & vbNewLine
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Mit freundlichen Grüßen" & vbNewLine & vbNewLine & ""
Case "HR", "SRB", "SLO"
txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr
TextHTML = "Postovani komitente" & vbNewLine & vbNewLine & "u prilogu novi " & If(BelegartenNr = 71, "kredit", "racun") & " sa specifikacijma za prethodni period. "
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & "Prilozeni racuni nisu dopusteni za povrat PDV-a, jer su samo kopije."
If mailText <> "" Then TextHTML &= mailText & vbNewLine
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & ""
Case "RO"
txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr
TextHTML = "Stimate client" & vbNewLine & vbNewLine & "Va transmitem factura " & If(BelegartenNr = 71, "kredit", "racun") & " referitoare ultimei perioade de decontare impreuna cu anexele aferente."
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & "Prilozeni racuni nisu dopusteni za povrat PDV-a, jer su samo kopije."
If mailText <> "" Then TextHTML &= mailText & vbNewLine
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & ""
Case Else
txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr
TextHTML = "Dear Customer" & vbNewLine & vbNewLine & "Enclosed is our new " & If(BelegartenNr = 71, "credit note", "invoice") & " for the last billing period with the associated attachments."
TextHTML &= TextHTMLADD
TextHTML &= "" & vbNewLine & "Since the attached invoices are only copies, the may NOT be used for VAT refunds."
If mailText <> "" Then TextHTML &= mailText & vbNewLine
TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & ""
Case "TR" : spracheRechnung = RechnungsLandKz
Case "A", "AT", "D", "DE", "CH" : spracheRechnung = "DE"
Case "RO" : spracheRechnung = "RO"
Case "HR", "SRB", "SLO" : spracheRechnung = "SRB"
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("%BelegNr%", txtRgNr)
TextHTML &= r.txt_text
If mailText <> "" Then TextHTML &= mailText & vbNewLine
'TextHTML &= "<br><br><br>" & cFakturierung.getSignature(RechnungsLandKz, Firma_ID)
End If
End If
End If

View File

@@ -511,6 +511,8 @@ Public Class frmUSTVoffeneAntraege
Dim sqlwhereLand = ""
Dim sqlwhereSteuerNr = ""
Dim kundenLandISO2 As String = ""
Dim SQLPLOSEUMSTELLUNG = ""
If kdnr > 0 Then
@@ -528,6 +530,15 @@ Public Class frmUSTVoffeneAntraege
If cbxKundeLand._value <> "" Then
sqlwhereLand &= " and Kundenland = '" & cbxKundeLand._value & "'"
'LandKZ vom Kunden muss auf ISO2 konvertiert werden, weil da ein Misch-Masch in der Datenbank herrscht!
If cbxKundeLand._value.Length = 2 Then
kundenLandISO2 = cbxKundeLand._value
ElseIf cbxKundeLand._value.Length = 3 Then
kundenLandISO2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(cbxKundeLand._value)
ElseIf cbxKundeLand._value.Length = 1 Then
kundenLandISO2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(cbxKundeLand._value)
End If
End If
If cbxUStV.Checked Then
@@ -538,17 +549,18 @@ Public Class frmUSTVoffeneAntraege
sqlwhereLand &= " and isnull(UStVAn_ID,0) = 0 "
End If
If dtkeineMWST.Rows.Count > 0 AndAlso kundenLandISO2 <> "" Then
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Land = '" & kundenLandISO2 & "'").CopyToDataTable
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtkeineMWST_ohneContraint.Rows
landBez &= "'" & row.Item("Erstattungsland") & "'"
counter = counter + 1
If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= ","
Next
sqlwhereLand &= " AND Einreichland not in (" & landBez & ")"
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant = ''").CopyToDataTable
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtkeineMWST_ohneContraint.Rows
landBez = "'" & row.Item("Erstattungsland") & "'"
counter = counter + 1
If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= ","
Next
sqlwhereLand &= " AND Einreichland not in (" & landBez & ")"
End If
Dim year = CDate(dat_Sum_Von.Value).Year

View File

@@ -562,10 +562,10 @@ Public Class frmEssensbestellungenAdministration
If isReminder Then
Mail.Subject = "Essensgeld für "
DETextHTML &= "bitte diese Woche das Essensgeld " & IIf(kw <> "", "für " & kw, "") & " bezahlen.<br>"
DETextHTML &= "bitte diese Woche das Essensgeld " & IIf(kw <> "", "für " & kw, "") & " bezahlen.<br><br>"
Else
Mail.Subject = "Essensbestellung: "
DETextHTML &= "Anbei ist die Essensbestellung " & IIf(kw <> "", "für " & kw, "") & ".<br>"
DETextHTML &= "Anbei ist die Essensbestellung " & IIf(kw <> "", "für " & kw, "") & ".<br><br>"
End If
Mail.Subject &= IIf(kw <> "", kw, "") & " " & IIf(gebaeude <> "", gebaeude, "")
@@ -1124,6 +1124,10 @@ Public Class frmEssensbestellungenAdministration
Next
Dim TextHTMLtable = ""
TextHTMLtable &= "<table border=1>"
TextHTMLtable &= "<tr><td>Mitarbeiter</td><td>Betrag</td><td>Firma</td></tr>"
For Each row As DataRow In distinctDT.Rows
@@ -1137,6 +1141,14 @@ Public Class frmEssensbestellungenAdministration
If result IsNot Nothing AndAlso IsNumeric(result) Then
result = CDbl(result)
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & mit.mit_username & "</b></td>"
TextHTMLtable &= "<td><b>" & result & "</b></td>"
TextHTMLtable &= "<td><b>" & mit.mit_firma & "</b></td>"
TextHTMLtable &= "</tr>"
Select Case mit.mit_abteilung
Case "MDM", "EDV" ' -> per Mail weil SDL keine Benachrichtigungen hat und EDV nicht ins AVISO schaut:
If mit.mit_email <> "" AndAlso Not emailEmpf.Contains(mit.mit_email) Then
@@ -1167,7 +1179,7 @@ Public Class frmEssensbestellungenAdministration
If emailEmpf <> "" Then
generateEmail(emailEmpf, kw, " - " & cboGebaeude._value, "", True)
generateEmail(emailEmpf, kw, " - " & cboGebaeude._value, TextHTMLtable, True)
End If

View File

@@ -56,6 +56,7 @@ Public Class frmdynMailvorlagen
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Sendung", "1"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mahnung", "2"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("OP-Liste", "3"))
cbxTyp.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MDM-SR", "4"))
cbxTyp.changeItem("")

View File

@@ -167,8 +167,11 @@ Public Class usrCntlOfferte
cbxArchivierteOfferten.Items.Clear()
checkPermissions()
If dgvOfferteNew.RowCount > 0 Then
rtbBesonderheiten.Text = cSqlDb.checkNullStr(dgvOfferteNew.Rows(0).Cells("Besonderheiten").Value)
If dgvOfferteNew.SelectedRows.Count > 0 Then
rtbBesonderheiten.Text = cSqlDb.checkNullStr(dgvOfferteNew.SelectedRows(0).Cells("Besonderheiten").Value)
Else
rtbBesonderheiten.Text = cSqlDb.checkNullStr(dgvOfferteNew.Rows(0).Cells("Besonderheiten").Value)
End If
Else
btnStandardLaden.Visible = False
cbxArchivierteOfferten.Enabled = False

View File

@@ -1,7 +1,5 @@
Imports System.Reflection
Imports javax.xml.bind
Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN
Public Class usrcntlFremdrechnungen
Dim KUNDE As New cKunden
@@ -337,15 +335,17 @@ Public Class usrcntlFremdrechnungen
'ORIGINAL-RECHNUNG senden wenn:
'1. wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
If land <> "" Then
If land <> "" Then 'LandKZ vom Kunden muss auf ISO2 konvertiert werden, weil da ein Misch-Masch in der Datenbank herrscht!
If KUNDE.LandKz <> "" Then
Dim landKZiso2 = ""
If KUNDE.LandKz.Length = 2 Then
landKZiso2 = KUNDE.LandKz
ElseIf KUNDE.LandKz.Length = 3 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
ElseIf KUNDE.LandKz.Length = 1 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
End If
SQLWhere &= " AND " & land & " not in ('" & landKZiso2 & "')"
@@ -353,7 +353,6 @@ Public Class usrcntlFremdrechnungen
End If
'2. wenn die Rechnung die Summe NULL aufweist
Select Case aktLieferant
Case "UTA" : If Not alle Then SQLWhere &= " AND Gesamtbetrag_Brutto_in_Darstellwährung <> 0 AND Art = 'RE'" 'UTA bei UTA auch EPN ausblenden!
Case "PLOSE" : If Not alle Then SQLWhere &= " AND plInv_Bruttobetrag <> 0" 'PLOSE
@@ -363,39 +362,25 @@ Public Class usrcntlFremdrechnungen
Case "ALLE" : If alle Then SQLWhere &= " AND temp.Nettobetrag <> 0" 'ALLE
End Select
'Dim counter = 0
'For Each n In List
' gsnr &= n.ToString()
' counter = counter + 1
' If (List.Count <> 0 And counter <> List.Count) Then
' gsnr &= ","
' End If
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Lieferant = ''").CopyToDataTable
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtkeineMWST_ohneContraint.Rows
landBez = "'" & row.Item("Erstattungsland") & "'"
landBez &= "'" & row.Item("Erstattungsland") & "'"
counter = counter + 1
If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= ","
Next
SQLWhere &= " AND " & land & " not in (" & landBez & ")"
End If
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtKundeMWST.Rows
landBez = "'" & row.Item("LandKz") & "'"
landBez &= "'" & row.Item("LandKz") & "'"
counter = counter + 1
If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= ","
Next
@@ -432,7 +417,8 @@ Public Class usrcntlFremdrechnungen
landKZiso2 = KUNDE.LandKz
ElseIf KUNDE.LandKz.Length = 3 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(KUNDE.LandKz)
ElseIf KUNDE.LandKz.Length = 1 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(KUNDE.LandKz)
End If
SQLWhere &= " AND " & land & " not in ('" & landKZiso2 & "')"
@@ -440,19 +426,17 @@ Public Class usrcntlFremdrechnungen
End If
'2. wenn die Rechnung die Summe NULL aufweist
Select Case aktLieferant
Case "IDS" : If Not alle Then SQLWhere &= " AND [AmminclVAT] <> 0" 'IDS
End Select
'3. Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
If land <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
Dim dtkeineMWST_IDS As DataTable = dtkeineMWST.Select("Lieferant = 'IDS'").CopyToDataTable
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtkeineMWST_IDS.Rows
landBez = "'" & row.Item("Erstattungsland") & "'"
landBez &= "'" & row.Item("Erstattungsland") & "'"
counter = counter + 1
If (dtkeineMWST_IDS.Rows.Count <> 0 And counter <> dtkeineMWST_IDS.Rows.Count) Then landBez &= ","
Next
@@ -462,12 +446,11 @@ Public Class usrcntlFremdrechnungen
'4. Rechnungen der Länder, in denen der Kunde selber MWST beantragt
If land <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
Dim counter = 0
Dim landBez As String = ""
For Each row As DataRow In dtKundeMWST.Rows
landBez = "'" & row.Item("LandKz") & "'"
landBez &= "'" & row.Item("LandKz") & "'"
counter = counter + 1
If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= ","
Next

View File

@@ -553,6 +553,12 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
End Function
Shared Function getISO2LandFromISO1Land(Iso1Land As String)
Dim sqlstr = "SELECT TOP 1 isnull([Länderverzeichnis für die Außenhandelsstatistik].LandKz,'') AS LandKzISO2 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE Währungstabelle.LandKz='" & Iso1Land & "' "
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.getValueTxtBySql(sqlstr, "FMZOLL")
End Function
Shared Function getISO1Land(LandKz As String)
Dim sqlstr = "SELECT TOP 1 isnull(Währungstabelle.LandKz,'') AS LandKzISO1 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE [Länderverzeichnis für die Außenhandelsstatistik].LandKz='" & LandKz & "' "
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL