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

View File

@@ -1,5 +1,4 @@
Imports System.IO Imports System.IO
Imports com.sun.tools.doclets.internal.toolkit.util
Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN 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 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 LEFT JOIN tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr
INNER JOIN Währungstabelle on LandKz = Rechnungsausgang.RechnungsLandKz 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, "") & " 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 GROUP BY RechnungsNr, RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0),RechnungsLandKz, MitgliedslandEU
ORDER BY RechnungsLandKz, RechnungsKundenNr" ORDER BY RechnungsLandKz, RechnungsKundenNr"
@@ -22,35 +21,41 @@ Public Class cAutomailversand
For Each row As DataRow In dt.Rows For Each row As DataRow In dt.Rows
Dim BelegartenNr = "70"
Dim steuerbetrag As Double = 0
Dim SR_DT As DataTable = Nothing Dim SR_DT As DataTable = Nothing
Dim RechnungsNr As Integer = -1 Dim RechnungsNr As Integer = -1
Dim DruckDatumZeit As DateTime Dim DruckDatumZeit As DateTime
Dim Rechnungsdatum = Nothing Dim Rechnungsdatum = Nothing
Dim ATTACHMENTS As New List(Of cFakt_MailATTach) Dim ATTACHMENTS As New List(Of cFakt_MailATTach)
'AKTUELL IMMER MIT KOPIE If FirmaID = 19 Then
MDMKopiedrucken = True
Dim isEU As Boolean = row.Item("MitgliedslandEU")
If isEU Then 'AKTUELL IMMER MIT KOPIE
If row.Item("keineMWST") Then MDMKopiedrucken = True
'1. Schritt: kein MWST Kunde -> ORIGINAL-RE per Mail! Dim isEU As Boolean = row.Item("MitgliedslandEU")
MDMKopiedrucken = Not row.Item("keineMWST")
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 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 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 AD = New VERAG_PROG_ALLGEMEIN.cAdressen(row.Item("RechnungsKundenNr"))
Dim FISKAL = New cFiskal_Daten(row.Item("RechnungsKundenNr"))
If RechnungsNr = -1 Then If RechnungsNr = -1 Then
If SR_DT.Rows.Count > 0 Then If SR_DT.Rows.Count > 0 Then
@@ -60,12 +65,16 @@ Public Class cAutomailversand
RechnungsNr = distinctDT_SR.Rows(0).Item("RechnungsNr") RechnungsNr = distinctDT_SR.Rows(0).Item("RechnungsNr")
DruckDatumZeit = distinctDT_SR.Rows(0).Item("DruckDatumZeit") DruckDatumZeit = distinctDT_SR.Rows(0).Item("DruckDatumZeit")
Rechnungsdatum = distinctDT_SR.Rows(0).Item("Rechnungsdatum") 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 End If
End If End If
Dim SR As Boolean = True Dim SR As Boolean = True
Dim MailTo As String = "" Dim MailTo As String = ""
@@ -101,13 +110,14 @@ Public Class cAutomailversand
End If End If
'im TESTSYSTEM bewusst die Empfänger leeren!
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
MailTo = "" MailTo = ""
MailtoCC = "" MailtoCC = ""
MailtoBCC = "mmdabrechnung@verag.ag" MailtoBCC = setAccountToSend(FirmaID)
Else Else
MailtoBCC = "mmdabrechnung@verag.ag" MailtoBCC = setAccountToSend(FirmaID)
End If End If
@@ -119,8 +129,8 @@ Public Class cAutomailversand
Dim listPDFs As New List(Of String) Dim listPDFs As New List(Of String)
Dim showError As Boolean = False Dim showError As Boolean = False
setEmailText(row, FirmaID, RechnungsNr, Mailsubject, HTMLMail) setEmailText(row, FirmaID, RechnungsNr, Mailsubject, HTMLMail, SammelrechungArt, dt, BelegartenNr)
If doRechnung(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs,,,, showError) Then If do_SR(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs,,,, showError) Then
loadAndSetAnhaenge(SR_DT, ATTACHMENTS, listPDFs) loadAndSetAnhaenge(SR_DT, ATTACHMENTS, listPDFs)
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST" If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
@@ -156,51 +166,99 @@ Public Class cAutomailversand
End Sub 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 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 txtRgNr As String = IIf(RechnungsNr < 0, -1, RechnungsNr)
Dim Mailtext As String 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") Subject = "VERAG Sammel-Rechnung"
Case "TR", "RO", "DE", "SRB" : spracheRechnung = row.Item("RechnungsLandKz") TextHTML &= getSammelRgTExt(getSelectionLandKz(dt), Firma_ID)
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
Else
Dim r As cTextkonserve = listOfTextconserven.LIST.Find(Function(c) c.txt_sprache = spracheRechnung) Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
If r IsNot Nothing Then Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(4, "", Firma_ID)
Subject = r.txt_betreff
Subject = Subject.Replace("%BelegNr%", txtRgNr) Dim spracheRechnung As String = "EN" 'Defaultsprache
TextHTML &= r.txt_text
If Mailtext <> "" Then TextHTML &= Mailtext Select Case row.Item("RechnungsLandKz")
TextHTML &= vbNewLine & vbNewLine 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 If End If
End Sub 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 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 Return RechnungsNrisSet
End Function 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 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 mailcreated As Boolean = False
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
@@ -329,14 +390,14 @@ Public Class cAutomailversand
If Mail IsNot Nothing Then If Mail IsNot Nothing Then
EMails = Mail.To EMails = Mail.To
EMails_CC = Mail.CC EMails_CC = Mail.CC
EMails_BCC = Mail.BCC EMails_BCC = accountToSend 'Mail.BCC
EMail_subject = Mail.Subject EMail_subject = Mail.Subject
EMail_HTML = Mail.Body EMail_HTML = Mail.Body
AttCount = Mail.Attachments.Count AttCount = Mail.Attachments.Count
Else Else
EMails = MailTo EMails = MailTo
EMails_CC = MailtoCC EMails_CC = MailtoCC
EMails_BCC = MailtoBCC EMails_BCC = accountToSend 'MailtoBCC
EMail_subject = Mailsubject EMail_subject = Mailsubject
EMail_HTML = Mailhtml EMail_HTML = Mailhtml
AttCount = ATTACHMENTS.Count 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_EMail = EMails
API.api_EMailCC = EMails_CC API.api_EMailCC = EMails_CC
@@ -383,7 +444,7 @@ Public Class cAutomailversand
Next 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() API.UPDTAE_OK()
mailcreated = True mailcreated = True
Else Else
@@ -402,5 +463,130 @@ Public Class cAutomailversand
Return mailcreated 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 Function
End Class End Class

View File

@@ -4348,12 +4348,8 @@ Public Class cFakturierung
' If FilialeTmp < 0 Then FilialeTmp = RG.FilialenNr 'erstes Mal ' If FilialeTmp < 0 Then FilialeTmp = RG.FilialenNr 'erstes Mal
If FIRMATmp < 0 Then FIRMATmp = RG.Firma_ID '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 If kdTmp <> RG.RechnungsKundenNr Or FIRMATmp <> RG.Firma_ID Then 'Or FilialeTmp <> RG.FilialenNr
' KEIN doSAMMELRechnungsDruck_Abschnitt!!!! ' KEIN doSAMMELRechnungsDruck_Abschnitt!!!!
If Not MDMRENrvoarhanden Then Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr) If Not MDMRENrvoarhanden Then Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
End If End If
kdTmp = RG.RechnungsKundenNr kdTmp = RG.RechnungsKundenNr
FilialeTmp = RG.FilialenNr FilialeTmp = RG.FilialenNr
@@ -4363,12 +4359,16 @@ Public Class cFakturierung
' If FilialeTmp < 0 Then FilialeTmp = RG.FilialenNr 'erstes Mal ' If FilialeTmp < 0 Then FilialeTmp = RG.FilialenNr 'erstes Mal
If FIRMATmp < 0 Then FIRMATmp = RG.Firma_ID '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 If kdTmp <> RG.RechnungsKundenNr Or FIRMATmp <> RG.Firma_ID Then 'Or FilialeTmp <> RG.FilialenNr
Dim path = "" If Not setAutoMailversand Then
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,,,,,, saveInThereFore) Dim path = ""
Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr) doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,,,,,, saveInThereFore)
If path <> "" Then listPDFs.Add(path) 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 End If
kdTmp = RG.RechnungsKundenNr kdTmp = RG.RechnungsKundenNr
FilialeTmp = RG.FilialenNr FilialeTmp = RG.FilialenNr
FIRMATmp = RG.Firma_ID FIRMATmp = RG.Firma_ID
End Select End Select
@@ -4377,8 +4377,8 @@ Public Class cFakturierung
RG.[VorschauID] = VorschauID RG.[VorschauID] = VorschauID
Else Else
If SammelrechungArt = 6 Then If SammelrechungArt = 6 Or (setAutoMailversand And SammelrechungArt <> 6) Then
If RechnungsdruckArt = 7 Then 'RechnungsdruckArt = 7 ist die Erstellung per MDM-Sammelabrechnung! 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.[Status] = 2 'Bei MDM Abrechnung; Druck später!!
RG.Automailversand = setAutoMailversand RG.Automailversand = setAutoMailversand
Else Else
@@ -4413,7 +4413,9 @@ Public Class cFakturierung
'Letzter Abschnitt: 'Letzter Abschnitt:
If found Then If found Then
Dim path = "" 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) If path <> "" Then listPDFs.Add(path)
End If End If
lastAktuelle_RgNr = Aktuelle_RgNr lastAktuelle_RgNr = Aktuelle_RgNr
@@ -4874,7 +4876,7 @@ Public Class cFakturierung
RG_Bezeichnung = "Provisionsabrechnung_" & Now.ToString("yyyyMMdd_HHmmss") & ".pdf" RG_Bezeichnung = "Provisionsabrechnung_" & Now.ToString("yyyyMMdd_HHmmss") & ".pdf"
End If 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) rpt = SammelRechnungAnlagenDruck_MDM(ROW, isMDMRechnungsdruck, dt, FIRMA, Rechnugnsdruck, KD_RG, RechnungsNr, VorschauID, Sammelrechnungskopie, RG_Bezeichnung, SammelrechnungsDT, tmpPath)
Else Else
rpt = SammelRechnungAnlagenDruck(ROW, isMDMRechnungsdruck, dt, FIRMA, Rechnugnsdruck, KD_RG, RechnungsNr, VorschauID, Sammelrechnungskopie, RG_Bezeichnung, SammelrechnungsDT, tmpPath) 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 Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
Public Class frmFaktEmail Public Class frmFaktEmail
Dim RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang Dim RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang
@@ -78,23 +76,8 @@ Public Class frmFaktEmail
End Sub End Sub
Private Sub frmFaktEmail_Load(sender As Object, e As EventArgs) Handles MyBase.Load 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("DE", "DE"))
cboFaStb_Sprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EN", "EN")) cboFaStb_Sprache.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("EN", "EN"))
@@ -546,7 +529,7 @@ Public Class frmFaktEmail
Mail = outl.CreateItem(0) Mail = outl.CreateItem(0)
Mail.Subject = txtSubject.Text 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 Try
Dim oAccount As Outlook.Account Dim oAccount As Outlook.Account
Dim accountToSent = "" Dim accountToSent = ""
@@ -554,109 +537,113 @@ Public Class frmFaktEmail
Select Case Firma_ID Select Case Firma_ID
Case 24 Case 24
accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True) accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True)
Case Else Case 19
accountToSent = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!! accountToSent = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!!
Case 7
accountToSent = "rechnung@atilla-spedition.com"
Case Else
accountToSent = "rechnungsversand@verag.ag"
End Select End Select
If accountToSent <> "" Then If accountToSent <> "" Then
If outl.Session.Accounts.Count > 0 Then If outl.Session.Accounts.Count > 0 Then
For Each oAccount In outl.Session.Accounts For Each oAccount In outl.Session.Accounts
If oAccount.SmtpAddress.ToLower = accountToSent.ToLower Then If oAccount.SmtpAddress.ToLower = accountToSent.ToLower Then
Mail.SendUsingAccount = oAccount Mail.SendUsingAccount = oAccount
Exit For Exit For
End If
Next
End If 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 End If
Catch ex As Exception 'Mail-Adressen eintragen
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Ermitteln des Mail-Accounts." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) '-----------------------------------------------------------------
End Try For Each r In dgvEmail.Rows
If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";"
End If Next
For Each r In dgvEmailCC.Rows
'Mail-Adressen eintragen If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";"
'----------------------------------------------------------------- Next
For Each r In dgvEmail.Rows For Each r In dgvEmailBCC.Rows
If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";" If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";"
Next 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) RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", lastAktuelle_RgNr)
txtSubject.Text = txtSubject.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.HTMLBody = TextHTML
Mail.Subject = txtSubject.Text Mail.Subject = txtSubject.Text
ATTACHMENTS.Clear() ATTACHMENTS.Clear()
'----------------------------------------------------------------- '-----------------------------------------------------------------
'Rechnungen anfügen 'Rechnungen anfügen
'----------------------------------------------------------------- '-----------------------------------------------------------------
For Each l In listPDFs For Each l In listPDFs
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
Next Next
For Each l In SonstAnlagen For Each l In SonstAnlagen
' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
Next Next
addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked) addAttachments(Mail, lastAktuelle_RgNr, cbxMergeRg.Checked)
'----------------------------------------------------------------- '-----------------------------------------------------------------
'Steuerbescheid/VDB anfügen 'Steuerbescheid/VDB anfügen
'----------------------------------------------------------------- '-----------------------------------------------------------------
getAnhaenge() getAnhaenge()
'For Each l In listPDFs 'For Each l In listPDFs
' ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue) ' ' Mail.Attachments.Add(l, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
' ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) ' ATTACHMENTS.Add(New cFakt_MailATTach(l, ""))
'Next 'Next
'Rechnungsanhänge anfügen 'Rechnungsanhänge anfügen
'----------------------------------------------------------------- '-----------------------------------------------------------------
If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then
For Each r In SR_DT.Rows For Each r In SR_DT.Rows
Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID")) Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID"))
If RG_ANH IsNot Nothing Then If RG_ANH IsNot Nothing Then
For Each ANH In RG_ANH For Each ANH In RG_ANH
ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung)) ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung))
Next
End If
Next Next
End If 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 If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
Try Try
Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.com" Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.com"
Catch ex2 As Exception Catch ex2 As Exception
MsgBox(ex2.Message) MsgBox(ex2.Message)
End Try End Try
End If End If
Mail.Display() Mail.Display()
'------------------------------------------------------------------------------------------ '------------------------------------------------------------------------------------------
' STB /FA SR: ABFRAGE FISKAL-VZ ' STB /FA SR: ABFRAGE FISKAL-VZ
If isFiskal Then If isFiskal Then
send_StbFAMail(AD.AdressenNr, " Rg-Nr.: " & lastAktuelle_RgNr, lastAktuelle_RgNr) send_StbFAMail(AD.AdressenNr, " Rg-Nr.: " & lastAktuelle_RgNr, lastAktuelle_RgNr)
End If End If
'------------------------------------------------------------------------------------------ '------------------------------------------------------------------------------------------
End If End If
@@ -692,8 +679,11 @@ Public Class frmFaktEmail
accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True) accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True)
Case 19 Case 19
accountToSent = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!! accountToSent = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!!
Case 7
accountToSent = "rechnung@atilla-spedition.com"
Case Else Case Else
accountToSent = "rechnungsversand@verag.ag" accountToSent = "rechnungsversand@verag.ag"
End Select End Select

