Merge branch 'newMaster2024' of https://git.it.verag.ag/edv/SDL into newMaster2024

This commit is contained in:
2026-04-13 13:19:20 +02:00
16 changed files with 1130 additions and 387 deletions

View File

@@ -28,6 +28,7 @@ Public Class cKassenbuch
Property rksv_BelegId As Object = Nothing
Property rksv_aktiv As Boolean = False
Property durchfuehrender_Benutzer As Integer = -1
Property Trdin As Boolean = False
Dim SQL As New SQL
@@ -104,6 +105,7 @@ Public Class cKassenbuch
Me.rksv_BelegId = cSqlDb.checkNullReturnValue(dr.Item("rksv_BelegId"), Nothing)
Me.rksv_aktiv = cSqlDb.checkNullReturnValue(dr.Item("rksv_aktiv"), False)
Me.durchfuehrender_Benutzer = cSqlDb.checkNullInteger(dr.Item("durchfuehrender_Benutzer"))
Me.Trdin = cSqlDb.checkNullReturnValue(dr.Item("Trdin"), False)
@@ -150,6 +152,7 @@ Public Class cKassenbuch
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("rksv_BelegId", rksv_BelegId))
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("rksv_aktiv", rksv_aktiv))
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("durchfuehrender_Benutzer", durchfuehrender_Benutzer))
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("Trdin", Trdin))
Return list
End Function

View File