View File

@@ -401,7 +401,7 @@ Partial Class frmFaktSammelRgDrucken
'cbxAUTOMail 'cbxAUTOMail
' '
Me.cbxAUTOMail.AutoSize = True 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.Name = "cbxAUTOMail"
Me.cbxAUTOMail.Size = New System.Drawing.Size(116, 17) Me.cbxAUTOMail.Size = New System.Drawing.Size(116, 17)
Me.cbxAUTOMail.TabIndex = 30 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) Case 7 : txtZeitraumBis.Text = Now.ToShortDateString : lblSB.Visible = True : cboSB.Visible = True : cboSB.changeItem(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME)
End Select End Select
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then cbxAUTOMail.Visible = True : pnlAUTOMailversand.Visible = True
initDGV() initDGV()
End Sub End Sub
@@ -65,53 +67,153 @@ Public Class frmFaktSammelRgDrucken
Sub initDGV() Sub initDGV()
With MyDatagridview1 With MyDatagridview1
Dim whereAbfArt = "" 'Dim whereAbfArt = ""
Dim whereMWST = "" '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() Dim abfertigungsarten = getValues()
' Abfertigungsarten
If Sammelrechung <> 6 AndAlso abfertigungsarten <> "" Then 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 & ") " whereAbfArt = " AND (SELECT Abfertigungsart
End If FROM Speditionsbuch
If cbxMWST.CheckState.Indeterminate Then WHERE Speditionsbuch.FilialenNr = Rechnungsausgang.FilialenNr
whereMWST = "" AND Speditionsbuch.AbfertigungsNr = Rechnungsausgang.AbfertigungsNr
Else AND Speditionsbuch.UnterNr = Rechnungsausgang.SpeditionsbuchUnterNr
whereMWST = "AND isnull(tblKundenErweitert.kde_keineMWSt,0) = " & IIf(cbxMWST.Checked, "1", "0") ) IN (" & abfertigungsarten & ") "
End If End If
If cbxAUTOMail.Checked Or Not cbxAUTOMail.Checked Then ' MWST
whereMWST = " AND isnull(Rechnungsausgang.Automailversand,0) = " & IIf(cbxAUTOMail.Checked, "1", "0") If Not cbxMWST.CheckState = CheckState.Indeterminate Then
whereMWST = " AND ISNULL(tblKundenErweitert.kde_keineMWSt,0) = " & If(cbxMWST.Checked, "1", "0")
End If End If
Dim sqlStr = "" whereAutoMail = " AND ISNULL(Rechnungsausgang.Automailversand,0) = " & If(cbxAUTOMail.Checked, "1", "0")
Dim sqlStr As String = ""
Select Case Sammelrechung Select Case Sammelrechung
Case 6 ' Maut Sammelrechnung 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 sqlStr = "
,(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 SELECT
FROM Rechnungsausgang left join tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr 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 & "' MAX(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1],
" & If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "' ", "") & " 0 AS AvisoId,
" & whereAbfArt & " " & whereMWST & " MAX(Rechnungsausgang.[RechnungsLandKz]) AS [RechnungsLandKz],
GROUP BY RechnungsKundenNr, isnull(tblKundenErweitert.kde_keineMWSt,0) COUNT(*) AS Anzahl,
ORDER BY RechnungsLandKz, RechnungsKundenNr " 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 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", "") & " sqlStr = "
,(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 SELECT
FROM Rechnungsausgang min(Rechnungsausgang.RechnungsNr) as RENR,
WHERE Rechnungsausgang.Status IN (0,2) And Rechnungsausgang.Firma_ID = '" & cboFirma._value & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechung & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) <= '" & txtZeitraumBis._value & "' Rechnungsausgang.RechnungsKundenNr,
" & If(Sammelrechung = 7 And cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "' ", "") & " MAX(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1],
" & whereAbfArt & " " & If(Sammelrechung = 7, "AvisoId", "0") & " AS AvisoId,
AND Rechnungsausgang.FakturierungsGruppe='" & cboFaktGrp._value & "' MAX(Rechnungsausgang.[RechnungsLandKz]) AS [RechnungsLandKz],
GROUP BY RechnungsKundenNr " & If(Sammelrechung = 7, ",AvisoId", "") & " COUNT(*) AS Anzahl,
ORDER BY Rechnungsausgang.RechnungsKundenNr " 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 End Select
'Rechnungsausgang.Status IN (0,2) --> vormals nur 2 'Rechnungsausgang.Status IN (0,2) --> vormals nur 2
.SET_SQL(sqlStr, "FMZOLL") .SET_SQL(sqlStr, "FMZOLL")
.LOAD() .LOAD()
@@ -137,8 +239,12 @@ Public Class frmFaktSammelRgDrucken
.Columns("RechnungsLandKz").Visible = True .Columns("RechnungsLandKz").Visible = True
End If End If
If .Columns.Contains("keineMWST") Then If .Columns.Contains("keineMWST") Then
.Columns("keineMWST").Visible = False .Columns("keineMWST").Visible = False
End If
If .Columns.Contains("RENR") Then
.Columns("RENR").Visible = False
End If End If
If .Columns.Contains("Steuer") Then 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 Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If MyDatagridview1.SelectedRows.Count > 0 Then 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 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 If End If
End Sub End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
If MyDatagridview1.SelectedRows.Count > 0 Then 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 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
End If End If
@@ -593,6 +751,7 @@ Public Class frmFaktSammelRgDrucken
For Each r As DataGridViewRow In MyDatagridview1.SelectedRows 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 IsDate(txtRechnungsdatum.Text) AndAlso r.Cells("RechnungsLandKz").Value <> "" AndAlso IsNumeric(r.Cells("RechnungsKundenNr").Value) Then
If (New SQL).doSQL("UPDATE Rechnungsausgang set Automailversand = " & mailversandString & 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) = '" & " 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 & 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 End Function
Private Sub cbxAUTOMail_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAUTOMail.CheckedChanged 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 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 If dtRE.Rows.Count > 0 Then
Dim RK_ID As String = "" Dim RK_ID As String = ""
@@ -696,11 +909,11 @@ Public Class frmFaktSammelRgDrucken
If MyDatagridview1.SelectedRows.Count > 0 Then 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 Dim fun As New cAutomailversand
For Each r In MyDatagridview1.SelectedRows 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 Next
initDGV() initDGV()

View File

@@ -288,6 +288,7 @@ Partial Class usrCntlFaktAbrechnung
Me.GutschriftAnVeragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.GutschriftAnVeragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.VeragAGToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.VeragAGToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.VeragCSToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.VeragCSToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.cbxAUTOMailversand = New System.Windows.Forms.CheckBox()
Me.pnlTop.SuspendLayout() Me.pnlTop.SuspendLayout()
Me.Panel3.SuspendLayout() Me.Panel3.SuspendLayout()
Me.Panel1.SuspendLayout() Me.Panel1.SuspendLayout()
@@ -804,6 +805,7 @@ Partial Class usrCntlFaktAbrechnung
'Panel1 'Panel1
' '
Me.Panel1.AutoScroll = True Me.Panel1.AutoScroll = True
Me.Panel1.Controls.Add(Me.cbxAUTOMailversand)
Me.Panel1.Controls.Add(Me.Button17) Me.Panel1.Controls.Add(Me.Button17)
Me.Panel1.Controls.Add(Me.txtTextZZ) Me.Panel1.Controls.Add(Me.txtTextZZ)
Me.Panel1.Controls.Add(Me.dgvAnhaenge) Me.Panel1.Controls.Add(Me.dgvAnhaenge)
@@ -4057,6 +4059,17 @@ Partial Class usrCntlFaktAbrechnung
Me.VeragCSToolStripMenuItem.Size = New System.Drawing.Size(122, 22) Me.VeragCSToolStripMenuItem.Size = New System.Drawing.Size(122, 22)
Me.VeragCSToolStripMenuItem.Text = "Verag CS" 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 'usrCntlFaktAbrechnung
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) 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 cboVorauskasse As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents cboRgArt As VERAG_PROG_ALLGEMEIN.MyComboBox Friend WithEvents cboRgArt As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents Label57 As Label Friend WithEvents Label57 As Label
Friend WithEvents cbxAUTOMailversand As CheckBox
End Class End Class

View File