@@ -1,5 +1,4 @@
Imports System.IO
Imports com.sun.tools.doclets.internal.toolkit.util
Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN
@@ -12,7 +11,7 @@ Public Class cAutomailversand
Dim rechnungenMailversand = "SELECT RechnungsNr,RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST, max(Rechnungsausgang.[RechnungsLandKz]) as RechnungsLandKz, MitgliedslandEU, sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer FROM Rechnungsausgang
LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz
WHERE Rechnungsausgang.Status IN (2) And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" & Sammelrechnungsdatum.ToShortDateString & "'
WHERE Rechnungsausgang.Status IN (2) And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Sammelrechnungsdatum.ToShortDateString & "'
and isnull(Rechnungsausgang.Automailversand,0) = 1 and RechnungsNr > 0 " & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & "
GROUP BY RechnungsNr, RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0),RechnungsLandKz, MitgliedslandEU
ORDER BY RechnungsLandKz, RechnungsKundenNr"
@@ -22,35 +21,41 @@ Public Class cAutomailversand
For Each row As DataRow In dt.Rows
Dim BelegartenNr = "70"
Dim steuerbetrag As Double = 0
Dim SR_DT As DataTable = Nothing
Dim RechnungsNr As Integer = -1
Dim DruckDatumZeit As DateTime
Dim Rechnungsdatum = Nothing
Dim ATTACHMENTS As New List(Of cFakt_MailATTach)
'AKTUELL IMMER MIT KOPIE
MDMKopiedrucken = True
Dim isEU As Boolean = row.Item("MitgliedslandEU")
If FirmaID = 19 Then
If isEU Then
If row.Item("keineMWST") Then
'1. Schritt: kein MWST Kunde -> ORIGINAL-RE per Mail!
MDMKopiedrucken = Not row.Item("keineMWST")
'AKTUELL IMMER MIT KOPIE
MDMKopiedrucken = True
Dim isEU As Boolean = row.Item("MitgliedslandEU")
If isEU Then
If row.Item("keineMWST") Then
'1. Schritt: kein MWST Kunde -> ORIGINAL-RE per Mail!
MDMKopiedrucken = Not row.Item("keineMWST")
End If
'2. Schritt: MWST Kunde -> wenn kein MWST-BEtrag ->Original sonst Kopie per Mail!
If MDMKopiedrucken Then
MDMKopiedrucken = CDbl(row.Item("Steuer")) <> 0
End If
Else
'immer KOPIE weil Ausdruck aktuell noch gesendet!
End If
'2. Schritt: MWST Kunde -> wenn kein MWST-BEtrag ->Original sonst Kopie per Mail!
If MDMKopiedrucken Then
MDMKopiedrucken = CDbl(row.Item("Steuer")) <> 0
End If
Else
'immer KOPIE weil Ausdruck aktuell noch gesendet!
End If
SR_DT = cFakturierung.GET_SR_SQLDT(FirmaID, SammelrechungArt, Sammelrechnungsdatum, row.Item("RechnungsKundenNr"),, , , , True)
SR_DT = cFakturierung.GET_SR_SQLDT(FirmaID, SammelrechungArt, Sammelrechnungsdatum, row.Item("RechnungsKundenNr"),,,,, True)
Dim AD = New VERAG_PROG_ALLGEMEIN.cAdressen(row.Item("RechnungsKundenNr"))
Dim FISKAL = New cFiskal_Daten(row.Item("RechnungsKundenNr"))
If RechnungsNr = -1 Then
If SR_DT.Rows.Count > 0 Then
@@ -60,12 +65,16 @@ Public Class cAutomailversand
RechnungsNr = distinctDT_SR.Rows(0).Item("RechnungsNr")
DruckDatumZeit = distinctDT_SR.Rows(0).Item("DruckDatumZeit")
Rechnungsdatum = distinctDT_SR.Rows(0).Item("Rechnungsdatum")
BelegartenNr = SR_DT.Rows(0)("BelegartenNr")
For Each r In SR_DT.Rows
steuerbetrag += r("steuerpflichtigerGesamtbetrag")
If BelegartenNr <> r("BelegartenNr") Then BelegartenNr = "70" : Exit For
Next
End If
End If
End If
Dim SR As Boolean = True
Dim MailTo As String = ""
@@ -101,13 +110,14 @@ Public Class cAutomailversand
End If
'im TESTSYSTEM bewusst die Empfänger leeren!
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
MailTo = ""
MailtoCC = ""
MailtoBCC = "mmdabrechnung@verag.ag"
MailtoBCC = setAccountToSend(FirmaID)
Else
MailtoBCC = "mmdabrechnung@verag.ag"
MailtoBCC = setAccountToSend(FirmaID)
End If
@@ -119,8 +129,8 @@ Public Class cAutomailversand
Dim listPDFs As New List(Of String)
Dim showError As Boolean = False
setEmailText(row, FirmaID, RechnungsNr, Mailsubject, HTMLMail)
If doRechnung(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs,,,, showError) Then
setEmailText(row, FirmaID, RechnungsNr, Mailsubject, HTMLMail, SammelrechungArt, dt, BelegartenNr)
If do_SR(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs,,,, showError) Then
loadAndSetAnhaenge(SR_DT, ATTACHMENTS, listPDFs)
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
@@ -156,51 +166,99 @@ Public Class cAutomailversand
End Sub
Sub sendMailEinzelrechnung(Rechnungsdatum As Date, RechungArt As Integer, FirmaID As Integer, Optional KundenNr As Integer = -1, Optional mailoeffnen As Boolean = False)
Sub sendMailEinzelrechnungen(Rechnungsdatum As Date, FirmaID As Integer, Optional Sachbearbeiter As String = "", Optional KundenNr As Integer = -1, Optional mailoeffnen As Boolean = False)
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim rechnungenMailversand = "SELECT RechnungsNr,RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST, max(Rechnungsausgang.[RechnungsLandKz]) as RechnungsLandKz, MitgliedslandEU, sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer FROM Rechnungsausgang
LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz
WHERE Rechnungsausgang.Status IN (2) And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And And CONVERT(DATE,Rechnungsausgang.Rechnungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "'
and isnull(Rechnungsausgang.Automailversand,0) = 1 and RechnungsNr > 0 " & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & "
GROUP BY RechnungsNr, RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0),RechnungsLandKz, MitgliedslandEU
ORDER BY RechnungsLandKz, RechnungsKundenNr"
Dim dt As DataTable = sql.loadDgvBySql(rechnungenMailversand, "FMZOLL")
Try
For Each r In dt.Rows
Dim MailTo As String = ""
Dim MailtoCC As String = ""
Dim MailtoBCC As String = ""
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
MailTo = ""
MailtoCC = ""
MailtoBCC = setAccountToSend(FirmaID)
Else
MailtoBCC = setAccountToSend(FirmaID)
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,,,,,,)
End Try
End Sub
Private Sub setEmailText(row As DataRow, Firma_ID As Integer, RechnungsNr As Integer, ByRef Subject As String, ByRef TextHTML As String)
Private Sub setEmailText(row As DataRow, Firma_ID As Integer, RechnungsNr As Integer, ByRef Subject As String, ByRef TextHTML As String, ByRef SammelrechungArt As Integer, dt As DataTable, ByRef BelegartenNr As Integer)
Dim txtRgNr As String = IIf(RechnungsNr < 0, -1, RechnungsNr)
Dim Mailtext As String
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
If SammelrechungArt <> 6 Then
Select Case row.Item("RechnungsLandKz")
Case "TR", "RO", "DE", "SRB" : spracheRechnung = row.Item("RechnungsLandKz")
Case "A", "AT", "D", "CH", "DE" : spracheRechnung = "DE"
Case "HR", "SLO", "BIH", "MNE", "MK", "MO" : spracheRechnung = "SRB"
End Select
Subject = "VERAG Sammel-Rechnung"
TextHTML &= getSammelRgTExt(getSelectionLandKz(dt), Firma_ID)
If listOfTextconserven.LIST.Any(Function(c) c.txt_sprache = spracheRechnung) Then
Else
Dim r As cTextkonserve = listOfTextconserven.LIST.Find(Function(c) c.txt_sprache = spracheRechnung)
If r IsNot Nothing Then
Subject = r.txt_betreff
Subject = Subject.Replace("%BelegNr%", txtRgNr)
TextHTML &= r.txt_text
If Mailtext <> "" Then TextHTML &= Mailtext
TextHTML &= vbNewLine & vbNewLine
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 row.Item("RechnungsLandKz")
Case "TR", "RO", "DE", "SRB" : spracheRechnung = row.Item("RechnungsLandKz")
Case "A", "AT", "D", "CH", "DE" : spracheRechnung = "DE"
Case "HR", "SLO", "BIH", "MNE", "MK", "MO" : 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
Subject = r.txt_betreff
Subject = Subject.Replace("%BelegNr%", txtRgNr)
TextHTML &= r.txt_text
If Mailtext <> "" Then TextHTML &= Mailtext
TextHTML &= vbNewLine & vbNewLine
End If
End If
End If
End Sub
Private Function doRechnung(kdNr As Integer, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, lastAktuelle_RgNr As Integer, DruckDatumZeit As Date, Kopie As Boolean, listPDFs As List(Of String), Optional EinzelAnlagen As Boolean = False, Optional Sammelbericht As Boolean = True, Optional saveInThereFore As Boolean = False, Optional showError As Boolean = True)
Private Function do_SR(kdNr As Integer, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, lastAktuelle_RgNr As Integer, DruckDatumZeit As Date, Kopie As Boolean, listPDFs As List(Of String), Optional EinzelAnlagen As Boolean = False, Optional Sammelbericht As Boolean = True, Optional saveInThereFore As Boolean = False, Optional showError As Boolean = True)
Dim RechnungsNrisSet As Boolean = False
RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(19, 6, Rechnungsdatum, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, kdNr, 4, listPDFs, "", lastAktuelle_RgNr, DruckDatumZeit, , , ,, ,,, True, Kopie,, saveInThereFore, showError)
RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(FirmaID, Sammelrechnungsart, Rechnungsdatum, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, kdNr, 4, listPDFs, "", lastAktuelle_RgNr, DruckDatumZeit, , , ,, ,,, True, Kopie, True, saveInThereFore, showError)
Return RechnungsNrisSet
End Function
@@ -315,6 +373,9 @@ Public Class cAutomailversand
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 accountToSend = setAccountToSend(FirmaID)
Dim mailcreated As Boolean = False
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
@@ -329,14 +390,14 @@ Public Class cAutomailversand
If Mail IsNot Nothing Then
EMails = Mail.To
EMails_CC = Mail.CC
EMails_BCC = Mail.BCC
EMails_BCC = accountToSend 'Mail.BCC
EMail_subject = Mail.Subject
EMail_HTML = Mail.Body
AttCount = Mail.Attachments.Count
Else
EMails = MailTo
EMails_CC = MailtoCC
EMails_BCC = MailtoBCC
EMails_BCC = accountToSend 'MailtoBCC
EMail_subject = Mailsubject
EMail_HTML = Mailhtml
AttCount = ATTACHMENTS.Count
@@ -356,7 +417,7 @@ Public Class cAutomailversand
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)
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_" & FirmaID,,, row.Item("RechnungsKundenNr"), , , FilialenNr, AbfertigungsNr)
API.api_EMail = EMails
API.api_EMailCC = EMails_CC
@@ -383,7 +444,7 @@ Public Class cAutomailversand
Next
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(EMails, EMail_subject, EMail_HTML, "mmdabrechnung@verag.ag", False, False, EMails_CC, EMails_BCC, attachList,, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "d.breimaier@verag.ag", "mmdabrechnung@verag.ag")) Then
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(EMails, EMail_subject, EMail_HTML, accountToSend, False, False, EMails_CC, EMails_BCC, attachList,, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "d.breimaier@verag.ag", accountToSend)) Then
API.UPDTAE_OK()
mailcreated = True
Else
@@ -402,5 +463,130 @@ Public Class cAutomailversand
Return mailcreated
End Function
Function getSammelRgTExt(RechnungsLandKz, FIRMA_ID) As String
If RechnungsLandKz = "" Then
getSammelRgTExt = "Sehr geehrte Damen und Herren,<br>"
getSammelRgTExt &= "Dear Ladies and Gentlemen,<br>"
getSammelRgTExt &= "Sayin Bayanlar ve Baylar,<br>"
getSammelRgTExt &= "<br>"
getSammelRgTExt &= "im Anhang senden wir Ihnen die o.g. Rechnung.<br>"
getSammelRgTExt &= "attached we send you the invoice mentioned above.<br>"
getSammelRgTExt &= "ekte baslikta yazan faturayi bulabilirsinz.<br>"
getSammelRgTExt &= "<br>"
getSammelRgTExt &= "<br><br><br>Mit freundlichen Grüßen / Best regards / Saygilarimizla<br><br>VERAG Spedition AG<br><br>" & cFakturierung.getSignature(RechnungsLandKz, FIRMA_ID)
Return "<div style=""font-family:Calibri, Arial"">" & getSammelRgTExt & "</div>"
End If
getSammelRgTExt = "<div style=""font-family:Calibri, Arial"">" & getSammelRgTExt & "</div>"
End Function
Function getSelectionLandKz(dt As DataTable) As String
getSelectionLandKz = ""
If dt.Rows.Count > 0 Then
If dt.Rows.Count > 0 Then
For Each r As DataRow In dt.Rows
If Not IsDBNull(r("RechnungsLandKz")) Then
Dim landKz As String = r("RechnungsLandKz").ToString()
If getSelectionLandKz = "" Then
getSelectionLandKz = landKz
ElseIf getSelectionLandKz <> landKz Then
Return ""
End If
End If
Next
End If
End If
End Function
Private Function setAccountToSend(FIRMA_ID) As String
Dim accountToSend = ""
Select Case FIRMA_ID
Case 24
accountToSend = SDL.cFakturierung.getDefaultMail("AMBAR",, True)
Case 19
accountToSend = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!!
Case 7
accountToSend = "rechnung@atilla-spedition.com"
Case Else
accountToSend = "rechnungsversand@verag.ag"
End Select
Return accountToSend
End Function
Function addRgData_ZF_Passau(RechnungsLandKz As String, RECHNUNG As cRechnungsausgang, SPEDBUCH As cSpeditionsbuch) As String ' NUR EINZELRECHNUNG
addRgData_ZF_Passau = vbNewLine & vbNewLine
Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung
Select Case RechnungsLandKz
Case "TR"
addRgData_ZF_Passau &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then
addRgData_ZF_Passau &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
addRgData_ZF_Passau &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
End If
Case "A", "AT", "D", "DE", "CH"
addRgData_ZF_Passau &= "Absender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then
addRgData_ZF_Passau &= "Handelsrechnungs-Nr.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
addRgData_ZF_Passau &= "Handelsrechnungs-Betrag: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
End If
Case Else
addRgData_ZF_Passau &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then
addRgData_ZF_Passau &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
addRgData_ZF_Passau &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
End If
End Select
' addRgData_ZF_Passau = RichTextBox.Text.Replace("Mit freundlichen Grüßen", "")
End Function
Function addRgData_Parsan(RechnungsLandKz As String, RECHNUNG As cRechnungsausgang, SPEDBUCH As cSpeditionsbuch) As String 'NUR EINZELRECHNUNG
addRgData_Parsan = vbNewLine & vbNewLine
Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung
Select Case RechnungsLandKz
Case "TR"
' addRgData_Parsan &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then
addRgData_Parsan &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
addRgData_Parsan &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
End If
Case "A", "AT", "D", "DE", "CH"
' addRgData_Parsan &= "Absender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then
addRgData_Parsan &= "Handelsrechnungs-Nr.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
addRgData_Parsan &= "Handelsrechnungs-Betrag: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
End If
Case Else
'addRgData_Parsan &= "Sender: " & RECHNUNG.AbsenderName_1 & ", " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
If ZOLLANMELDUNG.getDataByBezugsnummer(RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr, SPEDBUCH.Abfertigungsart, "", SPEDBUCH.Grenzstelle, SPEDBUCH.Zollsystem_Land) Then
addRgData_Parsan &= "Invoice-No.: " & ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) & vbNewLine
addRgData_Parsan &= "Invoice-Total: " & ZOLLANMELDUNG.Rechnungspreis & vbNewLine
End If
End Select
End Function
End Class

View File

@@ -4348,12 +4348,8 @@ Public Class cFakturierung
' If FilialeTmp < 0 Then FilialeTmp = RG.FilialenNr 'erstes Mal
If FIRMATmp < 0 Then FIRMATmp = RG.Firma_ID 'erstes Mal
If kdTmp <> RG.RechnungsKundenNr Or FIRMATmp <> RG.Firma_ID Then 'Or FilialeTmp <> RG.FilialenNr
' KEIN doSAMMELRechnungsDruck_Abschnitt!!!!
If Not MDMRENrvoarhanden Then Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
End If
kdTmp = RG.RechnungsKundenNr
FilialeTmp = RG.FilialenNr
@@ -4363,12 +4359,16 @@ Public Class cFakturierung
' If FilialeTmp < 0 Then FilialeTmp = RG.FilialenNr 'erstes Mal
If FIRMATmp < 0 Then FIRMATmp = RG.Firma_ID 'erstes Mal
If kdTmp <> RG.RechnungsKundenNr Or FIRMATmp <> RG.Firma_ID Then 'Or FilialeTmp <> RG.FilialenNr
Dim path = ""
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,,,,,, saveInThereFore)
Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
If path <> "" Then listPDFs.Add(path)
If Not setAutoMailversand Then
Dim path = ""
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,,,,,, saveInThereFore)
Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
If path <> "" Then listPDFs.Add(path)
Else
If Not MDMRENrvoarhanden Then Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
End If
End If
kdTmp = RG.RechnungsKundenNr
kdTmp = RG.RechnungsKundenNr
FilialeTmp = RG.FilialenNr
FIRMATmp = RG.Firma_ID
End Select
@@ -4377,8 +4377,8 @@ Public Class cFakturierung
RG.[VorschauID] = VorschauID
Else
If SammelrechungArt = 6 Then
If RechnungsdruckArt = 7 Then 'RechnungsdruckArt = 7 ist die Erstellung per MDM-Sammelabrechnung!
If SammelrechungArt = 6 Or (setAutoMailversand And SammelrechungArt <> 6) Then
If RechnungsdruckArt = 7 Then 'RechnungsdruckArt = 7 ist die Erstellung per MDM-Sammelabrechnung bzw. der Sammelrechnung für Mailversand!!
RG.[Status] = 2 'Bei MDM Abrechnung; Druck später!!
RG.Automailversand = setAutoMailversand
Else
@@ -4413,7 +4413,9 @@ Public Class cFakturierung
'Letzter Abschnitt:
If found Then
Dim path = ""
If Not (SammelrechungArt = 6 And RechnungsdruckArt = 7) Then doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,, MDMREkopie,,,, saveInThereFore)
If Not (SammelrechungArt = 6 And RechnungsdruckArt = 7) Then
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,, MDMREkopie,,,, saveInThereFore)
End If
If path <> "" Then listPDFs.Add(path)
End If
lastAktuelle_RgNr = Aktuelle_RgNr
@@ -4874,7 +4876,7 @@ Public Class cFakturierung
RG_Bezeichnung = "Provisionsabrechnung_" & Now.ToString("yyyyMMdd_HHmmss") & ".pdf"
End If
If isMDMRechnungsdruck Then
If isMDMRechnungsdruck AndAlso FIRMA.Firma_ID = 19 Then
rpt = SammelRechnungAnlagenDruck_MDM(ROW, isMDMRechnungsdruck, dt, FIRMA, Rechnugnsdruck, KD_RG, RechnungsNr, VorschauID, Sammelrechnungskopie, RG_Bezeichnung, SammelrechnungsDT, tmpPath)
Else
rpt = SammelRechnungAnlagenDruck(ROW, isMDMRechnungsdruck, dt, FIRMA, Rechnugnsdruck, KD_RG, RechnungsNr, VorschauID, Sammelrechnungskopie, RG_Bezeichnung, SammelrechnungsDT, tmpPath)

View File