@@ -142,6 +142,7 @@ Public Class usrCntlFaktAbrechnung
Label40.Visible = False Label40.Visible = False
sbLeistung._value = "" sbLeistung._value = ""
cbxOriginalPrint.Checked = False cbxOriginalPrint.Checked = False
cbxAUTOMailversand.Checked = False
If RK_ID_TMP > 0 Then If RK_ID_TMP > 0 Then
RECHNUNG = New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID_TMP) RECHNUNG = New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID_TMP)
@@ -302,6 +303,7 @@ Public Class usrCntlFaktAbrechnung
txtErfassungsnummer.Text = If(RECHNUNG.ErfassungsNr, "") txtErfassungsnummer.Text = If(RECHNUNG.ErfassungsNr, "")
cboRechnungNotiz.Text = If(RECHNUNG.Notiz, "") cboRechnungNotiz.Text = If(RECHNUNG.Notiz, "")
cbxAUTOMailversand.Checked = RECHNUNG.Automailversand
initRgArt() initRgArt()
cboRgArt._value = RECHNUNG.Rechnungsart cboRgArt._value = RECHNUNG.Rechnungsart
@@ -544,6 +546,10 @@ Public Class usrCntlFaktAbrechnung
FirmaTmp = "VERAG360" FirmaTmp = "VERAG360"
End If End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
cbxAUTOMailversand.Visible = True
End If
cboVorauskasse.Items.Clear() cboVorauskasse.Items.Clear()
cboVorauskasse.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("NEIN", 0)) cboVorauskasse.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("NEIN", 0))
cboVorauskasse.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("JA", 1)) cboVorauskasse.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("JA", 1))
@@ -2496,6 +2502,8 @@ Public Class usrCntlFaktAbrechnung
RECHNUNG.KdAuftragsNr = cProgramFunctions.isLeerNothing(txtKdAuftragsNr.Text) RECHNUNG.KdAuftragsNr = cProgramFunctions.isLeerNothing(txtKdAuftragsNr.Text)
RECHNUNG.Automailversand = cbxAUTOMailversand.Checked
If RECHNUNG.Abfertigungsdatum < CDate("01.01.2000") Then RECHNUNG.Abfertigungsdatum = Now 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 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") Antrag_LandKz = SQL.DLookup("LandKz", "[Länderverzeichnis für die Außenhandelsstatistik]", "Landnr='" & USTV_ANTRAG.UStVAn_LandNr & "'", "FMZOLL")
setValue(USTV_ANTRAG) 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 btnRMCQuartal.Visible = True
Else Else
btnRMCQuartal.Visible = False btnRMCQuartal.Visible = False
@@ -4088,20 +4088,26 @@ Public Class frmMDM_USTVAntrag
Private Sub btnRMCQuartal_Click(sender As Object, e As EventArgs) Handles btnRMCQuartal.Click 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) Dim rmc As cRMC
Case vbYes : nurUnter50EurAnzeigen = True
Case vbNo : nurUnter50EurAnzeigen = False Dim nurUnter50EurAnzeigen As Boolean = True
End Select
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 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("NEU", "NEU"))
cboNL.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("NKD", "NKD")) 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("DTB", "DTB"))
cboNL.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBWO", "AMBWO"))
cboNL.changeItem("") cboNL.changeItem("")
Case "IMEX" Case "IMEX"

View File

@@ -50,14 +50,15 @@ Partial Class frmNacherfassungLeihgeld
Me.Label11 = New System.Windows.Forms.Label() Me.Label11 = New System.Windows.Forms.Label()
Me.cbxProvisionAuftraggeber = New System.Windows.Forms.CheckBox() Me.cbxProvisionAuftraggeber = New System.Windows.Forms.CheckBox()
Me.Panel1 = New System.Windows.Forms.Panel() Me.Panel1 = New System.Windows.Forms.Panel()
Me.cbxProvinMAKassa = New System.Windows.Forms.CheckBox()
Me.txtAuftrProvision = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtAuftrProvision = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.cboProvisionBetrag = 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.Panel2 = New System.Windows.Forms.Panel()
Me.cboPrinter = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.cboPrinter = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.cboPrinterProvisionBeleg = 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.Label44 = New System.Windows.Forms.Label()
Me.txtOpLeihgeld = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtOpLeihgeld = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.txtKdAuftragsnummer = 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.txtFahrer = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.cbxOP_sofort_buchen = New System.Windows.Forms.CheckBox() Me.cbxOP_sofort_buchen = New System.Windows.Forms.CheckBox()
Me.lblGesperrt = New System.Windows.Forms.Label() Me.lblGesperrt = New System.Windows.Forms.Label()
Me.cbxProvinMAKassa = New System.Windows.Forms.CheckBox()
Me.pnl.SuspendLayout() Me.pnl.SuspendLayout()
Me.Panel1.SuspendLayout() Me.Panel1.SuspendLayout()
Me.Panel2.SuspendLayout() Me.Panel2.SuspendLayout()
@@ -409,6 +409,17 @@ Partial Class frmNacherfassungLeihgeld
Me.Panel1.Size = New System.Drawing.Size(441, 147) Me.Panel1.Size = New System.Drawing.Size(441, 147)
Me.Panel1.TabIndex = 20 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 'txtAuftrProvision
' '
Me.txtAuftrProvision._DateTimeOnly = False Me.txtAuftrProvision._DateTimeOnly = False
@@ -457,6 +468,40 @@ Partial Class frmNacherfassungLeihgeld
Me.cboProvisionBetrag.Size = New System.Drawing.Size(124, 26) Me.cboProvisionBetrag.Size = New System.Drawing.Size(124, 26)
Me.cboProvisionBetrag.TabIndex = 8 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 'cboProvisionStaffel
' '
Me.cboProvisionStaffel._allowedValuesFreiText = Nothing Me.cboProvisionStaffel._allowedValuesFreiText = Nothing
@@ -505,40 +550,6 @@ Partial Class frmNacherfassungLeihgeld
Me.cboProvisionStaffelArt.Size = New System.Drawing.Size(156, 21) Me.cboProvisionStaffelArt.Size = New System.Drawing.Size(156, 21)
Me.cboProvisionStaffelArt.TabIndex = 3 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 'Label44
' '
Me.Label44.AutoSize = True Me.Label44.AutoSize = True
@@ -810,6 +821,7 @@ Partial Class frmNacherfassungLeihgeld
'cbxOP_sofort_buchen 'cbxOP_sofort_buchen
' '
Me.cbxOP_sofort_buchen.AutoSize = True 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.Location = New System.Drawing.Point(291, 290)
Me.cbxOP_sofort_buchen.Name = "cbxOP_sofort_buchen" Me.cbxOP_sofort_buchen.Name = "cbxOP_sofort_buchen"
Me.cbxOP_sofort_buchen.Size = New System.Drawing.Size(145, 17) Me.cbxOP_sofort_buchen.Size = New System.Drawing.Size(145, 17)
@@ -829,17 +841,6 @@ Partial Class frmNacherfassungLeihgeld
Me.lblGesperrt.Text = "gesperrt!" Me.lblGesperrt.Text = "gesperrt!"
Me.lblGesperrt.Visible = False 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 'frmNacherfassungLeihgeld
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)

View File

@@ -523,10 +523,20 @@ Public Class frmNacherfassungLeihgeld
RG.FilialenNr = SPEDBUCH.FilialenNr RG.FilialenNr = SPEDBUCH.FilialenNr
RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum
RG.Sammelrechnung = 0 RG.Sammelrechnung = 0
RG.BelegartenKz = "AR"
RG.BelegartenNr = 70 If summeBRUTTO >= 0 Then
RG.BelegartenBez = "Rechnung"
RG.Vorzeichen = "+" 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.VermittlerKundenNr = AD.AdressenNr
RG.VermittlerLandKz = AD.LandKz RG.VermittlerLandKz = AD.LandKz

View File

@@ -17,12 +17,13 @@ Public Class cAufschubKonten
Property brgakto_gs_ust As Object = Nothing Property brgakto_gs_ust As Object = Nothing
Property brgakto_gs_aktSaldo As Decimal Property brgakto_gs_aktSaldo As Decimal
Property brgakto_gs_ATR As Boolean = False Property brgakto_gs_ATR As Boolean = False
Property brgakto_firmaID As Object = Nothing
Public hasEntry = False Public hasEntry = False
Dim SQL As New SQL Dim SQL As New SQL
Sub New(brgakto_id) Sub New(brgakto_id As Integer)
Me.brgakto_id = brgakto_id Me.brgakto_id = brgakto_id
LOAD() LOAD()
End Sub End Sub
@@ -33,6 +34,14 @@ Public Class cAufschubKonten
brgakto_betrag = getReferenzbetrag(Today) brgakto_betrag = getReferenzbetrag(Today)
End Sub End Sub
Sub New(brgakto_gs_standort As String, brgakto_firmaID As Integer)
Me.brgakto_gs_standort = brgakto_gs_standort
Me.brgakto_firmaID = brgakto_firmaID
LOADStandort(brgakto_firmaID)
brgakto_betrag = getReferenzbetrag(Today)
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_id", brgakto_id,, True)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_id", brgakto_id,, True))
@@ -47,6 +56,7 @@ Public Class cAufschubKonten
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_gs_ust", brgakto_gs_ust)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_gs_ust", brgakto_gs_ust))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_gs_ATR", brgakto_gs_ATR)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_gs_ATR", brgakto_gs_ATR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_gs_aktSaldo", brgakto_gs_aktSaldo)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_gs_aktSaldo", brgakto_gs_aktSaldo))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("brgakto_firmaID", brgakto_firmaID))
Return list Return list
@@ -95,16 +105,16 @@ Public Class cAufschubKonten
End Sub End Sub
Public Sub LOADStandort() Public Sub LOADStandort(Optional firma As Integer = 0)
Try Try
hasEntry = False hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN() Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM tblBrgAufschubKonten WHERE brgakto_gs_standort=@brgakto_gs_standort ", conn) Using cmd As New SqlCommand("SELECT * FROM tblBrgAufschubKonten WHERE brgakto_gs_standort=@brgakto_gs_standort " & IIf(firma <> 0, " AND brgakto_firma=@brgakto_firma", ""), conn)
cmd.Parameters.AddWithValue("@brgakto_gs_standort", brgakto_gs_standort) cmd.Parameters.AddWithValue("@brgakto_gs_standort", brgakto_gs_standort)
If firma <> 0 Then cmd.Parameters.AddWithValue("@brgakto_firmaID", brgakto_firmaID)
Dim dr = cmd.ExecuteReader() Dim dr = cmd.ExecuteReader()
If dr.Read Then If dr.Read Then
For Each li In getParameterList() For Each li In getParameterList()

View File