@@ -2,8 +2,6 @@
Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN
Public Class frmFaktEmail
Dim RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang
@@ -78,23 +76,8 @@ Public Class frmFaktEmail
End Sub
Private Sub frmFaktEmail_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Select Case RECHNUNG.RechnungsLandKz
' Case "TR"
' txtSubject.Text = "Rechnung Nr. " & RECHNUNG.RechnungsNr
' TextHTML = "Sayin Bayanlar ve Baylar,<br><br>ekte baslikta yazan faturayi bulabilirsinz."
' TextHTML &= "<br><br><br>Saygilarimizla<br><br>" & cFakturierung.getSignature(RECHNUNG)
' Case "A", "AT", "D", "DE", "CH"
' txtSubject.Text = "Rechnung Nr. " & RECHNUNG.RechnungsNr
' TextHTML = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die o.g. Rechnung."
' TextHTML &= "<br><br><br>Mit freundlichen Grüßen<br><br>" & cFakturierung.getSignature(RECHNUNG)
' Case Else
' txtSubject.Text = "Rechnung Nr. " & RECHNUNG.RechnungsNr
' TextHTML = "Sehr geehrte Damen und Herren,<br><br>attached we send you the invoice mentioned above."
' TextHTML &= "<br><br><br>Best regards<br><br>" & cFakturierung.getSignature(RECHNUNG)
'End Select
cboFaStb_Sprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE", "DE"))
cboFaStb_Sprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EN", "EN"))
@@ -546,7 +529,7 @@ Public Class frmFaktEmail
Mail = outl.CreateItem(0)
Mail.Subject = txtSubject.Text
If Firma_ID = 24 OrElse Firma_ID = 19 Then
If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 Then
Try
Dim oAccount As Outlook.Account
Dim accountToSent = ""
@@ -554,109 +537,113 @@ Public Class frmFaktEmail
Select Case Firma_ID
Case 24
accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True)
Case Else
Case 19
accountToSent = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!!
Case 7
accountToSent = "rechnung@atilla-spedition.com"
Case Else
accountToSent = "rechnungsversand@verag.ag"
End Select
If accountToSent <> "" Then
If outl.Session.Accounts.Count > 0 Then
For Each oAccount In outl.Session.Accounts
If oAccount.SmtpAddress.ToLower = accountToSent.ToLower Then
Mail.SendUsingAccount = oAccount
Exit For
If outl.Session.Accounts.Count > 0 Then
For Each oAccount In outl.Session.Accounts
If oAccount.SmtpAddress.ToLower = accountToSent.ToLower Then
Mail.SendUsingAccount = oAccount
Exit For
End If
Next
End If
Next
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Ermitteln des Mail-Accounts." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Ermitteln des Mail-Accounts." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End If
'Mail-Adressen eintragen
'-----------------------------------------------------------------
For Each r In dgvEmail.Rows
If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";"
Next
For Each r In dgvEmailCC.Rows
If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";"
Next
For Each r In dgvEmailBCC.Rows
If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";"
Next
'Mail-Adressen eintragen
'-----------------------------------------------------------------
For Each r In dgvEmail.Rows
If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";"
Next
For Each r In dgvEmailCC.Rows
If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";"
Next
For Each r In dgvEmailBCC.Rows
If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";"
Next
RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", lastAktuelle_RgNr)
txtSubject.Text = txtSubject.Text.Replace("%RgNr%", lastAktuelle_RgNr)
RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", lastAktuelle_RgNr)
txtSubject.Text = txtSubject.Text.Replace("%RgNr%", lastAktuelle_RgNr)
Dim TextHTML = "<div style=""font-family:Calibri, Arial"">" & RichTextBox.Text.Replace(ControlChars.Lf, "<br>") & cFakturierung.getSignature(AD.LandKz, Firma_ID,,,, additionalLine,, IIf(Firma_ID = "24", True, False)) & "</div>"
Dim TextHTML = "<div style=""font-family:Calibri, Arial"">" & RichTextBox.Text.Replace(ControlChars.Lf, "<br>") & cFakturierung.getSignature(AD.LandKz, Firma_ID,,,, additionalLine,, IIf(Firma_ID = "24", True, False)) & "</div>"
Mail.HTMLBody = TextHTML
Mail.Subject = txtSubject.Text
Mail.HTMLBody = TextHTML
Mail.Subject = txtSubject.Text
ATTACHMENTS.Clear()
'-----------------------------------------------------------------
'Rechnungen anfügen
'-----------------------------------------------------------------
For Each l In listPDFs
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
ATTACHMENTS.Clear()
'-----------------------------------------------------------------
'Rechnungen anfügen
'-----------------------------------------------------------------
For Each l In listPDFs
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
Next
For Each l In SonstAnlagen
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
Next
For Each l In SonstAnlagen
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
Next
addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked)
Next
addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked)
'-----------------------------------------------------------------
'Steuerbescheid/VDB anfügen
'-----------------------------------------------------------------
getAnhaenge()
'For Each l In listPDFs
' ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
' ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
'Next
'-----------------------------------------------------------------
'Steuerbescheid/VDB anfügen
'-----------------------------------------------------------------
getAnhaenge()
'For Each l In listPDFs
' ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
' ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
'Next
'Rechnungsanhänge anfügen
'-----------------------------------------------------------------
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
For Each r In SR_DT.Rows
Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID"))
If RG_ANH IsNot Nothing Then
For Each ANH In RG_ANH
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
'Rechnungsanhänge anfügen
'-----------------------------------------------------------------
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
For Each r In SR_DT.Rows
Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID"))
If RG_ANH IsNot Nothing Then
For Each ANH In RG_ANH
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
Next
End If
Next
End If
Next
End If
'-----------------------------------------------------------------
'-----------------------------------------------------------------
addAttachments(Mail, lastAktuelle_RgNr, cbxMergePDF.Checked)
addAttachments(Mail, lastAktuelle_RgNr, cbxMergePDF.Checked)
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
Try
Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.com"
Catch ex2 As Exception
MsgBox(ex2.Message)
End Try
End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
Try
Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.com"
Catch ex2 As Exception
MsgBox(ex2.Message)
End Try
End If
Mail.Display()
'------------------------------------------------------------------------------------------
' STB /FA SR: ABFRAGE FISKAL-VZ
If isFiskal Then
send_StbFAMail(AD.AdressenNr, " Rg-Nr.: " & lastAktuelle_RgNr, lastAktuelle_RgNr)
End If
Mail.Display()
'------------------------------------------------------------------------------------------
' STB /FA SR: ABFRAGE FISKAL-VZ
If isFiskal Then
send_StbFAMail(AD.AdressenNr, " Rg-Nr.: " & lastAktuelle_RgNr, lastAktuelle_RgNr)
End If
'------------------------------------------------------------------------------------------
End If
@@ -692,8 +679,11 @@ Public Class frmFaktEmail
accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True)
Case 19
accountToSent = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!!
Case 7
accountToSent = "rechnung@atilla-spedition.com"
Case Else
accountToSent = "rechnungsversand@verag.ag"
End Select

View File

@@ -401,7 +401,7 @@ Partial Class frmFaktSammelRgDrucken
'cbxAUTOMail
'
Me.cbxAUTOMail.AutoSize = True
Me.cbxAUTOMail.Location = New System.Drawing.Point(555, 44)
Me.cbxAUTOMail.Location = New System.Drawing.Point(532, 66)
Me.cbxAUTOMail.Name = "cbxAUTOMail"
Me.cbxAUTOMail.Size = New System.Drawing.Size(116, 17)
Me.cbxAUTOMail.TabIndex = 30

View File

@@ -58,6 +58,8 @@ Public Class frmFaktSammelRgDrucken
Case 7 : txtZeitraumBis.Text = Now.ToShortDateString : lblSB.Visible = True : cboSB.Visible = True : cboSB.changeItem(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME)
End Select
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then cbxAUTOMail.Visible = True : pnlAUTOMailversand.Visible = True
initDGV()
End Sub
@@ -65,53 +67,153 @@ Public Class frmFaktSammelRgDrucken
Sub initDGV()
With MyDatagridview1
Dim whereAbfArt = ""
Dim whereMWST = ""
'Dim whereAbfArt = ""
'Dim whereMWST = ""
'Dim abfertigungsarten = getValues()
'If Sammelrechung <> 6 AndAlso abfertigungsarten <> "" Then
' whereAbfArt = " AND (SELECT Abfertigungsart FROM Speditionsbuch WHERE Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr) IN (" & abfertigungsarten & ") "
'End If
'If cbxMWST.CheckState.Indeterminate Then
' whereMWST = ""
'Else
' whereMWST = "AND isnull(tblKundenErweitert.kde_keineMWSt,0) = " & IIf(cbxMWST.Checked, "1", "0")
'End If
'If cbxAUTOMail.Checked Or Not cbxAUTOMail.Checked Then
' whereMWST = " AND isnull(Rechnungsausgang.Automailversand,0) = " & IIf(cbxAUTOMail.Checked, "1", "0")
' whereAbfArt &= " AND isnull(Rechnungsausgang.Automailversand,0) = " & IIf(cbxAUTOMail.Checked, "1", "0")
'End If
'Dim sqlStr = ""
'Select Case Sammelrechung
' Case 6 ' Maut Sammelrechnung
' sqlStr = " SELECT Rechnungsausgang.RechnungsKundenNr, max(Rechnungsausgang.[RechnungsName 1]) as [RechnungsName 1],0 as AvisoId,max(Rechnungsausgang.[RechnungsLandKz]) as [RechnungsLandKz] , count(*) as Anzahl, SUM(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Summe,sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer, isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST
' ,(SELECT CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' ELSE '-' END FROM Adressen WHERE AdressenNr=Rechnungsausgang.RechnungsKundenNr ) as Rechnungsdruck
' FROM Rechnungsausgang left join tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
' WHERE Rechnungsausgang.Status IN (2) And Rechnungsausgang.Firma_ID = '" & cboFirma._value & "' And Rechnungsausgang.Sammelrechnung = 6 And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" & txtRechnungsdatum._value & "'
' " & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "' ", "") & "
' " & whereAbfArt & " " & whereMWST & "
' GROUP BY RechnungsKundenNr, isnull(tblKundenErweitert.kde_keineMWSt,0)
' ORDER BY RechnungsLandKz, RechnungsKundenNr "
' Case Else
' sqlStr = " SELECT Rechnungsausgang.RechnungsKundenNr, max(Rechnungsausgang.[RechnungsName 1]) as [RechnungsName 1]," & If(Sammelrechung = 7, "AvisoId", "0") & " as AvisoId,max(Rechnungsausgang.[RechnungsLandKz]) as [RechnungsLandKz] , count(*) as Anzahl, SUM(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Summe" & If(Sammelrechung = 7, ",max([LKW Kennzeichen]) as LKW", "") & "
' ,(SELECT CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' ELSE '-' END FROM Adressen WHERE AdressenNr=Rechnungsausgang.RechnungsKundenNr ) as Rechnungsdruck
' FROM Rechnungsausgang
' WHERE Rechnungsausgang.Status IN (0,2) And Rechnungsausgang.Firma_ID = '" & cboFirma._value & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechung & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) <= '" & txtZeitraumBis._value & "'
' " & If(Sammelrechung = 7 And cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "' ", "") & "
' " & whereAbfArt & "
' AND Rechnungsausgang.FakturierungsGruppe='" & cboFaktGrp._value & "'
' GROUP BY RechnungsKundenNr " & If(Sammelrechung = 7, ",AvisoId", "") & "
' ORDER BY Rechnungsausgang.RechnungsKundenNr "
'End Select
Dim whereAbfArt As String = ""
Dim whereMWST As String = ""
Dim whereAutoMail As String = ""
Dim abfertigungsarten = getValues()
' Abfertigungsarten
If Sammelrechung <> 6 AndAlso abfertigungsarten <> "" Then
whereAbfArt = " AND (SELECT Abfertigungsart FROM Speditionsbuch WHERE Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr) IN (" & abfertigungsarten & ") "
End If
If cbxMWST.CheckState.Indeterminate Then
whereMWST = ""
Else
whereMWST = "AND isnull(tblKundenErweitert.kde_keineMWSt,0) = " & IIf(cbxMWST.Checked, "1", "0")
whereAbfArt = " AND (SELECT Abfertigungsart
FROM Speditionsbuch
WHERE Speditionsbuch.FilialenNr = Rechnungsausgang.FilialenNr
AND Speditionsbuch.AbfertigungsNr = Rechnungsausgang.AbfertigungsNr
AND Speditionsbuch.UnterNr = Rechnungsausgang.SpeditionsbuchUnterNr
) IN (" & abfertigungsarten & ") "
End If
If cbxAUTOMail.Checked Or Not cbxAUTOMail.Checked Then
whereMWST = " AND isnull(Rechnungsausgang.Automailversand,0) = " & IIf(cbxAUTOMail.Checked, "1", "0")
' MWST
If Not cbxMWST.CheckState = CheckState.Indeterminate Then
whereMWST = " AND ISNULL(tblKundenErweitert.kde_keineMWSt,0) = " & If(cbxMWST.Checked, "1", "0")
End If
Dim sqlStr = ""
whereAutoMail = " AND ISNULL(Rechnungsausgang.Automailversand,0) = " & If(cbxAUTOMail.Checked, "1", "0")
Dim sqlStr As String = ""
Select Case Sammelrechung
Case 6 ' Maut Sammelrechnung
sqlStr = " SELECT Rechnungsausgang.RechnungsKundenNr, max(Rechnungsausgang.[RechnungsName 1]) as [RechnungsName 1],0 as AvisoId,max(Rechnungsausgang.[RechnungsLandKz]) as [RechnungsLandKz] , count(*) as Anzahl, SUM(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Summe,sum(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer, isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST
,(SELECT CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' ELSE '-' END FROM Adressen WHERE AdressenNr=Rechnungsausgang.RechnungsKundenNr ) as Rechnungsdruck
FROM Rechnungsausgang left join tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
WHERE Rechnungsausgang.Status IN (2) And Rechnungsausgang.Firma_ID = '" & cboFirma._value & "' And Rechnungsausgang.Sammelrechnung = 6 And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" & txtRechnungsdatum._value & "'
" & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "' ", "") & "
" & whereAbfArt & " " & whereMWST & "
GROUP BY RechnungsKundenNr, isnull(tblKundenErweitert.kde_keineMWSt,0)
ORDER BY RechnungsLandKz, RechnungsKundenNr "
sqlStr = "
SELECT
Rechnungsausgang.RechnungsKundenNr,
MAX(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1],
0 AS AvisoId,
MAX(Rechnungsausgang.[RechnungsLandKz]) AS [RechnungsLandKz],
COUNT(*) AS Anzahl,
SUM(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Summe,
SUM(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Steuer,
ISNULL(tblKundenErweitert.kde_keineMWSt,0) AS keineMWST,
(SELECT CASE
WHEN Rechnungsdruck = 0 THEN 'POST'
WHEN Rechnungsdruck = 1 THEN 'FAX'
WHEN Rechnungsdruck = 2 THEN 'E-MAIL'
ELSE '-' END
FROM Adressen
WHERE AdressenNr = Rechnungsausgang.RechnungsKundenNr) AS Rechnungsdruck
FROM Rechnungsausgang
LEFT JOIN tblKundenErweitert
ON tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
WHERE
Rechnungsausgang.Status = 2
AND Rechnungsausgang.Firma_ID = '" & cboFirma._value & "'
AND Rechnungsausgang.Sammelrechnung = " & Sammelrechung & "
AND CONVERT(DATE, Rechnungsausgang.Abfertigungsdatum, 104) = '" & txtRechnungsdatum._value & "'
" & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & "
" & whereAbfArt & whereMWST & whereAutoMail & "
GROUP BY
RechnungsKundenNr,
ISNULL(tblKundenErweitert.kde_keineMWSt,0)
ORDER BY
RechnungsLandKz, RechnungsKundenNr"
Case Else
sqlStr = " SELECT Rechnungsausgang.RechnungsKundenNr, max(Rechnungsausgang.[RechnungsName 1]) as [RechnungsName 1]," & If(Sammelrechung = 7, "AvisoId", "0") & " as AvisoId,max(Rechnungsausgang.[RechnungsLandKz]) as [RechnungsLandKz] , count(*) as Anzahl, SUM(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Summe" & If(Sammelrechung = 7, ",max([LKW Kennzeichen]) as LKW", "") & "
,(SELECT CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' ELSE '-' END FROM Adressen WHERE AdressenNr=Rechnungsausgang.RechnungsKundenNr ) as Rechnungsdruck
FROM Rechnungsausgang
WHERE Rechnungsausgang.Status IN (0,2) And Rechnungsausgang.Firma_ID = '" & cboFirma._value & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechung & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) <= '" & txtZeitraumBis._value & "'
" & If(Sammelrechung = 7 And cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "' ", "") & "
" & whereAbfArt & "
AND Rechnungsausgang.FakturierungsGruppe='" & cboFaktGrp._value & "'
GROUP BY RechnungsKundenNr " & If(Sammelrechung = 7, ",AvisoId", "") & "
ORDER BY Rechnungsausgang.RechnungsKundenNr "
sqlStr = "
SELECT
min(Rechnungsausgang.RechnungsNr) as RENR,
Rechnungsausgang.RechnungsKundenNr,
MAX(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1],
" & If(Sammelrechung = 7, "AvisoId", "0") & " AS AvisoId,
MAX(Rechnungsausgang.[RechnungsLandKz]) AS [RechnungsLandKz],
COUNT(*) AS Anzahl,
SUM(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Summe
" & If(Sammelrechung = 7, ", MAX([LKW Kennzeichen]) AS LKW", "") & ",
(SELECT CASE
WHEN Rechnungsdruck = 0 THEN 'POST'
WHEN Rechnungsdruck = 1 THEN 'FAX'
WHEN Rechnungsdruck = 2 THEN 'E-MAIL'
ELSE '-' END
FROM Adressen
WHERE AdressenNr = Rechnungsausgang.RechnungsKundenNr) AS Rechnungsdruck
FROM Rechnungsausgang
WHERE
Rechnungsausgang.Status IN (0,2)
AND Rechnungsausgang.Firma_ID = '" & cboFirma._value & "'
AND Rechnungsausgang.Sammelrechnung = '" & Sammelrechung & "'
AND CONVERT(DATE, Rechnungsausgang.Abfertigungsdatum, 104) <= '" & txtZeitraumBis._value & "'
" & If(Sammelrechung = 7 AndAlso cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & "
" & whereAbfArt & whereAutoMail & "
AND Rechnungsausgang.FakturierungsGruppe='" & cboFaktGrp._value & "'
GROUP BY
RechnungsKundenNr " & If(Sammelrechung = 7, ", AvisoId", "") & "
ORDER BY
Rechnungsausgang.RechnungsKundenNr"
End Select
'Rechnungsausgang.Status IN (0,2) --> vormals nur 2
.SET_SQL(sqlStr, "FMZOLL")
.LOAD()
@@ -137,8 +239,12 @@ Public Class frmFaktSammelRgDrucken
.Columns("RechnungsLandKz").Visible = True
End If
If .Columns.Contains("keineMWST") Then
.Columns("keineMWST").Visible = False
If .Columns.Contains("keineMWST") Then
.Columns("keineMWST").Visible = False
End If
If .Columns.Contains("RENR") Then
.Columns("RENR").Visible = False
End If
If .Columns.Contains("Steuer") Then
@@ -558,21 +664,73 @@ Public Class frmFaktSammelRgDrucken
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If MyDatagridview1.SelectedRows.Count > 0 Then
If vbYes = MsgBox("Möchten Sie alle markieren Rechnungen den automatischen Emailversand aktivieren?" & vbNewLine & "Die Rechnungen werden automatisch im Nachtlauf per EMail verschickt!", vbYesNoCancel) Then
setMailversand(True, 19, 6, 2)
Dim noRENRExisting As Boolean = False
If MyDatagridview1.Columns.Contains("RENR") Then
noRENRExisting = MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("RENR").Value Is Nothing OrElse IsDBNull(r.Cells("RENR").Value))
If noRENRExisting Then
If cboFirma._value = "" Then MsgBox("Bitte Firma angeben!") : Exit Sub
If txtZeitraumBis.Text = "" Then MsgBox("Bitte Zeitraum-Bis angeben!") : Exit Sub
If txtRechnungsdatum.Text = "" Then MsgBox("Bitte Rechnungsdatum angeben!") : Exit Sub
If vbYes = MsgBox("Es wird eine Belegsnummer vergeben, die Belege gelten somit als gedruckt und können nicht mehr bearbeitet werden.", vbYesNoCancel) Then
For Each r In MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Where(Function(x) x.Cells("RENR").Value Is Nothing OrElse IsDBNull(x.Cells("RENR").Value))
If IsDate(txtRechnungsdatum.Text) AndAlso IsDate(txtZeitraumBis.Text) AndAlso Not IsDBNull(r.Cells("RechnungsLandKz").Value) AndAlso Not IsDBNull(r.Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(r.Cells("RechnungsKundenNr").Value) Then
Me.Enabled = False
Me.Cursor = Cursors.WaitCursor
Dim listPDFs As New List(Of String)
Dim SonstAnlagen As New List(Of String)
Dim RechnungsNrisSet As Boolean = False
Dim abfertigungsarten = getValues()
RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr, 7, listPDFs, cboSB._value,,, getAvisoIds, cbxEVOLOG.Checked, SonstAnlagen, , cbxTransFerry.Checked, cboFaktGrp._value, abfertigungsarten,,, True)
If Not RechnungsNrisSet Then
MsgBox("Fehler bei RechnungsNrErzeugung!")
End If
Me.Enabled = True
End If
Next
Me.Enabled = True
Me.Cursor = Cursors.Default
Else
End If
End If
End If
setMailversand_ALL(True, Firma, Sammelrechung, 2)
Me.Enabled = True
Me.Cursor = Cursors.Default
End If
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
If MyDatagridview1.SelectedRows.Count > 0 Then
If vbYes = MsgBox("Möchten Sie für alle markieren Rechnungen den automatischen Emailversand deaktiveren?" & vbNewLine & "Die Rechnungen müssen dann manuell per Mail verschickt werden!", vbYesNoCancel) Then
setMailversand(False, 19, 6, 2)
'setMailversand(false, Firma, Sammelrechung, 2)
setMailversand_ALL(False, Firma, Sammelrechung, 2)
End If
End If
@@ -593,6 +751,7 @@ Public Class frmFaktSammelRgDrucken
For Each r As DataGridViewRow In MyDatagridview1.SelectedRows
If IsDate(txtRechnungsdatum.Text) AndAlso r.Cells("RechnungsLandKz").Value <> "" AndAlso IsNumeric(r.Cells("RechnungsKundenNr").Value) Then
If (New SQL).doSQL("UPDATE Rechnungsausgang set Automailversand = " & mailversandString &
" from Rechnungsausgang left join tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr where Rechnungsausgang.Status In (" & Status & ") And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnung & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" &
CDate(txtRechnungsdatum.Text).ToShortDateString & "' and RechnungsKundenNr = " & r.Cells("RechnungsKundenNr").Value & " and RechnungsLandKz = '" & r.Cells("RechnungsLandKz").Value & " ' and isnull(Automailversand, 0) <> " & mailversandString &
@@ -609,6 +768,60 @@ Public Class frmFaktSammelRgDrucken
End Function
Private Function setMailversand_ALL(Mailversand As Boolean, FirmaID As Integer, Sammelrechnung As Integer, Status As Integer) As Boolean
Dim count As Integer = 0
Dim mailversandString As String = If(Mailversand, "1", "0")
Dim whereMWST As String = ""
Dim whereAutoMail As String = ""
' MWST Filter
If cbxMWST.CheckState <> CheckState.Indeterminate Then
whereMWST = " AND ISNULL(tblKundenErweitert.kde_keineMWSt,0) = " & If(cbxMWST.Checked, "1", "0")
End If
' Automail Filter (nur ändern wenn unterschiedlich)
whereAutoMail = " AND ISNULL(Rechnungsausgang.Automailversand,0) <> " & mailversandString
For Each r As DataGridViewRow In MyDatagridview1.SelectedRows
Dim sql As String = ""
If IsDate(txtRechnungsdatum.Text) AndAlso Not IsDBNull(r.Cells("RechnungsLandKz").Value) AndAlso Not IsDBNull(r.Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(r.Cells("RechnungsKundenNr").Value) Then
sql = "UPDATE Rechnungsausgang SET Automailversand = " & mailversandString & " FROM Rechnungsausgang LEFT JOIN tblKundenErweitert ON tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
WHERE
Rechnungsausgang.Status IN (" & Status & ")
AND Rechnungsausgang.Firma_ID = '" & FirmaID & "'
AND Rechnungsausgang.Sammelrechnung = '" & Sammelrechnung & "'
AND CONVERT(DATE, Rechnungsausgang.Rechnungsdatum, 104) = '" & CDate(txtRechnungsdatum.Text).ToShortDateString & "'
AND Rechnungsausgang.RechnungsKundenNr = " & r.Cells("RechnungsKundenNr").Value & "
AND Rechnungsausgang.RechnungsLandKz = '" & r.Cells("RechnungsLandKz").Value.ToString.Trim & "'
" & whereAutoMail & "
" & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "'", "") & "
" & whereMWST
End If
If (New SQL).doSQL(sql, "FMZOLL") Then
count += 1
End If
Next
If count <> MyDatagridview1.SelectedRows.Count Then
MsgBox("ACHTUNG" & vbNewLine &
"Der automatische Mailversand wurde nur bei " & count & " Rechnungen " &
If(Mailversand, "aktiviert!", "deaktiviert!") & vbNewLine &
"Markiert waren " & MyDatagridview1.SelectedRows.Count & " Rechnungen!")
End If
End Function
Private Sub cbxAUTOMail_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAUTOMail.CheckedChanged
@@ -638,7 +851,7 @@ Public Class frmFaktSammelRgDrucken
If IsNumeric(MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value) Then
Dim dtRE As DataTable = (New SQL).loadDgvBySql("select RK_ID, RechnungsNr, FilialenNr from Rechnungsausgang where RechnungsKundenNr = " & MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value & " AND cast(RechnungsDatum as Date) = '" & txtRechnungsdatum._value & "' AND Sammelrechnung = 6" & IIf(Firma > 0, " AND Firma_ID =" & Firma, ""), "FMZOLL")
Dim dtRE As DataTable = (New SQL).loadDgvBySql("select RK_ID, RechnungsNr, FilialenNr from Rechnungsausgang where RechnungsKundenNr = " & MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value & " AND cast(RechnungsDatum as Date) = '" & txtRechnungsdatum._value & "' AND Sammelrechnung = " & Sammelrechung & IIf(Firma > 0, " AND Firma_ID =" & Firma, ""), "FMZOLL")
If dtRE.Rows.Count > 0 Then
Dim RK_ID As String = ""
@@ -696,11 +909,11 @@ Public Class frmFaktSammelRgDrucken
If MyDatagridview1.SelectedRows.Count > 0 Then
If Not vbYes = MsgBox("Möchten Sie für alle markieren Rechnungen den automatischen Emailversand JETZT durchführen?" & vbNewLine & "Ansonten werden sie im Nachtlauf automatisch versendet!", vbYesNoCancel) Then Exit Sub
If Not vbYes = MsgBox("Möchten Sie für alle markieren Rechnungen den automatischen Emailversand JETZT durchführen?" & vbNewLine & "Ansonsten werden sie im Nachtlauf automatisch versendet!", vbYesNoCancel) Then Exit Sub
Dim fun As New cAutomailversand
For Each r In MyDatagridview1.SelectedRows
fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), 6, 19, r.Cells("RechnungsKundenNr").Value, cbxMailoeffnen.Checked)
fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), Sammelrechung, Firma, r.Cells("RechnungsKundenNr").Value, cbxMailoeffnen.Checked)
Next
initDGV()

View File

@@ -288,6 +288,7 @@ Partial Class usrCntlFaktAbrechnung
Me.GutschriftAnVeragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.VeragAGToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.VeragCSToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.cbxAUTOMailversand = New System.Windows.Forms.CheckBox()
Me.pnlTop.SuspendLayout()
Me.Panel3.SuspendLayout()
Me.Panel1.SuspendLayout()
@@ -804,6 +805,7 @@ Partial Class usrCntlFaktAbrechnung
'Panel1
'
Me.Panel1.AutoScroll = True
Me.Panel1.Controls.Add(Me.cbxAUTOMailversand)
Me.Panel1.Controls.Add(Me.Button17)
Me.Panel1.Controls.Add(Me.txtTextZZ)
Me.Panel1.Controls.Add(Me.dgvAnhaenge)
@@ -4057,6 +4059,17 @@ Partial Class usrCntlFaktAbrechnung
Me.VeragCSToolStripMenuItem.Size = New System.Drawing.Size(122, 22)
Me.VeragCSToolStripMenuItem.Text = "Verag CS"
'
'cbxAUTOMailversand
'
Me.cbxAUTOMailversand.AutoSize = True
Me.cbxAUTOMailversand.Location = New System.Drawing.Point(697, 142)
Me.cbxAUTOMailversand.Name = "cbxAUTOMailversand"
Me.cbxAUTOMailversand.Size = New System.Drawing.Size(116, 17)
Me.cbxAUTOMailversand.TabIndex = 241
Me.cbxAUTOMailversand.Text = "AUTO Mailversand"
Me.cbxAUTOMailversand.UseVisualStyleBackColor = True
Me.cbxAUTOMailversand.Visible = False
'
'usrCntlFaktAbrechnung
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -4351,4 +4364,5 @@ Partial Class usrCntlFaktAbrechnung
Friend WithEvents cboVorauskasse As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents cboRgArt As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents Label57 As Label
Friend WithEvents cbxAUTOMailversand As CheckBox
End Class

View File

@@ -142,6 +142,7 @@ Public Class usrCntlFaktAbrechnung
Label40.Visible = False
sbLeistung._value = ""
cbxOriginalPrint.Checked = False
cbxAUTOMailversand.Checked = False
If RK_ID_TMP > 0 Then
RECHNUNG = New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID_TMP)
@@ -302,6 +303,7 @@ Public Class usrCntlFaktAbrechnung
txtErfassungsnummer.Text = If(RECHNUNG.ErfassungsNr, "")
cboRechnungNotiz.Text = If(RECHNUNG.Notiz, "")
cbxAUTOMailversand.Checked = RECHNUNG.Automailversand
initRgArt()
cboRgArt._value = RECHNUNG.Rechnungsart
@@ -544,6 +546,10 @@ Public Class usrCntlFaktAbrechnung
FirmaTmp = "VERAG360"
End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
cbxAUTOMailversand.Visible = True
End If
cboVorauskasse.Items.Clear()
cboVorauskasse.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("NEIN", 0))
cboVorauskasse.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("JA", 1))
@@ -2496,6 +2502,8 @@ Public Class usrCntlFaktAbrechnung
RECHNUNG.KdAuftragsNr = cProgramFunctions.isLeerNothing(txtKdAuftragsNr.Text)
RECHNUNG.Automailversand = cbxAUTOMailversand.Checked
If RECHNUNG.Abfertigungsdatum < CDate("01.01.2000") Then RECHNUNG.Abfertigungsdatum = Now
If dgvOffertenSperrliste.SelectedRows.Count > 0 Then RECHNUNG.OffertenNr = dgvOffertenSperrliste.SelectedRows(0).Cells("OffertenNr").Value 'Wenn mehrfachauswahl möcglich-> Ändern