@@ -1,5 +1,6 @@
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.Reflection Imports System.Reflection
Imports com.sun.org.apache.xpath.internal.operations
Public Class cTrdInvoice Public Class cTrdInvoice
@@ -35,7 +36,8 @@ Public Class cTrdInvoice
Property Firma_ID As Object = Nothing Property Firma_ID As Object = Nothing
Property UStVAn_ID As Object = Nothing Property UStVAn_ID As Object = Nothing
Property VZ As Integer Property VZ As Integer
Property BV As Object = Nothing
Property Source As Object = Nothing
Property hasEntry As Boolean = False Property hasEntry As Boolean = False
@@ -45,21 +47,22 @@ Public Class cTrdInvoice
End Sub End Sub
Sub New(Rechnungsdatum, Rechnungsnummer) Sub New(Rechnungsdatum, Rechnungsnummer, Source)
Me.Rechnungsnummer = Rechnungsnummer Me.Rechnungsnummer = Rechnungsnummer
Me.Rechnungsdatum = Rechnungsdatum Me.Rechnungsdatum = Rechnungsdatum
Me.Source = Source
LOAD() LOAD()
End Sub End Sub
Sub New(Rechnungsdatum, Rechnungsnummer, Buchungsjahr) Sub New(Rechnungsdatum, Rechnungsnummer, Buchungsjahr, Source)
Me.Rechnungsnummer = Buchungsjahr.ToString.Substring(2, 2) & Rechnungsnummer Me.Rechnungsnummer = Buchungsjahr.ToString.Substring(2, 2) & Rechnungsnummer
Me.Rechnungsdatum = Rechnungsdatum Me.Rechnungsdatum = Rechnungsdatum
Me.Source = Source
LOAD() LOAD()
End Sub End Sub
Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Speditionsbuch", Speditionsbuch)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Speditionsbuch", Speditionsbuch))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
@@ -91,6 +94,8 @@ Public Class cTrdInvoice
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZ", VZ)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZ", VZ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BV", BV))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Source", Source))
Return list Return list
@@ -116,9 +121,10 @@ Public Class cTrdInvoice
Public Sub LOAD() Public Sub LOAD()
Try Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblTrdinInvoice WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum ", conn) Using cmd As New SqlCommand("SELECT * FROM tblTrdinInvoice WHERE Rechnungsnummer=@Rechnungsnummer and Rechnungsdatum=@Rechnungsdatum and Source=@Source ", conn)
cmd.Parameters.AddWithValue("@Rechnungsnummer", Rechnungsnummer) cmd.Parameters.AddWithValue("@Rechnungsnummer", Rechnungsnummer)
cmd.Parameters.AddWithValue("@Rechnungsdatum", Rechnungsdatum) cmd.Parameters.AddWithValue("@Rechnungsdatum", Rechnungsdatum)
cmd.Parameters.AddWithValue("@Source", Source)
Dim dr = cmd.ExecuteReader() Dim dr = cmd.ExecuteReader()
If dr.Read Then If dr.Read Then
hasEntry = True hasEntry = True
@@ -229,7 +235,6 @@ Public Class cTrdProduct
Property Rechnungsdatum As Date Property Rechnungsdatum As Date
Property Rechnungsnummer As Integer Property Rechnungsnummer As Integer
Property Leistungsnummer As Integer Property Leistungsnummer As Integer
Property Leistungsbezeichnung As String Property Leistungsbezeichnung As String
Property Steuerpflichtig As Boolean Property Steuerpflichtig As Boolean
@@ -241,6 +246,7 @@ Public Class cTrdProduct
Property Sachkonto As Object = Nothing Property Sachkonto As Object = Nothing
Property Buchungstext As Object = Nothing Property Buchungstext As Object = Nothing
Property VZBetrag As Object = Nothing Property VZBetrag As Object = Nothing
Property Source As Object = Nothing
Dim SQL As New SQL Dim SQL As New SQL
@@ -254,7 +260,6 @@ Public Class cTrdProduct
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsdatum", Rechnungsdatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnungsnummer", Rechnungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsnummer", Leistungsnummer)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsnummer", Leistungsnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsbezeichnung", Leistungsbezeichnung)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Leistungsbezeichnung", Leistungsbezeichnung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig))
@@ -266,6 +271,7 @@ Public Class cTrdProduct
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto", Sachkonto)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto", Sachkonto))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZBetrag", VZBetrag)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZBetrag", VZBetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Source", Source))
Return list Return list
End Function End Function
@@ -406,7 +412,17 @@ Class TrdInvoice_FUNCTIONS
Dim WährungsdifferenzSteuerpflichtigerBetrag As Double Dim WährungsdifferenzSteuerpflichtigerBetrag As Double
Dim WährungsdifferenzSteuerfreierBetrag As Integer Dim WährungsdifferenzSteuerfreierBetrag As Integer
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma, Buchungsjahr), "FMZOLL", 9800) Dim dt As DataTable
If Not Firma = 7 Then
dt = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma, Buchungsjahr, True), "FMZOLL", 9800)
Else
dt = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma, Buchungsjahr, False) & " UNION ALL " & getSQLString_SELECTForTrdInvoice_Barverkauf("VERA", "SUA", 5033, Buchungsjahr, True), "FMZOLL", 9800) 'Nur Leigheldkonto!
End If
Dim dtVZ As DataTable Dim dtVZ As DataTable
@@ -416,9 +432,9 @@ Class TrdInvoice_FUNCTIONS
For Each ROW In dt.Rows For Each ROW In dt.Rows
Dim TRD_INVOICE As VERAG_PROG_ALLGEMEIN.cTrdInvoice Dim TRD_INVOICE As VERAG_PROG_ALLGEMEIN.cTrdInvoice
If Buchungsjahr > 2000 Then If Buchungsjahr > 2000 Then
TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"), Buchungsjahr) 'nur UNISPED!!!! TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"), Buchungsjahr, ROW("Source")) 'nur UNISPED!!!!
Else Else
TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr")) TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"), ROW("Source"))
End If End If
@@ -433,25 +449,21 @@ Class TrdInvoice_FUNCTIONS
TRD_INVOICE.SteuerfreierBetragLokal = ROW("RK_SteuerfreierBetrag") TRD_INVOICE.SteuerfreierBetragLokal = ROW("RK_SteuerfreierBetrag")
TRD_INVOICE.SteuerbetragLokal = ROW("RK_Steuerbetrag") TRD_INVOICE.SteuerbetragLokal = ROW("RK_Steuerbetrag")
TRD_INVOICE.RechnungsbetragLokal = ROW("RK_Rechnungsbetrag") TRD_INVOICE.RechnungsbetragLokal = ROW("RK_Rechnungsbetrag")
TRD_INVOICE.SteuerpflichtigerBetragFremd = 0 TRD_INVOICE.SteuerpflichtigerBetragFremd = 0
TRD_INVOICE.SteuerfreierBetragFremd = 0 TRD_INVOICE.SteuerfreierBetragFremd = 0
TRD_INVOICE.SteuerbetragFremd = 0 TRD_INVOICE.SteuerbetragFremd = 0
TRD_INVOICE.RechnungsbetragFremd = 0 TRD_INVOICE.RechnungsbetragFremd = 0
TRD_INVOICE.WährungFremd = Nothing TRD_INVOICE.WährungFremd = Nothing
Else Else
TRD_INVOICE.SteuerpflichtigerBetragFremd = ROW("RK_SteuerpflichtigerBetrag") TRD_INVOICE.SteuerpflichtigerBetragFremd = ROW("RK_SteuerpflichtigerBetrag")
TRD_INVOICE.SteuerfreierBetragFremd = ROW("RK_SteuerfreierBetrag") TRD_INVOICE.SteuerfreierBetragFremd = ROW("RK_SteuerfreierBetrag")
TRD_INVOICE.SteuerbetragFremd = ROW("RK_Steuerbetrag") TRD_INVOICE.SteuerbetragFremd = ROW("RK_Steuerbetrag")
TRD_INVOICE.RechnungsbetragFremd = ROW("RK_Rechnungsbetrag") TRD_INVOICE.RechnungsbetragFremd = ROW("RK_Rechnungsbetrag")
TRD_INVOICE.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RK_SteuerpflichtigerBetrag"), ROW("RK_Währungscode"), LOKALWÄHRUNG) TRD_INVOICE.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RK_SteuerpflichtigerBetrag"), ROW("RK_Währungscode"), LOKALWÄHRUNG)
TRD_INVOICE.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RK_SteuerfreierBetrag"), ROW("RK_Währungscode"), LOKALWÄHRUNG) TRD_INVOICE.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RK_SteuerfreierBetrag"), ROW("RK_Währungscode"), LOKALWÄHRUNG)
TRD_INVOICE.SteuerbetragLokal = CDbl(TRD_INVOICE.SteuerpflichtigerBetragLokal * ROW("RK_SteuersatzProzent") * 100) / 100 TRD_INVOICE.SteuerbetragLokal = CDbl(TRD_INVOICE.SteuerpflichtigerBetragLokal * ROW("RK_SteuersatzProzent") * 100) / 100
TRD_INVOICE.RechnungsbetragLokal = TRD_INVOICE.SteuerpflichtigerBetragLokal + TRD_INVOICE.SteuerfreierBetragLokal + TRD_INVOICE.SteuerbetragLokal TRD_INVOICE.RechnungsbetragLokal = TRD_INVOICE.SteuerpflichtigerBetragLokal + TRD_INVOICE.SteuerfreierBetragLokal + TRD_INVOICE.SteuerbetragLokal
' Basis zur Feststellung von Rundungsdifferenzen schaffen. ' Basis zur Feststellung von Rundungsdifferenzen schaffen.
TRD_INVOICE.SteuerpflichtigerBetragLokal = 0 TRD_INVOICE.SteuerpflichtigerBetragLokal = 0
TRD_INVOICE.SteuerfreierBetragLokal = 0 TRD_INVOICE.SteuerfreierBetragLokal = 0
TRD_INVOICE.SteuerbetragLokal = 0 TRD_INVOICE.SteuerbetragLokal = 0
@@ -485,6 +497,16 @@ Class TrdInvoice_FUNCTIONS
TRD_INVOICE.Abgleich_op_debitor = 0 TRD_INVOICE.Abgleich_op_debitor = 0
TRD_INVOICE.Nettozahlungsziel = ROW("RK_Nettozahlungsziel") TRD_INVOICE.Nettozahlungsziel = ROW("RK_Nettozahlungsziel")
TRD_INVOICE.Firma_ID = ROW("RK_Firma_ID") TRD_INVOICE.Firma_ID = ROW("RK_Firma_ID")
TRD_INVOICE.BV = 0
TRD_INVOICE.Source = ROW("Source")
If TRD_INVOICE.FilialenNr = 4813 AndAlso TRD_INVOICE.Firma_ID = 7 Then
TRD_INVOICE.BV = 1
End If
If TRD_INVOICE.Source = "KB" AndAlso Not TRD_INVOICE.BV = 1 Then
TRD_INVOICE.BV = 1
End If
If dtVZ IsNot Nothing AndAlso dtVZ.Rows.Count > 0 Then If dtVZ IsNot Nothing AndAlso dtVZ.Rows.Count > 0 Then
For Each VZ_ROW In dtVZ.Rows For Each VZ_ROW In dtVZ.Rows
@@ -503,18 +525,32 @@ Class TrdInvoice_FUNCTIONS
' Buchungstext &= " / nicht verzinsen" ' Buchungstext &= " / nicht verzinsen"
ElseIf Buchungstext <> "" AndAlso Buchungstext.Contains("Zahlungen") Then ElseIf Buchungstext <> "" AndAlso Buchungstext.Contains("Zahlungen") Then
Buchungstext = Buchungstext.Replace("Zahlungen", "Zinsen") Buchungstext = Buchungstext.Replace("Zahlungen", "Zinsen")
End If
If TRD_INVOICE.Source = "KB" Then
Select Case TRD_INVOICE.BelegartenNr
Case "30" : Buchungstext &= " Ausgabe-LG"
Case "31" : Buchungstext &= " Einnahme-LG"
End Select
End If End If
If TRD_INVOICE.SAVE Then If TRD_INVOICE.SAVE Then
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), Buchungstext, TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, TRD_INVOICE.VZ) Then If TRD_INVOICE.Source = "RE" Then
'UPDATE rechnugnsausgang If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), Buchungstext, TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, TRD_INVOICE.VZ, False) Then
Dim firmaTmpsql = If(Firma > 0, " AND Firma_ID= '" & Firma & "' ", "") Dim firmaTmpsql = If(Firma > 0, " AND Firma_ID= '" & Firma & "' ", "")
Dim buchungsjahrTmpsql = If(Buchungsjahr > 0, " AND Buchungsjahr= '" & Buchungsjahr & "' ", "") Dim buchungsjahrTmpsql = If(Buchungsjahr > 0, " AND Buchungsjahr= '" & Buchungsjahr & "' ", "")
SQL.doSQL("UPDATE [Rechnungsausgang] SET [Trdin] = 1 WHERE convert(date,[RechnungsDatum] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND RechnungsNr = " & ROW("RK_RechnungsNr") & firmaTmpsql & buchungsjahrTmpsql, "FMZOLL") SQL.doSQL("UPDATE [Rechnungsausgang] SET [Trdin] = 1 WHERE convert(date,[RechnungsDatum] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND RechnungsNr = " & ROW("RK_RechnungsNr") & firmaTmpsql & buchungsjahrTmpsql, "FMZOLL")
End If
ElseIf TRD_INVOICE.Source = "KB" Then
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), Buchungstext, TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, TRD_INVOICE.VZ, True) Then
SQL.doSQL("UPDATE [tblKassenbuch] SET [Trdin] = 1 WHERE tblKassenbuch.Mandant='VERA' and tblKassenbuch.Niederlassung='SUA' And Konto=5033 AND convert(date,[BelegDat] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND rksv_BelegId = " & ROW("RK_RechnungsNr"), "FMZOLL")
End If
End If End If
End If End If
End If End If
Next Next
Return True Return True
@@ -533,12 +569,21 @@ Class TrdInvoice_FUNCTIONS
Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, TRD_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, isVZ) As Boolean Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, TRD_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, isVZ, isBV) As Boolean
Try Try
Dim LOKALWÄHRUNG = "EUR" Dim LOKALWÄHRUNG = "EUR"
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct(RechnungsDatum, RK_RechnungsNr, RK_Firma_ID, Buchungsjahr), "FMZOLL") Dim dt As DataTable
If isBV Then
dt = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct_Barverkauf(RechnungsDatum, RK_RechnungsNr, RK_Firma_ID, Buchungsjahr), "FMZOLL")
Else
dt = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct(RechnungsDatum, RK_RechnungsNr, RK_Firma_ID, Buchungsjahr), "FMZOLL")
End If
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
For Each ROW In dt.Rows For Each ROW In dt.Rows
Dim TRD_PRODUCT As New VERAG_PROG_ALLGEMEIN.cTrdProduct() Dim TRD_PRODUCT As New VERAG_PROG_ALLGEMEIN.cTrdProduct()
@@ -576,7 +621,6 @@ Class TrdInvoice_FUNCTIONS
End If End If
End If End If
TRD_PRODUCT.Leistungsnummer = ROW("RP_LeistungsNr") TRD_PRODUCT.Leistungsnummer = ROW("RP_LeistungsNr")
TRD_PRODUCT.Leistungsbezeichnung = ROW("RP_LeistungsBez") TRD_PRODUCT.Leistungsbezeichnung = ROW("RP_LeistungsBez")
TRD_PRODUCT.Steuerpflichtig = ROW("RP_Steuerpflichtig") TRD_PRODUCT.Steuerpflichtig = ROW("RP_Steuerpflichtig")
@@ -584,6 +628,17 @@ Class TrdInvoice_FUNCTIONS
TRD_PRODUCT.Sachkonto = getSachkonto(RK_Firma_ID, ROW("RP_LeistungsNr"), RK_RechnungsLandKz, ROW("RP_Steuerpflichtig"), ROW("AufschubkontoNr")) TRD_PRODUCT.Sachkonto = getSachkonto(RK_Firma_ID, ROW("RP_LeistungsNr"), RK_RechnungsLandKz, ROW("RP_Steuerpflichtig"), ROW("AufschubkontoNr"))
TRD_PRODUCT.Buchungstext = RK_Buchungstext TRD_PRODUCT.Buchungstext = RK_Buchungstext
If TRD_PRODUCT.Buchungstext.ToString.Contains("Pos. ") Then
TRD_PRODUCT.Buchungstext = TRD_PRODUCT.Buchungstext.ToString.Replace("Pos. ", "")
End If
If TRD_PRODUCT.Buchungstext IsNot Nothing AndAlso TRD_PRODUCT.Buchungstext.Length > 35 Then
TRD_PRODUCT.Buchungstext = TRD_PRODUCT.Buchungstext.ToString.Replace("Pos. ", "")
TRD_PRODUCT.Buchungstext = TRD_PRODUCT.Buchungstext.Substring(0, Math.Min(35, TRD_PRODUCT.Buchungstext.Length))
End If
If isVZ > 0 Then If isVZ > 0 Then
Select Case ROW("RP_LeistungsNr") Select Case ROW("RP_LeistungsNr")
Case "123", "124", "125", "126", "128", "117", "118", "119" Case "123", "124", "125", "126", "128", "117", "118", "119"
@@ -596,7 +651,11 @@ Class TrdInvoice_FUNCTIONS
End If End If
If isBV Then
TRD_PRODUCT.Source = "KB"
Else
TRD_PRODUCT.Source = "RE"
End If
TRD_PRODUCT.SAVE() TRD_PRODUCT.SAVE()
Next Next
@@ -706,7 +765,7 @@ Class TrdInvoice_FUNCTIONS
getSachkonto = CInt(getSachkonto) getSachkonto = CInt(getSachkonto)
End Function End Function
Shared Function getSQLString_SELECTForTrdInvoice(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1) Shared Function getSQLString_SELECTForTrdInvoice(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1, Optional WithOrderClause As Boolean = True)
getSQLString_SELECTForTrdInvoice = "SELECT Rechnungsausgang.RechnungsDatum AS RK_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RK_RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum) AS RK_Abfertigungsdatum, min(Rechnungsausgang.FilialenNr) AS RK_FilialenNr, getSQLString_SELECTForTrdInvoice = "SELECT Rechnungsausgang.RechnungsDatum AS RK_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RK_RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum) AS RK_Abfertigungsdatum, min(Rechnungsausgang.FilialenNr) AS RK_FilialenNr,
min(Rechnungsausgang.AbfertigungsNr) AS RK_AbfertigungsNr, min(Rechnungsausgang.UnterNr) AS RK_UnterNr, min(Rechnungsausgang.BelegartenNr) AS RK_BelegartenNr, min(Rechnungsausgang.AbfertigungsNr) AS RK_AbfertigungsNr, min(Rechnungsausgang.UnterNr) AS RK_UnterNr, min(Rechnungsausgang.BelegartenNr) AS RK_BelegartenNr,
case when min(Firma_ID)=19 and min(Rechnungsausgang.FilialenNr) = 8001 and min(Rechnungsausgang.OffertenNr) = 95 then case when min(Firma_ID)=19 and min(Rechnungsausgang.FilialenNr) = 8001 and min(Rechnungsausgang.OffertenNr) = 95 then
@@ -720,14 +779,46 @@ Class TrdInvoice_FUNCTIONS
Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RK_SteuerfreierBetrag Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RK_SteuerfreierBetrag
, (Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100 AS RK_Steuerbetrag, , (Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100 AS RK_Steuerbetrag,
Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)+Sum(RechnungsausgangPositionen.SteuerfreierBetrag)+((Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100) AS RK_Rechnungsbetrag, Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)+Sum(RechnungsausgangPositionen.SteuerfreierBetrag)+((Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100) AS RK_Rechnungsbetrag,
Count(1) AS RK_Satzzähler, '' as VZ Count(1) AS RK_Satzzähler, '' as VZ, 0 as BV, 'RE' as Source
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
WHERE (((Rechnungsausgang.RechnungsDatum) Is Not Null) AND ((Rechnungsausgang.RechnungsNr) Is Not Null) AND ((Rechnungsausgang.Trdin)=0)) " & If(Firma > 0, " and Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Buchungsjahr=" & Buchungsjahr, "") & " WHERE (((Rechnungsausgang.RechnungsDatum) Is Not Null) AND ((Rechnungsausgang.RechnungsNr) Is Not Null) AND ((Rechnungsausgang.Trdin)=0)) " & If(Firma > 0, " and Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Buchungsjahr=" & Buchungsjahr, "") & "
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr"
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
If WithOrderClause Then
getSQLString_SELECTForTrdInvoice &= " ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
End If
'" & If(Firma = 4, " and Rechnungsausgang.RechnungsNr='23800029'", "") & " '" & If(Firma = 4, " and Rechnungsausgang.RechnungsNr='23800029'", "") & "
End Function End Function
Shared Function getSQLString_SELECTForTrdInvoice_Barverkauf(Mandant As String, Niederlassung As String, Konto As Integer, Optional Buchungsjahr As Integer = -1, Optional WithOrderClause As Boolean = True) 'NUR LEIHGELD-KASE ATILLA!
getSQLString_SELECTForTrdInvoice_Barverkauf = " select
max(tblKassenbuch.BelegDat) as RK_RechnungsDatum,max(tblKassenbuch.rksv_BelegId) as RK_RechnungsNr,max(tblKassenbuch.BelegDat) AS RK_Abfertigungsdatum, min([tblEABelegnummer].FilialenNr) as RK_FilialenNr, min([tblEABelegnummer].AbfertigungsNr) AS RK_AbfertigungsNr, 0 AS RK_UnterNr,
case when SUM(soll) > 0 then
'31' --Einnahme
else
'30' -- Ausgabe
end as RK_BelegartenNr,
ISNULL(MIN(Buchungstext), '') + ' ' +ISNULL(MIN([LKW Kennzeichen]), '') + ' ' +ISNULL(MIN(Fahrer), '') AS RK_Buchungstext,
case when SUM(soll) > 0 then
MIN(KundenNr)
else
2700
end as RK_KundenNrZentrale,
0 AS RK_RechnungsKundenNr, 'AT' AS RK_RechnungsLandKz, '' AS RK_RechnungsUstIdKz,
''AS RK_RechnungsUstIdNr, 0 AS RK_Lastschrift, 0 AS RK_Steuerschlüssel, 0 AS RK_SteuersatzProzent, 'EUR' AS RK_Währungscode,
0 AS RK_Nettozahlungsziel, 7 as Firma_ID,0 AS RK_SteuerpflichtigerBetrag, (SUM(soll) + SUM(haben)) AS RK_SteuerfreierBetrag,
0 AS RK_Steuerbetrag, (SUM(soll) + SUM(haben)) AS RK_Rechnungsbetrag,Count(1) AS RK_Satzzähler,'' as VZ,1 as BV,'KB' as Source
FROM [tblKassenbuch]
inner join [tblEABelegnummer] on [tblEABelegnummer].Mandant=tblKassenbuch.Mandant AND [tblEABelegnummer].Niederlassung=tblKassenbuch.Niederlassung AND [tblEABelegnummer].Benutzer=tblKassenbuch.Benutzer AND [tblEABelegnummer].BelegDat=tblKassenbuch.BelegDat AND [tblEABelegnummer].BelegNr=tblKassenbuch.BelegNr
WHERE tblKassenbuch.Mandant='" & Mandant & "' and tblKassenbuch.Niederlassung='" & Niederlassung & "' And Konto= " & Konto & " and Trdin = 0 " & If(Buchungsjahr > 0, " and Year(cast(Buchungsdatum as date)) =" & Buchungsjahr, "") & "
group by tblKassenbuch.rksv_BelegId, KundenNr HAVING case when SUM(soll) > 0 then MIN(KundenNr) else 2700 end > 0"
If WithOrderClause Then
getSQLString_SELECTForTrdInvoice_Barverkauf &= " ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
End If
End Function
Shared Function getSQLString_SELECT_VZ(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1) Shared Function getSQLString_SELECT_VZ(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1)
getSQLString_SELECT_VZ = "SELECT Rechnungsausgang.RechnungsDatum AS RK_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RK_RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum) AS RK_Abfertigungsdatum, min(Rechnungsausgang.FilialenNr) AS RK_FilialenNr, getSQLString_SELECT_VZ = "SELECT Rechnungsausgang.RechnungsDatum AS RK_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RK_RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum) AS RK_Abfertigungsdatum, min(Rechnungsausgang.FilialenNr) AS RK_FilialenNr,
min(Rechnungsausgang.AbfertigungsNr) AS RK_AbfertigungsNr, min(Rechnungsausgang.UnterNr) AS RK_UnterNr, min(Rechnungsausgang.BelegartenNr) AS RK_BelegartenNr,max(CONVERT(int,isnull(tblUStVPositionen.UStVPo_VZ,0))) as VZ, MAX(isnull(tblUStVPositionen.UStVAn_ID,0)) as AntragsID min(Rechnungsausgang.AbfertigungsNr) AS RK_AbfertigungsNr, min(Rechnungsausgang.UnterNr) AS RK_UnterNr, min(Rechnungsausgang.BelegartenNr) AS RK_BelegartenNr,max(CONVERT(int,isnull(tblUStVPositionen.UStVPo_VZ,0))) as VZ, MAX(isnull(tblUStVPositionen.UStVAn_ID,0)) as AntragsID
@@ -749,4 +840,42 @@ Class TrdInvoice_FUNCTIONS
HAVING (((Rechnungsausgang.RechnungsDatum)='" & RechnungsDatum.ToShortDateString & "') AND ((Rechnungsausgang.RechnungsNr)=" & RechnungsNr & ")) " & If(Firma > 0, " and Rechnungsausgang.Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Rechnungsausgang.Buchungsjahr=" & Buchungsjahr, "") & " HAVING (((Rechnungsausgang.RechnungsDatum)='" & RechnungsDatum.ToShortDateString & "') AND ((Rechnungsausgang.RechnungsNr)=" & RechnungsNr & ")) " & If(Firma > 0, " and Rechnungsausgang.Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Rechnungsausgang.Buchungsjahr=" & Buchungsjahr, "") & "
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig;" ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig;"
End Function End Function
Shared Function getSQLString_SELECTForTrdProduct_Barverkauf(RechnungsDatum As Date, RechnungsNr As Integer, Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1)
getSQLString_SELECTForTrdProduct_Barverkauf = " select max(tblKassenbuch.BelegDat) as RK_RechnungsDatum,max(tblKassenbuch.rksv_BelegId) as RK_RechnungsNr,max(tblKassenbuch.BelegDat) AS RK_Abfertigungsdatum, min([tblEABelegnummer].FilialenNr) as RK_FilialenNr, min([tblEABelegnummer].AbfertigungsNr) AS RK_AbfertigungsNr, 0 AS RK_UnterNr,
case when SUM(soll) > 0 then
'Einnahme-LG'
else
'Ausgabe-LG'
end as RP_LeistungsBez,
0 as RP_Steuerpflichtig,
min(Buchungstext) as RK_Buchungstext,
110 as RP_LeistungsNr,
0 AS RK_KundenNrZentrale,
0 AS RK_RechnungsKundenNr,
'AT' AS RK_RechnungsLandKz,
'' AS RK_RechnungsUstIdKz,
''AS RK_RechnungsUstIdNr,
0 AS RK_Lastschrift,
0 AS RK_Steuerschlüssel,
0 AS RK_SteuersatzProzent,
'EUR' AS RK_Währungscode,
0 AS RK_Nettozahlungsziel,
7 as Firma_ID,
0 AS RP_SteuerpflichtigerBetrag,
(SUM(soll) + SUM(haben)) AS RP_SteuerfreierBetrag,
0 AS RK_Steuerbetrag,
(SUM(soll) + SUM(haben)) AS RK_Rechnungsbetrag,
Count(1) AS RP_Satzzähler,
'' as VZ,
1 as BV,
'KB' as Source,
'' as RP_Belegdaten,
'' as AufschubkontoNr
FROM [tblKassenbuch]
inner join [tblEABelegnummer] on [tblEABelegnummer].Mandant=tblKassenbuch.Mandant AND [tblEABelegnummer].Niederlassung=tblKassenbuch.Niederlassung AND [tblEABelegnummer].Benutzer=tblKassenbuch.Benutzer AND [tblEABelegnummer].BelegDat=tblKassenbuch.BelegDat AND [tblEABelegnummer].BelegNr=tblKassenbuch.BelegNr
where tblKassenbuch.Mandant='VERA' and tblKassenbuch.Niederlassung='SUA' And Konto=5033
group by tblKassenbuch.rksv_BelegId
HAVING max(tblKassenbuch.BelegDat)='" & RechnungsDatum.ToShortDateString & "' AND tblKassenbuch.rksv_BelegId=" & RechnungsNr
End Function
End Class End Class

View File

@@ -1,5 +1,6 @@
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports sun.util.resources.cldr.ve Imports sun.util.resources.cldr.ve
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
Public Class cSyska_Interface Public Class cSyska_Interface
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -129,7 +130,7 @@ Public Class cSyska_Interface
'DATEIPFAD für Stammdaten 'DATEIPFAD für Stammdaten
'------------------------------------------------------------------------------------------- '-------------------------------------------------------------------------------------------
Dim pathArchivKD = "\\datenarchiv\Datenarchiv\SYSKA\" & FIRMA.Firma_ID & "\" & Now.Year & "\" & Now.Date.ToShortDateString & "\Archiv\" Dim pathArchivKD = "\\datenarchiv\Datenarchiv\SYSKA\" & FIRMA.Firma_ID & "\" & Now.Year & "\" & Now.Date.ToShortDateString & "\Archiv\"
Dim pathKD = "\\syncluster01.verag.ost.dmn\F\BUCHHALTUNG\FIBU\Syska\" & FIRMA.Firma_ID & "\" Dim pathKD = "\\syncluster01.verag.ost.dmn\F\FIBU\Syska\" & FIRMA.Firma_ID & "\"
'pathKD = pathArchivKD 'TEST 'pathKD = pathArchivKD 'TEST
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
@@ -295,7 +296,7 @@ Public Class cSyska_Interface
'DATEIPFAD für Buchungsdaten 'DATEIPFAD für Buchungsdaten
'------------------------------------------------------------------------------------------- '-------------------------------------------------------------------------------------------
Dim pathArchiv = "\\datenarchiv\Datenarchiv\SYSKA\" & FIRMA.Firma_ID & "\" & Now.Year & "\" & Now.Date.ToShortDateString & "\Archiv\" Dim pathArchiv = "\\datenarchiv\Datenarchiv\SYSKA\" & FIRMA.Firma_ID & "\" & Now.Year & "\" & Now.Date.ToShortDateString & "\Archiv\"
Dim path = "\\fmzoll\f\FMZoll\FiBu\Syska\" & FIRMA.Firma_ID & "\" Dim path = "\\syncluster01.verag.ost.dmn\F\FIBU\Syska\" & FIRMA.Firma_ID & "\"
'pathKD = pathArchivKD 'TEST 'pathKD = pathArchivKD 'TEST
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
@@ -314,89 +315,27 @@ Public Class cSyska_Interface
'----------------- Buchungssätze ----------------- '----------------- Buchungssätze -----------------
If True Then 'boolBuchungen Then If True Then 'boolBuchungen Then
If WdhDateiname = "" AndAlso Not ambargubuchungen Then TrdInvoice_FUNCTIONS.TrdinSchreiben(FIRMA.Firma_ID) 'Lädt die Daten aus der Tabelle Rechnungsausgang in die Tabelle trdInvoice (nur für 20 = IMEX ) If WdhDateiname = "" AndAlso Not ambargubuchungen Then TrdInvoice_FUNCTIONS.TrdinSchreiben(FIRMA.Firma_ID) 'Lädt die Daten aus der Tabelle Rechnungsausgang in die Tabelle trdInvoice (nur für 20 = IMEX )
Dim dt_Buchungen As DataTable = getBuchungen(FIRMA.Firma_ID, WdhDateiname, ambargubuchungen, ambarKreditor) Dim dt_Buchungen_ALL As DataTable = getBuchungen(FIRMA.Firma_ID, WdhDateiname, ambargubuchungen, ambarKreditor)
' MsgBox(WdhDateiname & " - " & dt_Buchungen.Rows.Count) ' MsgBox(WdhDateiname & " - " & dt_Buchungen.Rows.Count)
If dt_Buchungen IsNot Nothing AndAlso dt_Buchungen.Rows.Count > 0 Then If dt_Buchungen_ALL IsNot Nothing AndAlso dt_Buchungen_ALL.Rows.Count > 0 Then
Dim ROWS_BV = dt_Buchungen_ALL.AsEnumerable().Where(Function(r) r.Field(Of Boolean)("BV") = True)
Dim ROWS_not_BV = dt_Buchungen_ALL.AsEnumerable().Where(Function(r) r.Field(Of Boolean)("BV") = False)
Dim dt_Buchungen_BV As DataTable = If(ROWS_BV.Any(), ROWS_BV.CopyToDataTable(), dt_Buchungen_ALL.Clone())
Dim dt_Buchungen As DataTable = If(ROWS_not_BV.Any(), ROWS_not_BV.CopyToDataTable(), dt_Buchungen_ALL.Clone())
Try Try
Dim file As System.IO.StreamWriter '2 Dateien Belege betreffend BV und andere Belege
Dim Dateiname = IIf(ambargubuchungen, "GS_AMBAR_" & ambarKreditor & "_", "AVISO_BUBE_") & Now.ToString("ddMMyyyy_HHmm") & ".txt"
file = My.Computer.FileSystem.OpenTextFileWriter(path & Dateiname, True, System.Text.Encoding.GetEncoding("iso-8859-15"))
' initKDNr(dt_Buchungen)
Dim SummeBuchungen As Double = 0
'file.WriteLine(genBuchungenBeginn()) 'not needed
For Each r In dt_Buchungen.Rows
Dim curDifferenzbetrag As Double = 0
If r("WährungFremd") Is DBNull.Value Then
curDifferenzbetrag = Math.Round(If(r("RechnungsbetragLokal") < 0, 0 - r("RechnungsbetragLokal"), r("RechnungsbetragLokal")), 2)
Else
curDifferenzbetrag = Math.Round(If(r("RechnungsbetragFremd") < 0, 0 - r("RechnungsbetragFremd"), r("RechnungsbetragFremd")), 2)
End If
If r("BelegartenNr") = 70 Or ambargubuchungen And r("BelegartenNr") = 71 Then 'RECHNUNG ---> Immer am Anfang
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
End If
Dim dt_BuchungenZeilen As DataTable
If Not ambargubuchungen Then
dt_BuchungenZeilen = getBuchungenZeilen(FIRMA.Firma_ID, r("Rechnungsnummer"), r("Rechnungsdatum"), WdhDateiname)
Else
dt_BuchungenZeilen = getBuchungenZeilenAMBAR(r("Rechnungsnummer"), r("Rechnungsdatum"), WdhDateiname)
End If
If dt_BuchungenZeilen IsNot Nothing AndAlso dt_BuchungenZeilen.Rows.Count > 0 Then
For Each rz In dt_BuchungenZeilen.Rows
file.WriteLine(genBuchungsZeile(rz, SummeBuchungen, Geschaeftsjahr, FIRMA, curDifferenzbetrag, ambargubuchungen, r("Buchungstext"))) ' BuchungsZeilen...
Next
End If
If curDifferenzbetrag <> 0 Then 'Differenz --> Ausgelich auf Diff.Konto
file.WriteLine(genBuchungsZeileDiffBetrag(r, SummeBuchungen, Geschaeftsjahr, FIRMA, curDifferenzbetrag))
End If
If r("BelegartenNr") = 71 And Not ambargubuchungen Then 'GUTSCHRIFT ---> Immer am Schluss
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
End If
Next
For Each r In dt_Buchungen.Rows
If r("VZ") = 1 Then
file.WriteLine(genBuchungsZeileVZ(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
End If
Next
' file.WriteLine(genBuchungenEnd(SummeBuchungen))
bool_DatenVorhanden = True
'Update Filename TrdIn 'NOCH NICHT!!!! -->JETZT DOCH!!!
Dim varDateiname As String = IIf(ambargubuchungen, "AmbDateiname", "TrdinDateiname")
Dim whereAmbarBuchungen As String = ""
If ambargubuchungen And ambarKreditor = "AG" Then
whereAmbarBuchungen = "AND RechnungsKundenNr = 3013401 and RechnungsUstIdNr = 'U53187000' And BelegartenNr = 71"
ElseIf ambargubuchungen And ambarKreditor = "CS" Then
whereAmbarBuchungen = "AND RechnungsKundenNr = 3017683 and RechnungsUstIdNr = 'U68374109' And BelegartenNr = 71"
If dt_Buchungen.Rows.Count > 0 Then
createBuchungszeilen(dt_Buchungen, ambargubuchungen, FIRMA, WdhDateiname, Geschaeftsjahr, path, pathArchiv, ambarKreditor, bool_DatenVorhanden, OpenFile, False)
End If
If dt_Buchungen_BV.Rows.Count > 0 Then
createBuchungszeilen(dt_Buchungen_BV, ambargubuchungen, FIRMA, WdhDateiname, Geschaeftsjahr, path, pathArchiv, ambarKreditor, bool_DatenVorhanden, OpenFile, True)
End If End If
If WdhDateiname = "" Then
SQL.doSQL("update [tblTrdinInvoice] Set " & varDateiname & "='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = " & FIRMA.Firma_ID & " AND " & varDateiname & " is null " & whereAmbarBuchungen, "FMZOLL")
Else
SQL.doSQL("update [tblTrdinInvoice] Set " & varDateiname & "='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = " & FIRMA.Firma_ID & " AND " & varDateiname & " ='" & WdhDateiname & "' " & whereAmbarBuchungen, "FMZOLL")
End If
file.Close()
'In Archiv sichern
If pathArchiv <> "" Then
If Not System.IO.Directory.Exists(pathArchiv) Then System.IO.Directory.CreateDirectory(pathArchiv)
If path <> pathArchiv Then System.IO.File.Copy(path & Dateiname, pathArchiv & Dateiname)
End If
If bool_DatenVorhanden Then
If OpenFile Then Process.Start(path & Dateiname)
Else
System.IO.File.Delete(path & Dateiname)
End If
Catch ex As Exception Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
@@ -414,6 +353,89 @@ Public Class cSyska_Interface
Return False Return False
End Function End Function
Private Shared Function createBuchungszeilen(dt As DataTable, ambargubuchungen As Boolean, firma As cFirmen, WdhDateiname As String, Geschaeftsjahr As Integer, path As String, pathArchiv As String, ambarKreditor As String, bool_DatenVorhanden As Boolean, OpenFile As Boolean, onlyBarverkauf As Boolean)
Dim file As System.IO.StreamWriter
Dim Dateiname = IIf(ambargubuchungen, "GS_AMBAR_" & ambarKreditor & "_", "AVISO_BUBE_") & IIf(onlyBarverkauf, "BV_", "") & Now.ToString("ddMMyyyy_HHmm") & ".txt"
file = My.Computer.FileSystem.OpenTextFileWriter(path & Dateiname, True, System.Text.Encoding.GetEncoding("iso-8859-15"))
Dim SummeBuchungen As Double = 0
For Each r In dt.Rows
Dim curDifferenzbetrag As Double = 0
If r("WährungFremd") Is DBNull.Value Then
curDifferenzbetrag = Math.Round(If(r("RechnungsbetragLokal") < 0, 0 - r("RechnungsbetragLokal"), r("RechnungsbetragLokal")), 2)
Else
curDifferenzbetrag = Math.Round(If(r("RechnungsbetragFremd") < 0, 0 - r("RechnungsbetragFremd"), r("RechnungsbetragFremd")), 2)
End If
If (r("BelegartenNr") = 70 Or ambargubuchungen And r("BelegartenNr") = 71) Then 'RECHNUNG ---> Immer am Anfang
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, firma, ambargubuchungen))
End If
Dim dt_BuchungenZeilen As DataTable
If Not ambargubuchungen Then
dt_BuchungenZeilen = getBuchungenZeilen(firma.Firma_ID, r("Rechnungsnummer"), r("Rechnungsdatum"), r("Source"), WdhDateiname)
Else
dt_BuchungenZeilen = getBuchungenZeilenAMBAR(r("Rechnungsnummer"), r("Rechnungsdatum"), r("Source"), WdhDateiname)
End If
If dt_BuchungenZeilen IsNot Nothing AndAlso dt_BuchungenZeilen.Rows.Count > 0 Then
For Each rz In dt_BuchungenZeilen.Rows
file.WriteLine(genBuchungsZeile(rz, SummeBuchungen, Geschaeftsjahr, firma, curDifferenzbetrag, ambargubuchungen, r("Buchungstext"))) ' BuchungsZeilen...
Next
End If
If curDifferenzbetrag <> 0 AndAlso Not (r("BelegartenNr") = 31 Or r("BelegartenNr") = 30) Then 'Differenz --> Ausgelich auf Diff.Konto -> nicht bei EINZAHLUNGEN/AUSZAHLUNGEN
file.WriteLine(genBuchungsZeileDiffBetrag(r, SummeBuchungen, Geschaeftsjahr, firma, curDifferenzbetrag))
End If
If (r("BelegartenNr") = 71 Or r("BelegartenNr") = 31 Or r("BelegartenNr") = 30) And Not ambargubuchungen Then 'GUTSCHRIFT|EINNAHNE|AUSGABE ---> Immer am Schluss
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, firma, ambargubuchungen))
End If
Next
For Each r In dt.Rows
If r("VZ") = 1 Then
file.WriteLine(genBuchungsZeileVZ(r, SummeBuchungen, Geschaeftsjahr, firma, ambargubuchungen))
End If
Next
bool_DatenVorhanden = True
Dim varDateiname As String = IIf(ambargubuchungen, "AmbDateiname", "TrdinDateiname")
Dim whereAmbarBuchungen As String = ""
If ambargubuchungen And ambarKreditor = "AG" Then
whereAmbarBuchungen = "AND RechnungsKundenNr = 3013401 and RechnungsUstIdNr = 'U53187000' And BelegartenNr = 71"
ElseIf ambargubuchungen And ambarKreditor = "CS" Then
whereAmbarBuchungen = "AND RechnungsKundenNr = 3017683 and RechnungsUstIdNr = 'U68374109' And BelegartenNr = 71"
End If
If WdhDateiname = "" Then
SQL.doSQL("update [tblTrdinInvoice] Set " & varDateiname & "='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = " & firma.Firma_ID & " AND " & varDateiname & " is null and isnull(BV, 0) = " & IIf(onlyBarverkauf, "1", "0") & whereAmbarBuchungen, "FMZOLL")
Else
SQL.doSQL("update [tblTrdinInvoice] Set " & varDateiname & "='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = " & firma.Firma_ID & " AND " & varDateiname & " ='" & WdhDateiname & "' and isnull(BV, 0) = " & IIf(onlyBarverkauf, "1", "0") & whereAmbarBuchungen, "FMZOLL")
End If
file.Close()
If pathArchiv <> "" Then
If Not System.IO.Directory.Exists(pathArchiv) Then System.IO.Directory.CreateDirectory(pathArchiv)
If path <> pathArchiv Then System.IO.File.Copy(path & Dateiname, pathArchiv & Dateiname)
End If
If bool_DatenVorhanden Then
If OpenFile Then Process.Start(path & Dateiname)
Else
System.IO.File.Delete(path & Dateiname)
End If
End Function
'Public Shared Function genDatensatz_BuchungenTEST(ByRef Firma_ID As Integer, Optional OpenFile As Boolean = False) As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean 'Public Shared Function genDatensatz_BuchungenTEST(ByRef Firma_ID As Integer, Optional OpenFile As Boolean = False) As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean
' Try ' Try
' Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID) ' Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID)
@@ -549,11 +571,11 @@ Public Class cSyska_Interface
,min(WährungFremd) as WährungFremd,min(SteuerbetragFremd) as SteuerbetragFremd,min(RechnungsbetragFremd) as RechnungsbetragFremd,min(TrdinDateiname) as TrdinDateiname,min(Abgleich_op_debitor+0) as Abgleich_op_debitor ,min(WährungFremd) as WährungFremd,min(SteuerbetragFremd) as SteuerbetragFremd,min(RechnungsbetragFremd) as RechnungsbetragFremd,min(TrdinDateiname) as TrdinDateiname,min(Abgleich_op_debitor+0) as Abgleich_op_debitor
,min(Nettozahlungsziel) as Nettozahlungsziel,min(Firma_ID) as Firma_ID,min(UStVAn_ID) as UStVAn_ID /*,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig*/,sum(PROD.SteuerpflichtigerBetragLokal) as SteuerpflichtigerBetragLokal ,min(Nettozahlungsziel) as Nettozahlungsziel,min(Firma_ID) as Firma_ID,min(UStVAn_ID) as UStVAn_ID /*,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig*/,sum(PROD.SteuerpflichtigerBetragLokal) as SteuerpflichtigerBetragLokal
,sum(PROD.SteuerfreierBetragLokal) as SteuerfreierBetragLokal,sum(PROD.SteuerpflichtigerBetragFremd) as SteuerpflichtigerBetragFremd,sum(PROD.SteuerfreierBetragFremd) as SteuerfreierBetragFremd,min(Belegdaten) as Belegdaten ,sum(PROD.SteuerfreierBetragLokal) as SteuerfreierBetragLokal,sum(PROD.SteuerpflichtigerBetragFremd) as SteuerpflichtigerBetragFremd,sum(PROD.SteuerfreierBetragFremd) as SteuerfreierBetragFremd,min(Belegdaten) as Belegdaten
,min(Sachkonto) as Sachkonto,min(Buchungstext) as Buchungstext,Sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal]) As BetragLokal, Sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd]) As BetragFremd, MAX(VZ) as VZ, SUM(isnull(PROD.VZBetrag,0)) as VZBetrag ,min(Sachkonto) as Sachkonto,min(Buchungstext) as Buchungstext,Sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal]) As BetragLokal, Sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd]) As BetragFremd, MAX(VZ) as VZ, SUM(isnull(PROD.VZBetrag,0)) as VZBetrag, IVO.BV, IVO.Source
FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum=PROD.Rechnungsdatum FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum=PROD.Rechnungsdatum and IVO.Source = PROD.Source
" & where & " " & where & "
group by Firma_id, IVO.Rechnungsnummer,IVO.rechnungsdatum/*,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig*/ group by Firma_id, IVO.Rechnungsnummer,IVO.rechnungsdatum, IVO.BV, IVO.Source/*,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig*/
ORDER BY IVO.Rechnungsdatum, IVO.Rechnungsnummer " ORDER BY IVO.Rechnungsdatum, IVO.Rechnungsnummer "
' --and IVO.Rechnungsnummer=19400002 ' --and IVO.Rechnungsnummer=19400002
Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 9800) Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 9800)
@@ -597,32 +619,32 @@ Public Class cSyska_Interface
'End Function 'End Function
Shared Function getBuchungenZeilen(Firma_ID As Integer, Rechnungsnummer As Integer, Rechnungsdatum As Date, Optional WdhDateiname As String = "") As DataTable Shared Function getBuchungenZeilen(Firma_ID As Integer, Rechnungsnummer As Integer, Rechnungsdatum As Date, Source As String, Optional WdhDateiname As String = "") As DataTable
Dim sqlStr = " SELECT Sachkonto,IVO.Rechnungsdatum Rechnungsdatum,IVO.Rechnungsnummer Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,steuerpflichtig,[Steuersatz %] Steuersatz,BelegartenNr, Dim sqlStr = " SELECT Sachkonto,IVO.Rechnungsdatum Rechnungsdatum,IVO.Rechnungsnummer Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,steuerpflichtig,[Steuersatz %] Steuersatz,BelegartenNr,
WährungFremd, WährungLokal,sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal])BetragLokal, WährungFremd, WährungLokal,sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal])BetragLokal,
sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd])BetragFremd ,sum(RechnungsbetragLokal) RechnungsbetragLokal,sum(RechnungsbetragFremd) RechnungsbetragFremd sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd])BetragFremd ,sum(RechnungsbetragLokal) RechnungsbetragLokal,sum(RechnungsbetragFremd) RechnungsbetragFremd, IVO.Source
FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum = PROD.Rechnungsdatum FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum = PROD.Rechnungsdatum and IVO.Source = PROD.Source
WHERE Firma_ID ='" & Firma_ID & "' AND IVO.Rechnungsnummer ='" & Rechnungsnummer & "' AND cast(IVO.Rechnungsdatum as date) ='" & Rechnungsdatum.ToShortDateString & "' AND " & If(WdhDateiname = "", " TrdinDateiname Is Null ", " TrdinDateiname ='" & WdhDateiname & "' ") & " WHERE Firma_ID ='" & Firma_ID & "' AND IVO.Source = '" & Source & "' AND IVO.Rechnungsnummer ='" & Rechnungsnummer & "' AND cast(IVO.Rechnungsdatum as date) ='" & Rechnungsdatum.ToShortDateString & "' AND " & If(WdhDateiname = "", " TrdinDateiname Is Null ", " TrdinDateiname ='" & WdhDateiname & "' ") & "
GROUP BY Sachkonto,IVO.Rechnungsdatum,IVO.Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,steuerpflichtig,[Steuersatz %] ,BelegartenNr,WährungFremd,WährungLokal GROUP BY Sachkonto,IVO.Rechnungsdatum,IVO.Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,steuerpflichtig,[Steuersatz %] ,BelegartenNr,WährungFremd,WährungLokal, IVO.Source
ORDER BY Rechnungsdatum, Rechnungsnummer " ORDER BY Rechnungsdatum, Rechnungsnummer, IVO.Source "
' --and IVO.Rechnungsnummer=19400002 ' --and IVO.Rechnungsnummer=19400002
Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 9800) Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 9800)
End Function End Function
Shared Function getBuchungenZeilenAMBAR(Rechnungsnummer As Integer, Rechnungsdatum As Date, Optional WdhDateiname As String = "") As DataTable Shared Function getBuchungenZeilenAMBAR(Rechnungsnummer As Integer, Rechnungsdatum As Date, Source As String, Optional WdhDateiname As String = "") As DataTable
Dim sqlStr = " SELECT isnull(le.SachkontoEUSteuerfrei,'0000') as Sachkonto ,IVO.Rechnungsdatum Rechnungsdatum,IVO.Rechnungsnummer Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,PROD.steuerpflichtig,[Steuersatz %] Steuersatz,BelegartenNr, Dim sqlStr = " SELECT isnull(le.SachkontoEUSteuerfrei,'0000') as Sachkonto ,IVO.Rechnungsdatum Rechnungsdatum,IVO.Rechnungsnummer Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,PROD.steuerpflichtig,[Steuersatz %] Steuersatz,BelegartenNr,
WährungFremd, WährungLokal,sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal])BetragLokal, WährungFremd, WährungLokal,sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal])BetragLokal,
sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd])BetragFremd ,sum(RechnungsbetragLokal) RechnungsbetragLokal,sum(RechnungsbetragFremd) RechnungsbetragFremd sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd])BetragFremd ,sum(RechnungsbetragLokal) RechnungsbetragLokal,sum(RechnungsbetragFremd) RechnungsbetragFremd
FROM VERAG.dbo.tblTrdinInvoice as IVO FROM VERAG.dbo.tblTrdinInvoice as IVO
left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum = PROD.Rechnungsdatum left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum = PROD.Rechnungsdatum and IVO.Source = PROD.Source
left join [Leistungen] as le on le.LeistungsNr = PROD.Leistungsnummer left join [Leistungen] as le on le.LeistungsNr = PROD.Leistungsnummer
WHERE Firma_ID ='24' AND IVO.Rechnungsnummer ='" & Rechnungsnummer & "' AND cast(IVO.Rechnungsdatum as date) ='" & Rechnungsdatum.ToShortDateString & "' AND " & If(WdhDateiname = "", " AmbDateiname Is Null ", " AmbDateiname ='" & WdhDateiname & "' ") & " WHERE Firma_ID ='24' AND IVO.Source = '" & Source & "' AND IVO.Rechnungsnummer ='" & Rechnungsnummer & "' AND cast(IVO.Rechnungsdatum as date) ='" & Rechnungsdatum.ToShortDateString & "' AND " & If(WdhDateiname = "", " AmbDateiname Is Null ", " AmbDateiname ='" & WdhDateiname & "' ") & "
GROUP BY le.SachkontoEUSteuerfrei ,IVO.Rechnungsdatum,IVO.Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,PROD.steuerpflichtig,[Steuersatz %] ,BelegartenNr,WährungFremd,WährungLokal GROUP BY le.SachkontoEUSteuerfrei ,IVO.Rechnungsdatum,IVO.Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,PROD.steuerpflichtig,[Steuersatz %] ,BelegartenNr,WährungFremd,WährungLokal, IVO.Source
ORDER BY Rechnungsdatum, Rechnungsnummer " ORDER BY Rechnungsdatum, Rechnungsnummer "
' --and IVO.Rechnungsnummer=19400002 ' --and IVO.Rechnungsnummer=19400002
Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 9800) Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 9800)
@@ -735,6 +757,79 @@ Public Class cSyska_Interface
End If End If
ElseIf row("BelegartenNr") = 31 Then 'Einnahme
Dim FiBuWährung = ""
Dim FiBuSollkontonummer = "0"
Dim FiBuHabenkontonummer = row("KundenNrZentrale")
Dim FiBuBruttobetrag As Double
If row("WährungFremd") Is DBNull.Value Then
FiBuWährung = row("WährungLokal")
FiBuBruttobetrag = (CDbl(row("RechnungsbetragLokal")))
Else
FiBuWährung = row("WährungFremd")
FiBuBruttobetrag = (CDbl(row("RechnungsbetragFremd")))
End If
Dim FiBuEigenbruttobetrag = CDbl(row("RechnungsbetragLokal"))
genBuchungsZeileSum = "L" & vbTab
genBuchungsZeileSum &= CDate(row("Rechnungsdatum")).ToString("dd.MM.yyyy") & vbTab
genBuchungsZeileSum &= FormatStringSYS(row("Rechnungsnummer")) & vbTab
genBuchungsZeileSum &= FiBuSollkontonummer & vbTab
genBuchungsZeileSum &= FiBuHabenkontonummer & vbTab
genBuchungsZeileSum &= IIf(row("Buchungstext") <> "" AndAlso row("Buchungstext").ToString.Contains("Zinsen"), row("Buchungstext") & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
genBuchungsZeileSum &= Format(CDbl(FiBuBruttobetrag), fmt) & vbTab
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuersatz
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuerbetrag
genBuchungsZeileSum &= FiBuWährung & vbTab
genBuchungsZeileSum &= Format(CDbl(FiBuEigenbruttobetrag), fmt) & vbTab
ElseIf row("BelegartenNr") = 30 Then 'Ausgabe
Dim FiBuSollkontonummer = "0"
Dim FiBuHabenkontonummer = row("KundenNrZentrale") '2700
Dim Bruttobetrag As Double
Dim FiBuWährung = ""
If row("WährungFremd") Is DBNull.Value Then
Bruttobetrag = row("RechnungsbetragLokal") 'Bruttobetrag
Else
Bruttobetrag = row("RechnungsbetragFremd") 'Bruttobetrag
End If
If row("WährungFremd") Is DBNull.Value Then
FiBuWährung = row("WährungLokal")
Else
FiBuWährung = row("WährungFremd")
End If
Dim FiBuEigenbruttobetrag = row("RechnungsbetragLokal")
genBuchungsZeileSum = "L" & vbTab
genBuchungsZeileSum &= CDate(row("Rechnungsdatum")).ToString("dd.MM.yyyy") & vbTab
genBuchungsZeileSum &= FormatStringSYS(row("Rechnungsnummer")) & vbTab
genBuchungsZeileSum &= FiBuSollkontonummer & vbTab
genBuchungsZeileSum &= FiBuHabenkontonummer & vbTab
'genBuchungsZeileSum &= row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab
genBuchungsZeileSum &= IIf(row("Buchungstext") <> "" AndAlso row("Buchungstext").ToString.Contains("Zinsen"), row("Buchungstext") & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
genBuchungsZeileSum &= Format(CDbl(Bruttobetrag), fmt) & vbTab
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuersatz
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuerbetrag
genBuchungsZeileSum &= FiBuWährung & vbTab
genBuchungsZeileSum &= Format(CDbl(FiBuEigenbruttobetrag), fmt) & vbTab
End If End If
@@ -752,11 +847,11 @@ Public Class cSyska_Interface
Dim FiBuSteuerbetrag As String Dim FiBuSteuerbetrag As String
Dim FiBuSollkontonummer As Integer Dim FiBuSollkontonummer As Integer
Dim FiBuHabenkontonummer As Integer Dim FiBuHabenkontonummer As Integer
Dim FiBuWährung = "EUR" Dim FiBuWährung = "EUR"
Select Case row("BelegartenNr") Select Case row("BelegartenNr")
Case 70 'Rechnung
Case 70 'Rechnung
FiBuSollkontonummer = "0" FiBuSollkontonummer = "0"
FiBuHabenkontonummer = If(row("Sachkonto") IsNot DBNull.Value AndAlso IsNumeric(row("Sachkonto")), row("Sachkonto"), 0) FiBuHabenkontonummer = If(row("Sachkonto") IsNot DBNull.Value AndAlso IsNumeric(row("Sachkonto")), row("Sachkonto"), 0)
If row("WährungFremd") Is DBNull.Value Then If row("WährungFremd") Is DBNull.Value Then
@@ -784,6 +879,28 @@ Public Class cSyska_Interface
End If End If
Case 31 'Einnahme
FiBuSollkontonummer = 2700 'If(row("Sachkonto") IsNot DBNull.Value AndAlso IsNumeric(row("Sachkonto")), row("Sachkonto"), 0)
FiBuHabenkontonummer = "0"
If row("WährungFremd") Is DBNull.Value Then
curNettobetrag = row("BetragLokal")
Else
curNettobetrag = row("BetragFremd")
End If
Case 30 'Ausgabe
FiBuSollkontonummer = If(row("Sachkonto") IsNot DBNull.Value AndAlso IsNumeric(row("Sachkonto")), row("Sachkonto"), 0)
FiBuHabenkontonummer = "0"
If row("WährungFremd") Is DBNull.Value Then
curNettobetrag = row("BetragLokal")
Else
curNettobetrag = row("BetragFremd")
End If
End Select End Select
If CBool(row("steuerpflichtig")) Then If CBool(row("steuerpflichtig")) Then
@@ -935,6 +1052,14 @@ Public Class cSyska_Interface
Case 71 'Gutschrift Case 71 'Gutschrift
FiBuSollkontonummer = "8490" FiBuSollkontonummer = "8490"
FiBuHabenkontonummer = "0" FiBuHabenkontonummer = "0"
Case 31 'Einnahme
FiBuSollkontonummer = "8490"
FiBuHabenkontonummer = "0"
Case 30 'Ausgabe
FiBuSollkontonummer = "8490"
FiBuHabenkontonummer = "0"
End Select End Select

View File

@@ -1,6 +1,5 @@
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.Reflection Imports System.Reflection
Imports Spire.Pdf
Public Class cGesamtsicherheitsReferenz Public Class cGesamtsicherheitsReferenz
@@ -14,6 +13,7 @@ Public Class cGesamtsicherheitsReferenz
Property gsr_Saldo As Object = Nothing Property gsr_Saldo As Object = Nothing
Property gsr_ATR As Boolean = False Property gsr_ATR As Boolean = False
Property gsr_standort As Object = Nothing Property gsr_standort As Object = Nothing
Property gsr_firma As Object = Nothing
Public hasEntry = False Public hasEntry = False
@@ -23,11 +23,23 @@ Public Class cGesamtsicherheitsReferenz
End Sub End Sub
Sub New(_gsr_standort)
Sub New(gsr_id As Integer)
gsr_id = gsr_id
LOADID()
End Sub
Sub New(_gsr_standort As String)
gsr_standort = _gsr_standort gsr_standort = _gsr_standort
LOAD() LOAD()
End Sub End Sub
Sub New(_gsr_standort As String, _gsr_firma As String)
gsr_standort = _gsr_standort
gsr_firma = _gsr_firma
LOAD(_gsr_firma)
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gsr_standort", gsr_standort,, True)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gsr_standort", gsr_standort,, True))
@@ -56,7 +68,7 @@ Public Class cGesamtsicherheitsReferenz
Return SQL.doSQLVarList(sqlstr, "AVISO", , list) Return SQL.doSQLVarList(sqlstr, "AVISO", , list)
End Function End Function
Public Sub LOAD() Public Sub LOAD(Optional Firma As String = "")
Try Try
@@ -64,8 +76,41 @@ Public Class cGesamtsicherheitsReferenz
Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO() Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
Using cmd As New SqlCommand("SELECT * FROM tblGesamtsicherheitReferenz WHERE gsr_Standort=@gsr_standort ", conn) Using cmd As New SqlCommand("SELECT * FROM tblGesamtsicherheitReferenz WHERE gsr_Standort=@gsr_standort " & IIf(Firma <> "", "AND gsr_firma=@gsr_firma", ""), conn)
cmd.Parameters.AddWithValue("@gsr_standort", gsr_standort) cmd.Parameters.AddWithValue("@gsr_standort", gsr_standort)
If Firma <> "" Then cmd.Parameters.AddWithValue("@gsr_firma", gsr_firma)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Sub LOADID(Optional Firma As String = "")
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
Using cmd As New SqlCommand("SELECT * FROM tblGesamtsicherheitReferenz WHERE gsr_id=@gsr_id ", conn)
cmd.Parameters.AddWithValue("@gsr_id", gsr_id)
Dim dr = cmd.ExecuteReader() Dim dr = cmd.ExecuteReader()
If dr.Read Then If dr.Read Then
For Each li In getParameterList() For Each li In getParameterList()