View File

@@ -544,7 +544,7 @@ Public Class frmMDM_USTVAntrag
Antrag_LandKz = SQL.DLookup("LandKz", "[Länderverzeichnis für die Außenhandelsstatistik]", "Landnr='" & USTV_ANTRAG.UStVAn_LandNr & "'", "FMZOLL")
setValue(USTV_ANTRAG)
If CInt(USTV_ANTRAG.UStVAn_KuNr) >= 150000 AndAlso CInt(USTV_ANTRAG.UStVAn_KuNr) < 160000 Then
If (CInt(USTV_ANTRAG.UStVAn_KuNr) >= 150000 AndAlso CInt(USTV_ANTRAG.UStVAn_KuNr) < 160000) Or (CInt(USTV_ANTRAG.UStVAn_KuNr) >= 180000 AndAlso CInt(USTV_ANTRAG.UStVAn_KuNr) < 190000) Then
btnRMCQuartal.Visible = True
Else
btnRMCQuartal.Visible = False
@@ -4088,20 +4088,26 @@ Public Class frmMDM_USTVAntrag
Private Sub btnRMCQuartal_Click(sender As Object, e As EventArgs) Handles btnRMCQuartal.Click
Dim rmc As cRMC
Dim nurUnter50EurAnzeigen As Boolean = True
Dim input = InputBox("Bitte geben Sie das gewünschte Quartal ein:", "RMC Quartalsgebühren")
If input <> "" AndAlso IsNumeric(input) AndAlso CInt(input) < 5 AndAlso CInt(input) > 0 Then
Select Case MsgBox("Sollen nur Anträge angezeigt werden, deren Bearbeitung pro Quartal unter 50EUR liegt?", vbYesNo)
Case vbYes : nurUnter50EurAnzeigen = True
Case vbNo : nurUnter50EurAnzeigen = False
End Select
Dim rmc As cRMC
Dim nurUnter50EurAnzeigen As Boolean = True
Select Case MsgBox("Sollen nur Anträge angezeigt werden, deren Bearbeitung pro Quartal unter 50EUR liegt?", vbYesNo)
Case vbYes : nurUnter50EurAnzeigen = True
Case vbNo : nurUnter50EurAnzeigen = False
End Select
Dim dt = rmc.getRMCQuartalsAbrechnungen(SQL, CInt(input), Now.Year, "373, 374", USTV_ANTRAG, Antrag_LandKz, nurUnter50EurAnzeigen)
If dt.Rows.Count > 0 Then
cProgramFunctions.genExcelFromDT_NEW(dt)
Else
MsgBox("keine Daten für ausgewählten Zeitraum")
End If
Dim dt = rmc.getRMCQuartalsAbrechnungen(SQL, 1, Now.Year, "327", USTV_ANTRAG, Antrag_LandKz, nurUnter50EurAnzeigen)
If dt.Rows.Count > 0 Then
cProgramFunctions.genExcelFromDT_NEW(dt)
Else
MsgBox("keine Daten für ausgewählten Zeitraum")
End If

View File

@@ -230,6 +230,7 @@ Public Class frmDakosyStammreferenzVerwalten
cboNL.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("NEU", "NEU"))
cboNL.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("NKD", "NKD"))
cboNL.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DTB", "DTB"))
cboNL.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBWO", "AMBWO"))
cboNL.changeItem("")
Case "IMEX"

View File

@@ -50,14 +50,15 @@ Partial Class frmNacherfassungLeihgeld
Me.Label11 = New System.Windows.Forms.Label()
Me.cbxProvisionAuftraggeber = New System.Windows.Forms.CheckBox()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.cbxProvinMAKassa = New System.Windows.Forms.CheckBox()
Me.txtAuftrProvision = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.cboProvisionBetrag = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.cboProvisionStaffel = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.txtProvisionProzent = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.cboProvisionStaffelArt = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.cboPrinter = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.cboPrinterProvisionBeleg = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.cboProvisionStaffel = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.txtProvisionProzent = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.cboProvisionStaffelArt = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.Label44 = New System.Windows.Forms.Label()
Me.txtOpLeihgeld = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.txtKdAuftragsnummer = New VERAG_PROG_ALLGEMEIN.MyTextBox()
@@ -71,7 +72,6 @@ Partial Class frmNacherfassungLeihgeld
Me.txtFahrer = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.cbxOP_sofort_buchen = New System.Windows.Forms.CheckBox()
Me.lblGesperrt = New System.Windows.Forms.Label()
Me.cbxProvinMAKassa = New System.Windows.Forms.CheckBox()
Me.pnl.SuspendLayout()
Me.Panel1.SuspendLayout()
Me.Panel2.SuspendLayout()
@@ -409,6 +409,17 @@ Partial Class frmNacherfassungLeihgeld
Me.Panel1.Size = New System.Drawing.Size(441, 147)
Me.Panel1.TabIndex = 20
'
'cbxProvinMAKassa
'
Me.cbxProvinMAKassa.AutoSize = True
Me.cbxProvinMAKassa.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxProvinMAKassa.Location = New System.Drawing.Point(21, 31)
Me.cbxProvinMAKassa.Name = "cbxProvinMAKassa"
Me.cbxProvinMAKassa.Size = New System.Drawing.Size(138, 17)
Me.cbxProvinMAKassa.TabIndex = 22
Me.cbxProvinMAKassa.Text = "in Mitarbeiter-Kassa"
Me.cbxProvinMAKassa.UseVisualStyleBackColor = True
'
'txtAuftrProvision
'
Me.txtAuftrProvision._DateTimeOnly = False
@@ -457,6 +468,40 @@ Partial Class frmNacherfassungLeihgeld
Me.cboProvisionBetrag.Size = New System.Drawing.Size(124, 26)
Me.cboProvisionBetrag.TabIndex = 8
'
'Panel2
'
Me.Panel2.Controls.Add(Me.Label6)
Me.Panel2.Controls.Add(Me.Label7)
Me.Panel2.Controls.Add(Me.cboPrinter)
Me.Panel2.Controls.Add(Me.cboPrinterProvisionBeleg)
Me.Panel2.Location = New System.Drawing.Point(210, 83)
Me.Panel2.Name = "Panel2"
Me.Panel2.Size = New System.Drawing.Size(228, 59)
Me.Panel2.TabIndex = 21
'
'cboPrinter
'
Me.cboPrinter._allowedValuesFreiText = Nothing
Me.cboPrinter._allowFreiText = False
Me.cboPrinter._value = ""
Me.cboPrinter.FormattingEnabled = True
Me.cboPrinter.Location = New System.Drawing.Point(83, 6)
Me.cboPrinter.Name = "cboPrinter"
Me.cboPrinter.Size = New System.Drawing.Size(131, 21)
Me.cboPrinter.TabIndex = 1
'
'cboPrinterProvisionBeleg
'
Me.cboPrinterProvisionBeleg._allowedValuesFreiText = Nothing
Me.cboPrinterProvisionBeleg._allowFreiText = False
Me.cboPrinterProvisionBeleg._value = ""
Me.cboPrinterProvisionBeleg.Enabled = False
Me.cboPrinterProvisionBeleg.FormattingEnabled = True
Me.cboPrinterProvisionBeleg.Location = New System.Drawing.Point(83, 30)
Me.cboPrinterProvisionBeleg.Name = "cboPrinterProvisionBeleg"
Me.cboPrinterProvisionBeleg.Size = New System.Drawing.Size(131, 21)
Me.cboPrinterProvisionBeleg.TabIndex = 3
'
'cboProvisionStaffel
'
Me.cboProvisionStaffel._allowedValuesFreiText = Nothing
@@ -505,40 +550,6 @@ Partial Class frmNacherfassungLeihgeld
Me.cboProvisionStaffelArt.Size = New System.Drawing.Size(156, 21)
Me.cboProvisionStaffelArt.TabIndex = 3
'
'Panel2
'
Me.Panel2.Controls.Add(Me.Label6)
Me.Panel2.Controls.Add(Me.Label7)
Me.Panel2.Controls.Add(Me.cboPrinter)
Me.Panel2.Controls.Add(Me.cboPrinterProvisionBeleg)
Me.Panel2.Location = New System.Drawing.Point(210, 83)
Me.Panel2.Name = "Panel2"
Me.Panel2.Size = New System.Drawing.Size(228, 59)
Me.Panel2.TabIndex = 21
'
'cboPrinter
'
Me.cboPrinter._allowedValuesFreiText = Nothing
Me.cboPrinter._allowFreiText = False
Me.cboPrinter._value = ""
Me.cboPrinter.FormattingEnabled = True
Me.cboPrinter.Location = New System.Drawing.Point(83, 6)
Me.cboPrinter.Name = "cboPrinter"
Me.cboPrinter.Size = New System.Drawing.Size(131, 21)
Me.cboPrinter.TabIndex = 1
'
'cboPrinterProvisionBeleg
'
Me.cboPrinterProvisionBeleg._allowedValuesFreiText = Nothing
Me.cboPrinterProvisionBeleg._allowFreiText = False
Me.cboPrinterProvisionBeleg._value = ""
Me.cboPrinterProvisionBeleg.Enabled = False
Me.cboPrinterProvisionBeleg.FormattingEnabled = True
Me.cboPrinterProvisionBeleg.Location = New System.Drawing.Point(83, 30)
Me.cboPrinterProvisionBeleg.Name = "cboPrinterProvisionBeleg"
Me.cboPrinterProvisionBeleg.Size = New System.Drawing.Size(131, 21)
Me.cboPrinterProvisionBeleg.TabIndex = 3
'
'Label44
'
Me.Label44.AutoSize = True
@@ -810,6 +821,7 @@ Partial Class frmNacherfassungLeihgeld
'cbxOP_sofort_buchen
'
Me.cbxOP_sofort_buchen.AutoSize = True
Me.cbxOP_sofort_buchen.Enabled = False
Me.cbxOP_sofort_buchen.Location = New System.Drawing.Point(291, 290)
Me.cbxOP_sofort_buchen.Name = "cbxOP_sofort_buchen"
Me.cbxOP_sofort_buchen.Size = New System.Drawing.Size(145, 17)
@@ -829,17 +841,6 @@ Partial Class frmNacherfassungLeihgeld
Me.lblGesperrt.Text = "gesperrt!"
Me.lblGesperrt.Visible = False
'
'cbxProvinMAKassa
'
Me.cbxProvinMAKassa.AutoSize = True
Me.cbxProvinMAKassa.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxProvinMAKassa.Location = New System.Drawing.Point(21, 31)
Me.cbxProvinMAKassa.Name = "cbxProvinMAKassa"
Me.cbxProvinMAKassa.Size = New System.Drawing.Size(138, 17)
Me.cbxProvinMAKassa.TabIndex = 22
Me.cbxProvinMAKassa.Text = "in Mitarbeiter-Kassa"
Me.cbxProvinMAKassa.UseVisualStyleBackColor = True
'
'frmNacherfassungLeihgeld
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)

View File

@@ -523,10 +523,20 @@ Public Class frmNacherfassungLeihgeld
RG.FilialenNr = SPEDBUCH.FilialenNr
RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum
RG.Sammelrechnung = 0
RG.BelegartenKz = "AR"
RG.BelegartenNr = 70
RG.BelegartenBez = "Rechnung"
RG.Vorzeichen = "+"
If summeBRUTTO >= 0 Then
RG.BelegartenNr = 70
RG.BelegartenKz = "AR"
RG.BelegartenBez = "Rechnung"
RG.Vorzeichen = "+"
Else
RG.BelegartenNr = 71
RG.BelegartenKz = "AG"
RG.BelegartenBez = "Gutschrift"
RG.Vorzeichen = "-"
End If
RG.VermittlerKundenNr = AD.AdressenNr
RG.VermittlerLandKz = AD.LandKz