diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb new file mode 100644 index 00000000..2b3a1598 --- /dev/null +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -0,0 +1,331 @@ + +Imports GrapeCity.DataVisualization.TypeScript +Imports Microsoft.Office.Interop +Imports Microsoft.Office.Interop.Outlook +Imports VERAG_PROG_ALLGEMEIN + +Public Class cAutomailversand + + Sub sendMailSammelrechnung(Sammelrechnungsdatum As Date, SammelrechungArt As Integer, FirmaID As Integer, Optional KundenNr As Integer = -1, Optional mailoeffnen As Boolean = False) + Try + 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 Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" & Sammelrechnungsdatum.ToShortDateString & "' + and isnull(Rechnungsausgang.Automailversand,0) = 1 and RechnungsNr > 0 " & IIf(KundenNr > 0, " AND RechnungsKundenNr = " & KundenNr, "") & " + GROUP BY RechnungsNr, RechnungsKundenNr,isnull(tblKundenErweitert.kde_keineMWSt,0),RechnungsLandKz, MitgliedslandEU + ORDER BY RechnungsLandKz, RechnungsKundenNr" + + Dim dt As DataTable = sql.loadDgvBySql(rechnungenMailversand, "FMZOLL") + Dim MDMKopiedrucken As Boolean = False + + + For Each row As DataRow In dt.Rows + + Dim SR_DT As DataTable = Nothing + Dim RechnungsNr As Integer = -1 + Dim DruckDatumZeit As DateTime + Dim Rechnungsdatum = Nothing + Dim ATTACHMENTS As New List(Of cFakt_MailATTach) + + 'AKTUELL IMMER MIT KOPIE + MDMKopiedrucken = True + Dim isEU As Boolean = row.Item("MitgliedslandEU") + + If 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 + + SR_DT = cFakturierung.GET_SR_SQLDT(FirmaID, SammelrechungArt, Sammelrechnungsdatum, row.Item("RechnungsKundenNr"),, , , , True) + + Dim AD = New VERAG_PROG_ALLGEMEIN.cAdressen(row.Item("RechnungsKundenNr")) + + If RechnungsNr = -1 Then + If SR_DT.Rows.Count > 0 Then + Dim displayView = New DataView(SR_DT, "RechnungsNr is not null", "RechnungsNr", DataViewRowState.CurrentRows) + Dim distinctDT_SR As DataTable = displayView.ToTable(True, "RechnungsNr", "DruckDatumZeit", "Rechnungsdatum") + If distinctDT_SR.Rows.Count = 1 Then + RechnungsNr = distinctDT_SR.Rows(0).Item("RechnungsNr") + DruckDatumZeit = distinctDT_SR.Rows(0).Item("DruckDatumZeit") + Rechnungsdatum = distinctDT_SR.Rows(0).Item("Rechnungsdatum") + End If + + End If + End If + + + Dim SR As Boolean = True + + Dim MailTo As String = "" + Dim MailtoCC As String = "" + Dim MailtoBCC As String = "" + + If SammelrechungArt <> 6 Then + + + Dim email_receipt As String = "" + + Dim allAtilla = IIf(FirmaID = 7, True, False) + If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then + For Each r In SR_DT.Rows + If "4801" <> r("FilialenNr") And "4802" <> r("FilialenNr") Then + allAtilla = False + Exit For + End If + Next + End If + + email_receipt = IIf(allAtilla, VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an (ATILLA)"), "") + + MailTo = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an"), email_receipt) 'VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an") + MailtoCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressCC(AD.AdressenNr, "Rechnung an (ATILLA)")) + MailtoBCC = IIf(email_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an"), VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdressBCC(AD.AdressenNr, "Rechnung an (ATILLA)")) + + Else + + If AD.E_Mail IsNot Nothing AndAlso AD.E_Mail <> "" Then MailTo &= AD.E_Mail & ";" + If AD.E_Mail2 IsNot Nothing AndAlso AD.E_Mail2 <> "" Then MailTo &= AD.E_Mail2 & ";" + + + End If + + 'TODO: nach TEST deaktivieren! + If True Then + MailTo = "d.breimaier@verag.ag" + MailtoCC = "" + MailtoBCC = "" + End If + + + + If Not (MailTo = "" AndAlso MailtoCC = "" AndAlso MailtoCC = "") Then + + Dim Mailsubject As String = "" + Dim HTMLMail As String = "" + + Dim listPDFs As New List(Of String) + + setEmailText(row, FirmaID, RechnungsNr, Mailsubject, HTMLMail) + If doRechnung(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs) Then + loadAndSetAnhaenge(SR_DT, ATTACHMENTS, listPDFs) + + If mailoeffnen Then + Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID) + If setLog(row.Item("RechnungsKundenNr"),,,,,,, Mail) Then + Mail.Display() + End If + + Else + If setLog(row.Item("RechnungsKundenNr"), ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC) Then + + End If + + End If + + End If + End If + + + Next + + + Catch ex As System.Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + + End Try + End Sub + + Private Sub setEmailText(row As DataRow, Firma_ID As Integer, RechnungsNr As Integer, ByRef Subject As String, ByRef TextHTML As String) + + Dim txtRgNr As String = IIf(RechnungsNr < 0, -1, RechnungsNr) + Dim Mailtext As String + If row.Item("Steuer") = 0 Then + Mailtext &= (New SQL).getValueTxtBySql("SELECT Text FROM Rechnungstexte WHERE Firma_ID=0 AND EMailRechnung=1 AND Rechnungstexte.DrucksteuerungsKz='R' AND LandKZ='" & row.Item("RechnungsLandKz") & "'", "FMZOLL") + End If + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim listOfTextconserven As cTextkonserve_LIST = New cTextkonserve_LIST(4, "", Firma_ID) + + Dim spracheRechnung As String = "EN" 'Defaultsprache + + Select Case row.Item("RechnungsLandKz") + Case "TR", "RO", "DE", "SRB" : spracheRechnung = row.Item("RechnungsLandKz") + Case "A", "AT", "D", "CH", "DE" : spracheRechnung = "DE" + Case "HR", "SLO", "BIH", "MNE", "MK", "MO" : spracheRechnung = "SRB" + End Select + + + If listOfTextconserven.LIST.Any(Function(c) c.txt_sprache = spracheRechnung) Then + + + Dim r As cTextkonserve = listOfTextconserven.LIST.Find(Function(c) c.txt_sprache = spracheRechnung) + If r IsNot Nothing Then + Subject = r.txt_betreff + Subject = Subject.Replace("%BelegNr%", txtRgNr) + TextHTML &= r.txt_text + If Mailtext <> "" Then TextHTML &= Mailtext & vbNewLine + + End If + End If + + + End Sub + + + Private Function doRechnung(kdNr As Integer, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, lastAktuelle_RgNr As Integer, DruckDatumZeit As Date, Kopie As Boolean, listPDFs As List(Of String), Optional EinzelAnlagen As Boolean = False, Optional Sammelbericht As Boolean = True) + + Dim RechnungsNrisSet As Boolean = False + RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(19, 6, Rechnungsdatum, Rechnungsdatum, "", EinzelAnlagen, Sammelbericht, kdNr, 4, listPDFs, "", lastAktuelle_RgNr, DruckDatumZeit, , , ,, ,,, True, Kopie) + + Return RechnungsNrisSet + End Function + + Private Function createMail(Mailsubject As String, Mailhtml As String, ATTACHMENTS As List(Of cFakt_MailATTach), MailTo As String, MailtoCC As String, MailtoBCC As String, FirmaID As Integer) As Microsoft.Office.Interop.Outlook.MailItem + + + Try + Dim outl As New Outlook.Application + Dim Mail As Microsoft.Office.Interop.Outlook.MailItem + Mail = outl.CreateItem(0) + + Mail.Subject = Mailsubject + + + Dim TextHTML = "" + TextHTML &= Mailhtml + TextHTML &= "
" + TextHTML &= "
" + TextHTML &= "Mit freundlichen Grüßen
" + TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "
" + TextHTML &= "
" + TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True) + Mail.HTMLBody = "
" & TextHTML & "
" + + Mail.To = MailTo + Mail.BCC = MailtoBCC + Mail.CC = MailtoCC + + For Each a In ATTACHMENTS + Mail.Attachments.Add(a.Pfad, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , a.MailName) + Next + + Return Mail + + Catch + + + + End Try + + + End Function + + Private Sub loadAndSetAnhaenge(SR_DT As DataTable, ATTACHMENTS As List(Of cFakt_MailATTach), listPDFs As List(Of String)) + + ATTACHMENTS.Clear() + 'Rechnungsanhänge anfügen + '----------------------------------------------------------------- + If SR_DT IsNot Nothing AndAlso SR_DT.Rows.Count > 0 Then + For Each r In SR_DT.Rows + Dim RG_ANH = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.LOAD_ANHAENGE_LIST(r("RK_ID")) + If RG_ANH IsNot Nothing Then + For Each ANH In RG_ANH + ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung)) + Next + End If + Next + End If + + For Each l In listPDFs + + ATTACHMENTS.Add(New cFakt_MailATTach(l, "")) + + Next + '----------------------------------------------------------------- + + + End Sub + + + Private Function setLog(kdNr As Integer, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing) As Boolean + + Dim mailcreated As Boolean = False + + Dim EMails As String = "" + Dim EMails_CC As String = "" + Dim EMails_BCC As String = "" + Dim EMail_subject As String = "" + Dim EMail_HTML As String = "" + Dim AttCount As Integer = 0 + + If Mail IsNot Nothing Then + EMails = Mail.To + EMails_CC = Mail.CC + EMails_BCC = Mail.BCC + EMail_subject = Mail.Subject + EMail_HTML = Mail.Body + AttCount = Mail.Attachments.Count + Else + EMails = MailTo + EMails_CC = MailtoCC + EMails_BCC = MailtoBCC + EMail_subject = Mailsubject + EMail_HTML = Mailhtml + AttCount = ATTACHMENTS.Count + + End If + + + Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_OUT_BELEGMAIL, "SAMMELRECHNUNG-MDM",,, kdNr) + + API.api_EMail = EMails + API.api_EMailCC = EMails_CC + API.api_EMailBCC = EMails_BCC + API.api_EMailSubject = EMail_subject + API.api_EMailText = EMail_HTML + API.api_EMailAttCnt = AttCount + + If Mail IsNot Nothing Then + + API.UPDTAE_OK() + mailcreated = True + Else + + Dim attachList As New List(Of String) + For Each ATT As cFakt_MailATTach In ATTACHMENTS + attachList.Add(ATT.Pfad) + Next + + + If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(EMails, EMail_subject, EMail_HTML, "noreply@verag.ag", False, False, EMails_CC, EMails_BCC, attachList) Then + API.UPDTAE_OK() + mailcreated = True + Else + API.UPDTAE_ERR() + Return mailcreated + + End If + + + End If + + Return mailcreated + + End Function +End Class diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 444cc58b..1580d48a 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -2892,15 +2892,17 @@ Public Class cFakturierung ' 3-_> Sammel-Rg gedruckt ' 4-_> ? irgendwas mit SR 6 Maut/Diesel?? - Public Shared Function GET_SR_SQLDT(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Optional whereKdNr As String = "", Optional SB As String = "", Optional AvisoIds As List(Of Integer) = Nothing, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "") As DataTable + Public Shared Function GET_SR_SQLDT(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Optional whereKdNr As String = "", Optional SB As String = "", Optional AvisoIds As List(Of Integer) = Nothing, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional AUTOMailversand As String = "") As DataTable If whereKdNr <> "" Then whereKdNr = " AND RechnungsKundenNr IN(" & whereKdNr & ") " Dim whereAbfArt = "" If Abfertigungsart <> "" Then whereAbfArt = " AND (SELECT TOP 1 Abfertigungsart FROM Speditionsbuch WHERE Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr)='" & Abfertigungsart & "' " + Dim whereAutoMailversand = "" + If AUTOMailversand <> "" Then whereAutoMailversand = " AND isnull(Rechnungsausgang.Automailversand,0) = 1 " Dim sqlStr = " SELECT Rechnungsausgang.RK_ID, Rechnungsausgang.Firma_ID, Rechnungsausgang.FilialenNr, Rechnungsausgang.RechnungsKundenNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode, Rechnungsausgang.AvisoID, Rechnungsausgang.RechnungsNr, Rechnungsausgang.RechnungsDatum, Rechnungsausgang.DruckDatumZeit, Rechnungsausgang.Status, Rechnungsausgang.Sammelrechnung, Rechnungsausgang.Abfertigungsdatum, Rechnungsausgang.Buchungsjahr,Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.SpeditionsbuchUnterNr,[SteuerpflichtigerGesamtbetrag],[SteuerfreierGesamtbetrag] From Rechnungsausgang WHERE Rechnungsausgang.Status IN(0, 2) And Rechnungsausgang.Firma_ID = " & Firma_ID & " And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And Rechnungsausgang.FakturierungsGruppe = '" & FakturierungsGruppe & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) <= '" & DatumBis.ToShortDateString & "' " & whereKdNr & whereAbfArt & " - " & If(SammelrechungArt = 7 And SB <> "", " AND Sachbearbeiter='" & SB & "' ", "") & "" & getWhereAvisoId(AvisoIds) + " & If(SammelrechungArt = 7 And SB <> "", " AND Sachbearbeiter='" & SB & "' ", "") & "" & getWhereAvisoId(AvisoIds) & whereAutoMailversand 'Rechnungsausgang.Status IN(0, 2) --> vorher nur 2, da Anlagen vor der SR gedruckt wurden... If SammelrechungArt = 7 Then sqlStr &= " ORDER BY Rechnungsausgang.AvisoID,Rechnungsausgang.Firma_ID,Rechnungsausgang.RechnungsKundenNr,Rechnungsausgang.FilialenNr, Rechnungsausgang.AbfertigungsNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode " @@ -2934,7 +2936,7 @@ Public Class cFakturierung End Function - Public Shared Function doSAMMELRechnungsDruck(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Rechnungsdatum As Date, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional whereKdNr As String = "", Optional RechnungsdruckArt As Integer = -1, Optional ByRef listPDFs As List(Of String) = Nothing, Optional SB As String = "", ByRef Optional lastAktuelle_RgNr As Integer = -1, ByRef Optional DruckdatumUhrzeit As DateTime = Nothing, Optional AvisoIds As List(Of Integer) = Nothing, Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional vorschau As Boolean = False, Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional MDMRENrvoarhanden As Boolean = False, Optional MDMREkopie As Integer = False) As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean + Public Shared Function doSAMMELRechnungsDruck(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Rechnungsdatum As Date, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional whereKdNr As String = "", Optional RechnungsdruckArt As Integer = -1, Optional ByRef listPDFs As List(Of String) = Nothing, Optional SB As String = "", ByRef Optional lastAktuelle_RgNr As Integer = -1, ByRef Optional DruckdatumUhrzeit As DateTime = Nothing, Optional AvisoIds As List(Of Integer) = Nothing, Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional vorschau As Boolean = False, Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional MDMRENrvoarhanden As Boolean = False, Optional MDMREkopie As Boolean = False, Optional setAutoMailversand As Boolean = False) As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean 'If RECHNUNG Is Nothing Then MsgBox("Fehler beim Laden der Rechnungsdaten!") : Return False Try @@ -3038,12 +3040,13 @@ Public Class cFakturierung If SammelrechungArt = 6 Then If RechnungsdruckArt = 7 Then 'RechnungsdruckArt = 7 ist die Erstellung per MDM-Sammelabrechnung! RG.[Status] = 2 'Bei MDM Abrechnung; Druck später!! + RG.Automailversand = setAutoMailversand Else RG.[Status] = 4 ' Beim finalen Versenden der Sammelrechnung keine neue ReNr vergeben. If RG.RechnungsNr >= 0 Then Aktuelle_RgNr = RG.RechnungsNr End If - Else + Else RG.[Status] = 3 End If diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.Designer.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.Designer.vb index 934530ca..78f525e3 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.Designer.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.Designer.vb @@ -60,8 +60,18 @@ Partial Class frmFaktSammelRgDrucken Me.cboAbfertigungsart = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.Button2 = New System.Windows.Forms.Button() Me.cbxMWST = New System.Windows.Forms.CheckBox() + Me.pnlAUTOMailversand = New VERAG_PROG_ALLGEMEIN.MyPanel(Me.components) + Me.Button6 = New System.Windows.Forms.Button() + Me.Button5 = New System.Windows.Forms.Button() + Me.Label7 = New System.Windows.Forms.Label() + Me.Button4 = New System.Windows.Forms.Button() + Me.Button3 = New System.Windows.Forms.Button() + Me.cbxAUTOMail = New System.Windows.Forms.CheckBox() + Me.Button7 = New System.Windows.Forms.Button() + Me.cbxMailoeffnen = New System.Windows.Forms.CheckBox() Me.pnl.SuspendLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnlAUTOMailversand.SuspendLayout() Me.SuspendLayout() ' 'pnl @@ -222,7 +232,7 @@ Partial Class frmFaktSammelRgDrucken Me.cboPrinter.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.cboPrinter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.cboPrinter.FormattingEnabled = True - Me.cboPrinter.Location = New System.Drawing.Point(12, 364) + Me.cboPrinter.Location = New System.Drawing.Point(12, 425) Me.cboPrinter.Name = "cboPrinter" Me.cboPrinter.Size = New System.Drawing.Size(118, 21) Me.cboPrinter.TabIndex = 17 @@ -292,7 +302,7 @@ Partial Class frmFaktSammelRgDrucken Me.MyDatagridview1.ReadOnly = True Me.MyDatagridview1.RowHeadersVisible = False Me.MyDatagridview1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect - Me.MyDatagridview1.Size = New System.Drawing.Size(547, 294) + Me.MyDatagridview1.Size = New System.Drawing.Size(547, 355) Me.MyDatagridview1.TabIndex = 18 ' 'btn @@ -301,7 +311,7 @@ Partial Class frmFaktSammelRgDrucken Me.btn.BackgroundImage = Global.SDL.My.Resources.Resources.printer2 Me.btn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center Me.btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btn.Location = New System.Drawing.Point(12, 262) + Me.btn.Location = New System.Drawing.Point(12, 323) Me.btn.Name = "btn" Me.btn.Size = New System.Drawing.Size(118, 60) Me.btn.TabIndex = 11 @@ -314,7 +324,7 @@ Partial Class frmFaktSammelRgDrucken Me.Button9.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.Button9.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button9.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button9.Location = New System.Drawing.Point(12, 321) + Me.Button9.Location = New System.Drawing.Point(12, 382) Me.Button9.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button9.Name = "Button9" Me.Button9.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0) @@ -330,7 +340,7 @@ Partial Class frmFaktSammelRgDrucken Me.Button8.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.Button8.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button8.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button8.Location = New System.Drawing.Point(51, 321) + Me.Button8.Location = New System.Drawing.Point(51, 382) Me.Button8.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button8.Name = "Button8" Me.Button8.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0) @@ -343,7 +353,7 @@ Partial Class frmFaktSammelRgDrucken ' Me.cbxEinzelAnlagen.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.cbxEinzelAnlagen.AutoSize = True - Me.cbxEinzelAnlagen.Location = New System.Drawing.Point(150, 291) + Me.cbxEinzelAnlagen.Location = New System.Drawing.Point(150, 352) Me.cbxEinzelAnlagen.Name = "cbxEinzelAnlagen" Me.cbxEinzelAnlagen.Size = New System.Drawing.Size(96, 17) Me.cbxEinzelAnlagen.TabIndex = 14 @@ -356,7 +366,7 @@ Partial Class frmFaktSammelRgDrucken Me.cbxSammelbericht.AutoSize = True Me.cbxSammelbericht.Checked = True Me.cbxSammelbericht.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxSammelbericht.Location = New System.Drawing.Point(150, 311) + Me.cbxSammelbericht.Location = New System.Drawing.Point(150, 372) Me.cbxSammelbericht.Name = "cbxSammelbericht" Me.cbxSammelbericht.Size = New System.Drawing.Size(95, 17) Me.cbxSammelbericht.TabIndex = 16 @@ -379,7 +389,7 @@ Partial Class frmFaktSammelRgDrucken ' Me.cbxZusammenfassen.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.cbxZusammenfassen.AutoSize = True - Me.cbxZusammenfassen.Location = New System.Drawing.Point(12, 347) + Me.cbxZusammenfassen.Location = New System.Drawing.Point(12, 408) Me.cbxZusammenfassen.Name = "cbxZusammenfassen" Me.cbxZusammenfassen.Size = New System.Drawing.Size(107, 17) Me.cbxZusammenfassen.TabIndex = 15 @@ -414,7 +424,7 @@ Partial Class frmFaktSammelRgDrucken ' Me.cbxEVOLOG.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.cbxEVOLOG.AutoSize = True - Me.cbxEVOLOG.Location = New System.Drawing.Point(151, 349) + Me.cbxEVOLOG.Location = New System.Drawing.Point(151, 410) Me.cbxEVOLOG.Name = "cbxEVOLOG" Me.cbxEVOLOG.Size = New System.Drawing.Size(99, 17) Me.cbxEVOLOG.TabIndex = 19 @@ -425,7 +435,7 @@ Partial Class frmFaktSammelRgDrucken ' Me.Label4.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.Label4.AutoSize = True - Me.Label4.Location = New System.Drawing.Point(148, 333) + Me.Label4.Location = New System.Drawing.Point(148, 394) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(41, 13) Me.Label4.TabIndex = 20 @@ -437,7 +447,7 @@ Partial Class frmFaktSammelRgDrucken Me.Button1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button1.Location = New System.Drawing.Point(150, 262) + Me.Button1.Location = New System.Drawing.Point(150, 323) Me.Button1.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(91, 25) @@ -449,7 +459,7 @@ Partial Class frmFaktSammelRgDrucken ' Me.cbxTransFerry.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.cbxTransFerry.AutoSize = True - Me.cbxTransFerry.Location = New System.Drawing.Point(151, 367) + Me.cbxTransFerry.Location = New System.Drawing.Point(151, 428) Me.cbxTransFerry.Name = "cbxTransFerry" Me.cbxTransFerry.Size = New System.Drawing.Size(105, 17) Me.cbxTransFerry.TabIndex = 22 @@ -505,7 +515,7 @@ Partial Class frmFaktSammelRgDrucken Me.Button2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button2.Location = New System.Drawing.Point(90, 321) + Me.Button2.Location = New System.Drawing.Point(90, 382) Me.Button2.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.Button2.Name = "Button2" Me.Button2.Padding = New System.Windows.Forms.Padding(20, 0, 0, 0) @@ -528,12 +538,133 @@ Partial Class frmFaktSammelRgDrucken Me.cbxMWST.ThreeState = True Me.cbxMWST.UseVisualStyleBackColor = True ' + 'pnlAUTOMailversand + ' + Me.pnlAUTOMailversand.Controls.Add(Me.cbxMailoeffnen) + Me.pnlAUTOMailversand.Controls.Add(Me.Button7) + Me.pnlAUTOMailversand.Controls.Add(Me.Button6) + Me.pnlAUTOMailversand.Controls.Add(Me.Button5) + Me.pnlAUTOMailversand.Controls.Add(Me.Label7) + Me.pnlAUTOMailversand.Controls.Add(Me.Button4) + Me.pnlAUTOMailversand.Controls.Add(Me.Button3) + Me.pnlAUTOMailversand.Location = New System.Drawing.Point(12, 185) + Me.pnlAUTOMailversand.Name = "pnlAUTOMailversand" + Me.pnlAUTOMailversand.Size = New System.Drawing.Size(229, 132) + Me.pnlAUTOMailversand.TabIndex = 29 + Me.pnlAUTOMailversand.Visible = False + ' + 'Button6 + ' + Me.Button6.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Button6.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button6.Image = Global.SDL.My.Resources.Resources.rechnung1 + Me.Button6.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button6.Location = New System.Drawing.Point(114, 3) + Me.Button6.Name = "Button6" + Me.Button6.Size = New System.Drawing.Size(106, 40) + Me.Button6.TabIndex = 36 + Me.Button6.Text = "Rechnung" + Me.Button6.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.Button6.UseVisualStyleBackColor = True + ' + 'Button5 + ' + Me.Button5.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button5.Image = Global.SDL.My.Resources.Resources.kunden + Me.Button5.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button5.Location = New System.Drawing.Point(11, 3) + Me.Button5.Name = "Button5" + Me.Button5.Size = New System.Drawing.Size(97, 40) + Me.Button5.TabIndex = 35 + Me.Button5.Text = "Kunde" + Me.Button5.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.Button5.UseVisualStyleBackColor = True + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(8, 78) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(135, 13) + Me.Label7.TabIndex = 34 + Me.Label7.Text = "autom. Rechnungsversand" + ' + 'Button4 + ' + Me.Button4.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.Button4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button4.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button4.Location = New System.Drawing.Point(111, 94) + Me.Button4.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(91, 25) + Me.Button4.TabIndex = 31 + Me.Button4.Text = "deaktivieren" + Me.Button4.UseVisualStyleBackColor = True + ' + 'Button3 + ' + Me.Button3.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.Button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button3.Location = New System.Drawing.Point(10, 94) + Me.Button3.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(91, 25) + Me.Button3.TabIndex = 30 + Me.Button3.Text = "aktivieren" + Me.Button3.UseVisualStyleBackColor = True + ' + 'cbxAUTOMail + ' + Me.cbxAUTOMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.cbxAUTOMail.AutoSize = True + Me.cbxAUTOMail.Location = New System.Drawing.Point(550, 44) + Me.cbxAUTOMail.Name = "cbxAUTOMail" + Me.cbxAUTOMail.Size = New System.Drawing.Size(116, 17) + Me.cbxAUTOMail.TabIndex = 30 + Me.cbxAUTOMail.Text = "AUTO Mailversand" + Me.cbxAUTOMail.UseVisualStyleBackColor = True + Me.cbxAUTOMail.Visible = False + ' + 'Button7 + ' + Me.Button7.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.Button7.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.Button7.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button7.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button7.Location = New System.Drawing.Point(12, 49) + Me.Button7.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) + Me.Button7.Name = "Button7" + Me.Button7.Size = New System.Drawing.Size(106, 25) + Me.Button7.TabIndex = 37 + Me.Button7.Text = "senden" + Me.Button7.UseVisualStyleBackColor = True + ' + 'cbxMailoeffnen + ' + Me.cbxMailoeffnen.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.cbxMailoeffnen.AutoSize = True + Me.cbxMailoeffnen.Checked = True + Me.cbxMailoeffnen.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbxMailoeffnen.Location = New System.Drawing.Point(124, 54) + Me.cbxMailoeffnen.Name = "cbxMailoeffnen" + Me.cbxMailoeffnen.Size = New System.Drawing.Size(91, 17) + Me.cbxMailoeffnen.TabIndex = 31 + Me.cbxMailoeffnen.Text = "Mail anzeigen" + Me.cbxMailoeffnen.UseVisualStyleBackColor = True + ' 'frmFaktSammelRgDrucken ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.White - Me.ClientSize = New System.Drawing.Size(811, 393) + Me.ClientSize = New System.Drawing.Size(811, 454) + Me.Controls.Add(Me.cbxAUTOMail) + Me.Controls.Add(Me.pnlAUTOMailversand) Me.Controls.Add(Me.cbxMWST) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Label6) @@ -570,6 +701,8 @@ Partial Class frmFaktSammelRgDrucken Me.pnl.ResumeLayout(False) Me.pnl.PerformLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnlAUTOMailversand.ResumeLayout(False) + Me.pnlAUTOMailversand.PerformLayout() Me.ResumeLayout(False) Me.PerformLayout() @@ -611,4 +744,13 @@ Partial Class frmFaktSammelRgDrucken Friend WithEvents Button2 As Button Friend WithEvents RadioButton5 As RadioButton Friend WithEvents cbxMWST As CheckBox + Friend WithEvents pnlAUTOMailversand As VERAG_PROG_ALLGEMEIN.MyPanel + Friend WithEvents Label7 As Label + Friend WithEvents Button4 As Button + Friend WithEvents Button3 As Button + Friend WithEvents cbxAUTOMail As CheckBox + Friend WithEvents Button6 As Button + Friend WithEvents Button5 As Button + Friend WithEvents Button7 As Button + Friend WithEvents cbxMailoeffnen As CheckBox End Class diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb index 21bab2da..e8633711 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb @@ -1,4 +1,5 @@ -Imports Microsoft.Office.Interop +Imports com.sun.tools.javadoc +Imports Microsoft.Office.Interop Imports VERAG_PROG_ALLGEMEIN Public Class frmFaktSammelRgDrucken @@ -27,7 +28,7 @@ Public Class frmFaktSammelRgDrucken End Sub Private Sub RadioButton_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton.CheckedChanged, RadioButton1.CheckedChanged, RadioButton2.CheckedChanged, RadioButton3.CheckedChanged, RadioButton4.CheckedChanged, RadioButton6.CheckedChanged, RadioButton5.CheckedChanged - lblSB.Visible = False : cboSB.Visible = False : btn.Enabled = True : Button9.Enabled = True : Button8.Enabled = True : cbxMWST.Visible = False + lblSB.Visible = False : cboSB.Visible = False : btn.Enabled = True : Button9.Enabled = True : Button8.Enabled = True : cbxMWST.Visible = False : pnlAUTOMailversand.Visible = False : cbxAUTOMail.Visible = False cboSB.changeItem("") If DirectCast(sender, RadioButton).Checked Then Sammelrechung = sender.tag @@ -50,7 +51,9 @@ Public Class frmFaktSammelRgDrucken End If Case 5 : txtZeitraumBis.Text = Now.AddDays((Now.DayOfWeek) * -1).ToShortDateString - Case 6 : txtZeitraumBis.Text = Now.AddDays(-1).ToShortDateString : lblSB.Visible = True : cboSB.Visible = True : cboSB.changeItem(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME) : btn.Enabled = False : Button9.Enabled = False : Button2.Enabled = False : cbxMWST.Visible = True + Case 6 : txtZeitraumBis.Text = Now.AddDays(-1).ToShortDateString : lblSB.Visible = True : cboSB.Visible = True + cboSB.changeItem(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME) : btn.Enabled = False : Button9.Enabled = False : Button2.Enabled = False + cbxMWST.Visible = True : pnlAUTOMailversand.Visible = True : cbxAUTOMail.Visible = True : Label5.Visible = False : cboFaktGrp.Visible = False Case 7 : txtZeitraumBis.Text = Now.ToShortDateString : lblSB.Visible = True : cboSB.Visible = True : cboSB.changeItem(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME) End Select @@ -64,12 +67,17 @@ Public Class frmFaktSammelRgDrucken With MyDatagridview1 Dim whereAbfArt = "" Dim whereMWST = "" - If cboAbfertigungsart._value <> "" Then whereAbfArt = " AND (SELECT Abfertigungsart FROM Speditionsbuch WHERE Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr)='" & cboAbfertigungsart._value & "' " + If cboAbfertigungsart._value <> "" AndAlso Sammelrechung <> 6 Then whereAbfArt = " AND (SELECT Abfertigungsart FROM Speditionsbuch WHERE Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr)='" & cboAbfertigungsart._value & "' " 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") + End If + Dim sqlStr = "" Select Case Sammelrechung @@ -135,6 +143,20 @@ Public Class frmFaktSammelRgDrucken .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill .ClearSelection() + + If MyDatagridview1.RowCount > 0 Then + + Button4.Enabled = cbxAUTOMail.Checked + Button7.Enabled = cbxAUTOMail.Checked + Button3.Enabled = Not cbxAUTOMail.Checked + + Else + + Button7.Enabled = False + Button4.Enabled = False + Button3.Enabled = False + + End If End With End Sub @@ -149,16 +171,18 @@ Public Class frmFaktSammelRgDrucken FirmaTmp = "VERAGIMEX" End If - If Not IsDBNull(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_firmaFMZoll) AndAlso CInt(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_firmaFMZoll) = 19 Then + Label5.Visible = True + cboFaktGrp.Visible = True + + If Not IsDBNull(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_firmaFMZoll) AndAlso (CInt(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_firmaFMZoll) = 19 Or VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_username = "ADMIN" Or VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_username = "DANIEL") Then FirmaTmp = "VERAG360" RadioButton5.Enabled = True cboAbfertigungsart.changeItem("10") + Else RadioButton5.Enabled = False - End If - Label5.Visible = True - cboFaktGrp.Visible = True + End If Select Case FirmaTmp @@ -409,8 +433,8 @@ Public Class frmFaktSammelRgDrucken MsgBox("Fehler beim Öffnen des Mail-Programmes.") ' PDF wird geöffnet!") ' Process.Start(pdf) End Try - End If - Case 3 'PDF + öffnen + End If + Case 3 'PDF + öffnen Dim pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("VERAG_Sammelrechnung.pdf", ".pdf", False, False) If FormularManagerNEU.MergePdfFiles(listPDFs, pathPDF) Then Process.Start(pathPDF) @@ -514,4 +538,114 @@ Public Class frmFaktSammelRgDrucken Private Sub cbxMWST_Click(sender As Object, e As EventArgs) Handles cbxMWST.Click initDGV() End Sub + + Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click + If MyDatagridview1.SelectedRows.Count > 0 Then + If vbYes = MsgBox("Möchten Sie alle markieren Rechnungen den automatischen Emailversand aktivieren?" & vbNewLine & "Die Rechnungen werden automatisch im Nachtlauf per EMail verschickt!", vbYesNoCancel) Then + + setMailversand(True, 19, 6, 2) + + End If + End If + + + End Sub + + Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click + If MyDatagridview1.SelectedRows.Count > 0 Then + If vbYes = MsgBox("Möchten Sie für alle markieren Rechnungen den automatischen Emailversand deaktiveren?" & vbNewLine & "Die Rechnungen müssen dann manuell per Mail verschickt werden!", vbYesNoCancel) Then + + setMailversand(False, 19, 6, 2) + + End If + End If + + End Sub + + Private Function setMailversand(Mailversand As Boolean, FirmaID As Integer, Sammelrechnung As Integer, Status As Integer) As Boolean + + Dim count = 0 + Dim mailversandString As String = IIf(Mailversand, "1", "0") + Dim whereMWST = "" + If cbxMWST.CheckState.Indeterminate Then + whereMWST = "" + Else + whereMWST = " AND isnull(tblKundenErweitert.kde_keineMWSt,0) = " & IIf(cbxMWST.Checked, "1", "0") + End If + + For Each r As DataGridViewRow In MyDatagridview1.SelectedRows + + If IsDate(txtRechnungsdatum.Text) AndAlso r.Cells("RechnungsLandKz").Value <> "" AndAlso IsNumeric(r.Cells("RechnungsKundenNr").Value) Then + If (New SQL).doSQL("UPDATE Rechnungsausgang set Automailversand = " & mailversandString & + " from Rechnungsausgang left join tblKundenErweitert on tblKundenErweitert.kde_KundenNr = Rechnungsausgang.RechnungsKundenNr where Rechnungsausgang.Status In (" & Status & ") And Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnung & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" & + CDate(txtRechnungsdatum.Text).ToShortDateString & "' and RechnungsKundenNr = " & r.Cells("RechnungsKundenNr").Value & " and RechnungsLandKz = '" & r.Cells("RechnungsLandKz").Value & " ' and isnull(Automailversand, 0) <> " & mailversandString & + If(cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "' ", "") & whereMWST, "FMZOLL") Then + count += 1 + End If + End If + + Next + If count <> MyDatagridview1.SelectedRows.Count Then MsgBox("ACHTUNG" & vbNewLine & "Der automatische Mailversand wurde nur bei " & count & " Rechnungen " & IIf(Mailversand, "aktiviert!", "deaktiviert!") & vbNewLine & "Markiert waren " & MyDatagridview1.SelectedRows.Count & " Rechnungen!") + + initDGV() + + + + + End Function + + Private Sub cbxAUTOMail_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAUTOMail.CheckedChanged + + initDGV() + + If MyDatagridview1.RowCount > 0 Then + + Button4.Enabled = cbxAUTOMail.Checked + Button7.Enabled = cbxAUTOMail.Checked + Button3.Enabled = Not cbxAUTOMail.Checked + + Else + Button7.Enabled = False + Button4.Enabled = False + Button3.Enabled = False + + End If + + + + End Sub + + + Private Sub Button6_Click_1(sender As Object, e As EventArgs) Handles Button6.Click + If MyDatagridview1.SelectedRows.Count > 0 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 + + End If + End If + End Sub + + Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click + If MyDatagridview1.SelectedRows.Count > 0 Then + If IsNumeric(MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value) Then + cProgramFunctions.openKundenblatt(MyDatagridview1.SelectedRows(0).Cells("RechnungsKundenNr").Value, Me.FindForm, True) + End If + End If + End Sub + + Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click + + If MyDatagridview1.SelectedRows.Count > 0 Then + + If Not vbYes = MsgBox("Möchten Sie für alle markieren Rechnungen den automatischen Emailversand JETZT versenden?" & vbNewLine & "Ansonten werden sie im Nachtlauf automatisch versendet!", vbYesNoCancel) Then Exit Sub + + Dim fun As New cAutomailversand + For Each r In MyDatagridview1.SelectedRows + fun.sendMailSammelrechnung(CDate(txtRechnungsdatum.Text), 6, 19, r.Cells("RechnungsKundenNr").Value, cbxMailoeffnen.Checked) + Next + + initDGV() + End If + + + End Sub End Class \ No newline at end of file diff --git a/SDL/SDL.vbproj b/SDL/SDL.vbproj index 5e7d1935..38f74b58 100644 --- a/SDL/SDL.vbproj +++ b/SDL/SDL.vbproj @@ -612,6 +612,7 @@ Component + frmSendEmail.vb diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 51c9faa1..c7df3cc4 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -1177,9 +1177,21 @@ Public Class frmMDM_USTVAntrag USTV_POS.UStVPo_Schnittstelle = True USTV_POS.UStVPo_Leistungsbezeichnung = "Diesel" - Dim leistender As New cUStVLeistender("IDS EUROPE B.V." & " " & Antrag_LandKz, Antrag_LandKz) + 'sonderfälle vom leistenden bei IDS, leider nicht in der Importtabelle, daher hardcoded: + + Dim leistenderName As String = "" + + Select Case Antrag_LandKz + Case "RO" + + Case Else + leistenderName = "IDS EUROPE B.V." + End Select + + + Dim leistender As New cUStVLeistender(leistenderName & " " & Antrag_LandKz, Antrag_LandKz) If leistender.UStV_LeistenderId < 1 Then - leistender = New cUStVLeistender("IDS EUROPE B.V.") + leistender = New cUStVLeistender(leistenderName) End If USTV_POS.UStVPo_Leistender = leistender.UStV_Leistender.ToString diff --git a/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb b/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb index 698c5524..11e42309 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.Designer.vb @@ -23,9 +23,9 @@ Partial Class frmUSTVoffeneAntraege _ Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() - Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() - Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle4 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle5 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() + Dim DataGridViewCellStyle6 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel() Me.btn = New System.Windows.Forms.Button() Me.Button7 = New System.Windows.Forms.Button() @@ -48,17 +48,18 @@ Partial Class frmUSTVoffeneAntraege Me.Label4 = New System.Windows.Forms.Label() Me.pnlLand = New System.Windows.Forms.Panel() Me.Label5 = New System.Windows.Forms.Label() - Me.cbxKundeLand = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.cbxNichtEroeffneteAntraege = New System.Windows.Forms.CheckBox() Me.cbxUStV = New System.Windows.Forms.CheckBox() - Me.MyComboBox1 = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.AntragEröffnenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Button4 = New System.Windows.Forms.Button() + Me.cbxKundeLand = New VERAG_PROG_ALLGEMEIN.MyComboBox() + Me.MyComboBox1 = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.txtmaxAnz = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtMWST = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtAnzahl = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.MyDatagridview1 = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) - Me.Button4 = New System.Windows.Forms.Button() + Me.cbxKundenMWST = New System.Windows.Forms.CheckBox() Me.FlowLayoutPanel.SuspendLayout() Me.Panel4.SuspendLayout() Me.pnlLand.SuspendLayout() @@ -242,7 +243,7 @@ Partial Class frmUSTVoffeneAntraege ' Me.Label3.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.Label3.AutoSize = True - Me.Label3.Location = New System.Drawing.Point(1295, 80) + Me.Label3.Location = New System.Drawing.Point(1295, 9) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(50, 13) Me.Label3.TabIndex = 43 @@ -303,17 +304,6 @@ Partial Class frmUSTVoffeneAntraege Me.Label5.TabIndex = 49 Me.Label5.Text = "Land-Kunde:" ' - 'cbxKundeLand - ' - Me.cbxKundeLand._allowedValuesFreiText = Nothing - Me.cbxKundeLand._allowFreiText = False - Me.cbxKundeLand._value = "" - Me.cbxKundeLand.FormattingEnabled = True - Me.cbxKundeLand.Location = New System.Drawing.Point(92, 6) - Me.cbxKundeLand.Name = "cbxKundeLand" - Me.cbxKundeLand.Size = New System.Drawing.Size(72, 21) - Me.cbxKundeLand.TabIndex = 48 - ' 'cbxNichtEroeffneteAntraege ' Me.cbxNichtEroeffneteAntraege.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) @@ -336,17 +326,6 @@ Partial Class frmUSTVoffeneAntraege Me.cbxUStV.Text = " nur mit UStV" Me.cbxUStV.UseVisualStyleBackColor = True ' - 'MyComboBox1 - ' - Me.MyComboBox1._allowedValuesFreiText = Nothing - Me.MyComboBox1._allowFreiText = False - Me.MyComboBox1._value = "" - Me.MyComboBox1.FormattingEnabled = True - Me.MyComboBox1.Location = New System.Drawing.Point(244, 5) - Me.MyComboBox1.Name = "MyComboBox1" - Me.MyComboBox1.Size = New System.Drawing.Size(72, 21) - Me.MyComboBox1.TabIndex = 46 - ' 'ContextMenuStrip1 ' Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AntragEröffnenToolStripMenuItem}) @@ -359,6 +338,38 @@ Partial Class frmUSTVoffeneAntraege Me.AntragEröffnenToolStripMenuItem.Size = New System.Drawing.Size(158, 22) Me.AntragEröffnenToolStripMenuItem.Text = "Antrag eröffnen" ' + 'Button4 + ' + Me.Button4.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.Button4.Location = New System.Drawing.Point(15, 639) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(75, 23) + Me.Button4.TabIndex = 46 + Me.Button4.Text = "PDFs prüfen" + Me.Button4.UseVisualStyleBackColor = True + ' + 'cbxKundeLand + ' + Me.cbxKundeLand._allowedValuesFreiText = Nothing + Me.cbxKundeLand._allowFreiText = False + Me.cbxKundeLand._value = "" + Me.cbxKundeLand.FormattingEnabled = True + Me.cbxKundeLand.Location = New System.Drawing.Point(92, 6) + Me.cbxKundeLand.Name = "cbxKundeLand" + Me.cbxKundeLand.Size = New System.Drawing.Size(72, 21) + Me.cbxKundeLand.TabIndex = 48 + ' + 'MyComboBox1 + ' + Me.MyComboBox1._allowedValuesFreiText = Nothing + Me.MyComboBox1._allowFreiText = False + Me.MyComboBox1._value = "" + Me.MyComboBox1.FormattingEnabled = True + Me.MyComboBox1.Location = New System.Drawing.Point(244, 5) + Me.MyComboBox1.Name = "MyComboBox1" + Me.MyComboBox1.Size = New System.Drawing.Size(72, 21) + Me.MyComboBox1.TabIndex = 46 + ' 'txtmaxAnz ' Me.txtmaxAnz._DateTimeOnly = False @@ -375,7 +386,7 @@ Partial Class frmUSTVoffeneAntraege Me.txtmaxAnz._WaehrungZeichen = True Me.txtmaxAnz.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.txtmaxAnz.ForeColor = System.Drawing.Color.Black - Me.txtmaxAnz.Location = New System.Drawing.Point(1362, 77) + Me.txtmaxAnz.Location = New System.Drawing.Point(1362, 6) Me.txtmaxAnz.MaxLineLength = -1 Me.txtmaxAnz.MaxLines_Warning = "" Me.txtmaxAnz.MaxLines_Warning_Label = Nothing @@ -445,54 +456,59 @@ Partial Class frmUSTVoffeneAntraege Me.MyDatagridview1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control - DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText - DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.MyDatagridview1.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1 + DataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control + DataGridViewCellStyle4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.MyDatagridview1.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle4 Me.MyDatagridview1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize - DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window - DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText - DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False] - Me.MyDatagridview1.DefaultCellStyle = DataGridViewCellStyle2 + DataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window + DataGridViewCellStyle5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText + DataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.[False] + Me.MyDatagridview1.DefaultCellStyle = DataGridViewCellStyle5 Me.MyDatagridview1.Location = New System.Drawing.Point(12, 98) Me.MyDatagridview1.Name = "MyDatagridview1" Me.MyDatagridview1.ReadOnly = True - DataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft - DataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control - DataGridViewCellStyle3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - DataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText - DataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight - DataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText - DataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] - Me.MyDatagridview1.RowHeadersDefaultCellStyle = DataGridViewCellStyle3 + DataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft + DataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control + DataGridViewCellStyle6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + DataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText + DataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight + DataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText + DataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.[True] + Me.MyDatagridview1.RowHeadersDefaultCellStyle = DataGridViewCellStyle6 Me.MyDatagridview1.RowHeadersWidth = 62 Me.MyDatagridview1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect Me.MyDatagridview1.Size = New System.Drawing.Size(1409, 528) Me.MyDatagridview1.TabIndex = 30 ' - 'Button4 + 'cbxKundenMWST ' - Me.Button4.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.Button4.Location = New System.Drawing.Point(15, 639) - Me.Button4.Name = "Button4" - Me.Button4.Size = New System.Drawing.Size(75, 23) - Me.Button4.TabIndex = 46 - Me.Button4.Text = "PDFs prüfen" - Me.Button4.UseVisualStyleBackColor = True + Me.cbxKundenMWST.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.cbxKundenMWST.AutoSize = True + Me.cbxKundenMWST.Checked = True + Me.cbxKundenMWST.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbxKundenMWST.Location = New System.Drawing.Point(1293, 78) + Me.cbxKundenMWST.Name = "cbxKundenMWST" + Me.cbxKundenMWST.Size = New System.Drawing.Size(158, 17) + Me.cbxKundenMWST.TabIndex = 47 + Me.cbxKundenMWST.Text = "Kunden-MWST ausblenden" + Me.cbxKundenMWST.UseVisualStyleBackColor = True + Me.cbxKundenMWST.Visible = False ' 'frmUSTVoffeneAntraege ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(1457, 681) + Me.Controls.Add(Me.cbxKundenMWST) Me.Controls.Add(Me.Button4) Me.Controls.Add(Me.lblKunde) Me.Controls.Add(Me.pnlLand) @@ -554,4 +570,5 @@ Partial Class frmUSTVoffeneAntraege Friend WithEvents cbxKundeLand As VERAG_PROG_ALLGEMEIN.MyComboBox Friend WithEvents btnVerag As Button Friend WithEvents Button4 As Button + Friend WithEvents cbxKundenMWST As CheckBox End Class diff --git a/SDL/USTV/frmUSTVoffeneAntraege.vb b/SDL/USTV/frmUSTVoffeneAntraege.vb index c1074ebe..47aef502 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.vb @@ -13,6 +13,7 @@ Public Class frmUSTVoffeneAntraege Dim kdName As String Dim dtkeineMWST As DataTable Dim dtKundeMWST As DataTable + Dim dTLANDEU As DataTable Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click initLieferant("PLOSE", sender) End Sub @@ -62,6 +63,7 @@ Public Class frmUSTVoffeneAntraege Private Sub initLieferant(l As String, btn As Button) pnlLand.Visible = False + cbxKundenMWST.Visible = False MyDatagridview1.DataSource = Nothing Me.LIEFERANT = l @@ -75,6 +77,7 @@ Public Class frmUSTVoffeneAntraege Next pnlLand.Visible = Me.LIEFERANT = "alle" + cbxKundenMWST.Visible = Me.LIEFERANT = "alle" init() @@ -550,8 +553,17 @@ Public Class frmUSTVoffeneAntraege sqlwhereLand &= " and isnull(UStVAn_ID,0) = 0 " End If + + + If dtkeineMWST.Rows.Count > 0 AndAlso kundenLandISO2 <> "" Then - Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select("Land = '" & kundenLandISO2 & "'").CopyToDataTable + + Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = kundenLandISO2).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault() + + 'TODO: eig soll nur PLOSE Datensätze bei nicht EU-Kunden angeizeigt werden (also bei NICHT EU -> IDS weg (nur IDS-AT)!!!!!!!!!! + Dim selectString As String = "Land = '" & kundenLandISO2 & "'" & " AND Lieferant <> 'IDS'" + + Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select(selectString).CopyToDataTable Dim counter = 0 Dim landBez As String = "" For Each row As DataRow In dtkeineMWST_ohneContraint.Rows @@ -565,37 +577,40 @@ Public Class frmUSTVoffeneAntraege - If dtKundeMWST.Rows.Count > 0 Then - Dim counter = 0 - Dim landBez As String = "" - Dim klammer = "" - 'klammer &= IIf(dtKundeMWST.Rows.Count > 0, "OR AdressenNr <> -1 ", "") - 'For Each t In dtKundeMWST.Rows - ' 'klammer &= ")" - 'Next - If dtKundeMWST.Columns.Contains("KdNr") Then - ' If dtKundeMWST.Rows.Count > 0 Then sqlwhereLand &= "And " - ' For Each row As DataRow In dtKundeMWST.Rows - ' landBez = row.Item("abc").ToString.Replace(";", "'") - ' counter = counter + 1 - ' sqlwhereLand &= " ( AdressenNr = " & row.Item("KdNr") & " AND Einreichland Not in (" & landBez.ToString.Substring(0, landBez.ToString.Length - 1) & ")) " & IIf(dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count, "OR ", klammer) - ' Next - - Else - - For Each row As DataRow In dtKundeMWST.Rows - landBez &= "'" & row.Item("LandKz") & "'" - counter = counter + 1 - If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= "," + If cbxKundenMWST.Checked Then + If dtKundeMWST.Rows.Count > 0 Then + Dim counter = 0 + Dim landBez As String = "" + Dim klammer = "" + 'klammer &= IIf(dtKundeMWST.Rows.Count > 0, "OR AdressenNr > -1 ", "") + For Each t In dtKundeMWST.Rows + 'klammer &= ")" Next - sqlwhereLand &= " AND Einreichland not in (" & landBez & ")" + If dtKundeMWST.Columns.Contains("KdNr") Then + For Each row As DataRow In dtKundeMWST.Rows + landBez = row.Item("abc").ToString.Replace(";", "'") + counter = counter + 1 + sqlwhereLand &= " AND NOT ( AdressenNr = " & row.Item("KdNr") & " AND Einreichland in (" & landBez.ToString.Substring(0, landBez.ToString.Length - 1) & ")) " '& IIf(dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count, "OR ", klammer) + Next + + Else + + For Each row As DataRow In dtKundeMWST.Rows + landBez &= "'" & row.Item("LandKz") & "'" + counter = counter + 1 + If (dtKundeMWST.Rows.Count <> 0 And counter <> dtKundeMWST.Rows.Count) Then landBez &= "," + Next + sqlwhereLand &= " AND Einreichland not in (" & landBez & ")" + + End If End If End If + Dim year = CDate(dat_Sum_Von.Value).Year If year >= 2025 Then @@ -834,7 +849,7 @@ Public Class frmUSTVoffeneAntraege setdtKundeMWST(IIf(cbxAlleoffenen.Checked, -1, kdNr)) - Select Case LIEFERANT.ToString.ToLower + Select Case LIEFERANT.ToString.ToLower Case "plose" : initDgv_PLOSE(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) Case "rmc" : initDgv_RMC(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) Case "mse" : initDgv_MSE(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) @@ -990,9 +1005,9 @@ Public Class frmUSTVoffeneAntraege If vbYes = MsgBox("Details der fehlenden PDF-Rechnungen anzeigen?", vbYesNo) Then cProgramFunctions.genExcelFromDT_NEW(dtfehlendePDF,,, "Fehlende PDF-Rechnungen: " & dat_Sum_Von.Value.ToShortDateString & " - " & dat_Sum_Bis.Value.ToShortDateString) End If - End if - Else - MsgBox("Funktion nur pro Lieferant möglich!") + End If + Else + MsgBox("Funktion nur pro Lieferant möglich!") End If @@ -1002,7 +1017,12 @@ Public Class frmUSTVoffeneAntraege dtkeineMWST = (New SQL).loadDgvBySql("select Land, Erstattungsland, Lieferant from tblKeineMWSTErstattung", "FMZOLL") setdtKundeMWST(kdNr) + dTLANDEU = (New SQL).loadDgvBySql("select LandKz, MitgliedslandEU from Währungstabelle where LandKz is not null", "FMZOLL") + Dim R As DataRow = dTLANDEU.NewRow + R("LandKz") = "MK" + R("MitgliedslandEU") = False + dTLANDEU.Rows.Add(R) End Sub @@ -1023,4 +1043,8 @@ Public Class frmUSTVoffeneAntraege End Sub + + Private Sub cbxEigeneMWST_CheckedChanged(sender As Object, e As EventArgs) Handles cbxKundenMWST.CheckedChanged + init() + End Sub End Class \ No newline at end of file diff --git a/SDL/frmLogin.vb b/SDL/frmLogin.vb index 592a4a4b..695215d9 100644 --- a/SDL/frmLogin.vb +++ b/SDL/frmLogin.vb @@ -1,8 +1,10 @@ -Public Class frmLogin +Imports VERAG_PROG_ALLGEMEIN + +Public Class frmLogin Public ConnStrInfo As String Public ConnStr As String - + Private SDL As New cOptionenDAL Private PROG As New cProgramFunctions @@ -71,6 +73,31 @@ Next Application.Exit() Exit Sub + + ElseIf PARAM = "SAMMELRECHNUNG_AUTOSENT" Then + + Dim SRT_ART As Integer = 6 + Dim REDat As Date + Dim FirmaID As Integer = 19 + + If (parameter.Count - 1) >= 4 Then 'Höher als 1 weil der index 0 der Pfad zum programm ist + + If IsNumeric(parameter(2)) Then SRT_ART = parameter(2) + If IsDate(parameter(3)) Then REDat = CDate(parameter(3)) + If IsNumeric(parameter(3)) Then FirmaID = parameter(3) + + + End If + + + Dim func As New cAutomailversand + func.sendMailSammelrechnung(REDat, SRT_ART, FirmaID) + 'Dim f As New c() + 'f.sendMailSammelrechnung(,,) + + + + End If diff --git a/SDL/kunden/usrCntlCBAM.Designer.vb b/SDL/kunden/usrCntlCBAM.Designer.vb index 92d740e5..579dd3af 100644 --- a/SDL/kunden/usrCntlCBAM.Designer.vb +++ b/SDL/kunden/usrCntlCBAM.Designer.vb @@ -60,6 +60,8 @@ Partial Class usrCntlCBAM Me.btnCBAM_DS_DAKOSY_XML = New System.Windows.Forms.Button() Me.Button2 = New System.Windows.Forms.Button() Me.MyPanel1 = New VERAG_PROG_ALLGEMEIN.MyPanel(Me.components) + Me.cbxUNISPED = New System.Windows.Forms.CheckBox() + Me.cbxIMEX = New System.Windows.Forms.CheckBox() Me.cbxVERAG = New System.Windows.Forms.CheckBox() Me.txtJahr = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.cboQuartal = New VERAG_PROG_ALLGEMEIN.MyComboBox() @@ -67,8 +69,7 @@ Partial Class usrCntlCBAM Me.txtBis = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtEori = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.Button1 = New System.Windows.Forms.Button() - Me.cbxIMEX = New System.Windows.Forms.CheckBox() - Me.cbxUNISPED = New System.Windows.Forms.CheckBox() + Me.btnCBAM_DS_DAKOSY_Spedb = New System.Windows.Forms.Button() Me.cntxtAddSdl.SuspendLayout() Me.MyPanel1.SuspendLayout() Me.SuspendLayout() @@ -313,7 +314,7 @@ Partial Class usrCntlCBAM Me.btnCBAM_DS_DAKOSY_Summe.Name = "btnCBAM_DS_DAKOSY_Summe" Me.btnCBAM_DS_DAKOSY_Summe.Size = New System.Drawing.Size(130, 42) Me.btnCBAM_DS_DAKOSY_Summe.TabIndex = 27 - Me.btnCBAM_DS_DAKOSY_Summe.Text = "Summenbereicht" + Me.btnCBAM_DS_DAKOSY_Summe.Text = "Summenbericht" Me.btnCBAM_DS_DAKOSY_Summe.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.btnCBAM_DS_DAKOSY_Summe.UseVisualStyleBackColor = True ' @@ -327,7 +328,7 @@ Partial Class usrCntlCBAM Me.btnCBAM_DS_DHF_VERAG_Summe.Name = "btnCBAM_DS_DHF_VERAG_Summe" Me.btnCBAM_DS_DHF_VERAG_Summe.Size = New System.Drawing.Size(130, 42) Me.btnCBAM_DS_DHF_VERAG_Summe.TabIndex = 29 - Me.btnCBAM_DS_DHF_VERAG_Summe.Text = "Summenbereicht" + Me.btnCBAM_DS_DHF_VERAG_Summe.Text = "Summenbericht" Me.btnCBAM_DS_DHF_VERAG_Summe.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.btnCBAM_DS_DHF_VERAG_Summe.UseVisualStyleBackColor = True ' @@ -355,7 +356,7 @@ Partial Class usrCntlCBAM Me.btnCBAM_DS_DHF_UNISPED_Summe.Name = "btnCBAM_DS_DHF_UNISPED_Summe" Me.btnCBAM_DS_DHF_UNISPED_Summe.Size = New System.Drawing.Size(130, 42) Me.btnCBAM_DS_DHF_UNISPED_Summe.TabIndex = 31 - Me.btnCBAM_DS_DHF_UNISPED_Summe.Text = "Summenbereicht" + Me.btnCBAM_DS_DHF_UNISPED_Summe.Text = "Summenbericht" Me.btnCBAM_DS_DHF_UNISPED_Summe.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.btnCBAM_DS_DHF_UNISPED_Summe.UseVisualStyleBackColor = True ' @@ -383,7 +384,7 @@ Partial Class usrCntlCBAM Me.btnCBAM_DS_TELOTEC_Summe.Name = "btnCBAM_DS_TELOTEC_Summe" Me.btnCBAM_DS_TELOTEC_Summe.Size = New System.Drawing.Size(130, 42) Me.btnCBAM_DS_TELOTEC_Summe.TabIndex = 33 - Me.btnCBAM_DS_TELOTEC_Summe.Text = "Summenbereicht" + Me.btnCBAM_DS_TELOTEC_Summe.Text = "Summenbericht" Me.btnCBAM_DS_TELOTEC_Summe.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.btnCBAM_DS_TELOTEC_Summe.UseVisualStyleBackColor = True ' @@ -415,9 +416,9 @@ Partial Class usrCntlCBAM Me.btnCBAM_DS_DAKOSY_Copy.Enabled = False Me.btnCBAM_DS_DAKOSY_Copy.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCBAM_DS_DAKOSY_Copy.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnCBAM_DS_DAKOSY_Copy.Location = New System.Drawing.Point(106, 312) + Me.btnCBAM_DS_DAKOSY_Copy.Location = New System.Drawing.Point(144, 360) Me.btnCBAM_DS_DAKOSY_Copy.Name = "btnCBAM_DS_DAKOSY_Copy" - Me.btnCBAM_DS_DAKOSY_Copy.Size = New System.Drawing.Size(168, 42) + Me.btnCBAM_DS_DAKOSY_Copy.Size = New System.Drawing.Size(130, 42) Me.btnCBAM_DS_DAKOSY_Copy.TabIndex = 35 Me.btnCBAM_DS_DAKOSY_Copy.Text = "In Zwischenablage kopieren" Me.btnCBAM_DS_DAKOSY_Copy.UseVisualStyleBackColor = True @@ -464,7 +465,7 @@ Partial Class usrCntlCBAM Me.btnCBAM_DS_DAKOSY_XML.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCBAM_DS_DAKOSY_XML.Image = Global.SDL.My.Resources.Resources.xml Me.btnCBAM_DS_DAKOSY_XML.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnCBAM_DS_DAKOSY_XML.Location = New System.Drawing.Point(144, 435) + Me.btnCBAM_DS_DAKOSY_XML.Location = New System.Drawing.Point(144, 477) Me.btnCBAM_DS_DAKOSY_XML.Name = "btnCBAM_DS_DAKOSY_XML" Me.btnCBAM_DS_DAKOSY_XML.Size = New System.Drawing.Size(130, 42) Me.btnCBAM_DS_DAKOSY_XML.TabIndex = 40 @@ -476,7 +477,7 @@ Partial Class usrCntlCBAM Me.Button2.Enabled = False Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button2.Location = New System.Drawing.Point(144, 483) + Me.Button2.Location = New System.Drawing.Point(144, 525) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(130, 42) Me.Button2.TabIndex = 42 @@ -493,6 +494,26 @@ Partial Class usrCntlCBAM Me.MyPanel1.Size = New System.Drawing.Size(590, 28) Me.MyPanel1.TabIndex = 39 ' + 'cbxUNISPED + ' + Me.cbxUNISPED.AutoSize = True + Me.cbxUNISPED.Location = New System.Drawing.Point(159, 6) + Me.cbxUNISPED.Name = "cbxUNISPED" + Me.cbxUNISPED.Size = New System.Drawing.Size(74, 17) + Me.cbxUNISPED.TabIndex = 2 + Me.cbxUNISPED.Text = "UNISPED" + Me.cbxUNISPED.UseVisualStyleBackColor = True + ' + 'cbxIMEX + ' + Me.cbxIMEX.AutoSize = True + Me.cbxIMEX.Location = New System.Drawing.Point(90, 6) + Me.cbxIMEX.Name = "cbxIMEX" + Me.cbxIMEX.Size = New System.Drawing.Size(52, 17) + Me.cbxIMEX.TabIndex = 1 + Me.cbxIMEX.Text = "IMEX" + Me.cbxIMEX.UseVisualStyleBackColor = True + ' 'cbxVERAG ' Me.cbxVERAG.AutoSize = True @@ -610,38 +631,33 @@ Partial Class usrCntlCBAM 'Button1 ' Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button1.Location = New System.Drawing.Point(106, 387) + Me.Button1.Location = New System.Drawing.Point(106, 429) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(168, 42) Me.Button1.TabIndex = 44 Me.Button1.Text = "XML Datensatz generieren " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "(DAKOSY)" Me.Button1.UseVisualStyleBackColor = True ' - 'cbxIMEX + 'btnCBAM_DS_DAKOSY_Spedb ' - Me.cbxIMEX.AutoSize = True - Me.cbxIMEX.Location = New System.Drawing.Point(90, 6) - Me.cbxIMEX.Name = "cbxIMEX" - Me.cbxIMEX.Size = New System.Drawing.Size(52, 17) - Me.cbxIMEX.TabIndex = 1 - Me.cbxIMEX.Text = "IMEX" - Me.cbxIMEX.UseVisualStyleBackColor = True - ' - 'cbxUNISPED - ' - Me.cbxUNISPED.AutoSize = True - Me.cbxUNISPED.Location = New System.Drawing.Point(159, 6) - Me.cbxUNISPED.Name = "cbxUNISPED" - Me.cbxUNISPED.Size = New System.Drawing.Size(74, 17) - Me.cbxUNISPED.TabIndex = 2 - Me.cbxUNISPED.Text = "UNISPED" - Me.cbxUNISPED.UseVisualStyleBackColor = True + Me.btnCBAM_DS_DAKOSY_Spedb.Enabled = False + Me.btnCBAM_DS_DAKOSY_Spedb.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnCBAM_DS_DAKOSY_Spedb.Image = Global.SDL.My.Resources.Resources.Excel_logo + Me.btnCBAM_DS_DAKOSY_Spedb.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnCBAM_DS_DAKOSY_Spedb.Location = New System.Drawing.Point(144, 312) + Me.btnCBAM_DS_DAKOSY_Spedb.Name = "btnCBAM_DS_DAKOSY_Spedb" + Me.btnCBAM_DS_DAKOSY_Spedb.Size = New System.Drawing.Size(130, 42) + Me.btnCBAM_DS_DAKOSY_Spedb.TabIndex = 45 + Me.btnCBAM_DS_DAKOSY_Spedb.Text = "Mit Sped-Buch vergleichen" + Me.btnCBAM_DS_DAKOSY_Spedb.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnCBAM_DS_DAKOSY_Spedb.UseVisualStyleBackColor = True ' 'usrCntlCBAM ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.White + Me.Controls.Add(Me.btnCBAM_DS_DAKOSY_Spedb) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.btnCBAM_DS_DAKOSY_XML) @@ -739,4 +755,5 @@ Partial Class usrCntlCBAM Friend WithEvents Button1 As Button Friend WithEvents cbxIMEX As CheckBox Friend WithEvents cbxUNISPED As CheckBox + Friend WithEvents btnCBAM_DS_DAKOSY_Spedb As Button End Class diff --git a/SDL/kunden/usrCntlCBAM.vb b/SDL/kunden/usrCntlCBAM.vb index bf218137..6baf3d06 100644 --- a/SDL/kunden/usrCntlCBAM.vb +++ b/SDL/kunden/usrCntlCBAM.vb @@ -398,7 +398,10 @@ Private Sub btnCBAM_DS_DAKOSY_Click(sender As Object, e As EventArgs) Handles btnCBAM_DS_DAKOSY.Click btnCBAM_DS_DAKOSY_Deteil.Enabled = False btnCBAM_DS_DAKOSY_Copy.Enabled = False + btnCBAM_DS_DAKOSY_Spedb.Enabled = False btnCBAM_DS_DAKOSY_Deteil.Tag = "" + btnCBAM_DS_DAKOSY_Spedb.Tag = "" + Dim SQLSTR_WHERE_FIRMEN = "" If cbxVERAG.Checked Then SQLSTR_WHERE_FIRMEN &= "'SUB','WAI','SBG','NKD','NEU','AMBWO','AMB','IRU','EXP','SUW','DUR'" @@ -465,7 +468,6 @@ Else 'Das ist nicht zulässig, wenn die Unterabfrage auf =, !=, <, <=, > oder >= folgt oder als Ausdruck verwendet wird. - 'SQLSTR &= " ' and (select isnull([ezaAd_NameFirma1],[ezaAd_TeilnehmerEORI]) FROM tblDakosy_EZA_Adressen WHERE ezaAd_EZAId=eza_Id and [ezaAd_AdressTyp]='CN')='" & EORI & "' ' " @@ -481,16 +483,47 @@ Dim dt = SQL.loadDgvBySql(SQLSTR, "AVISO", 600) + + + + Dim MRNNr As String = "" + Dim SQLWhereMRN As String = "" + Dim counter = 0 + + + Dim displayView = New DataView(dt, "", "RegistriernummerATLAS", DataViewRowState.CurrentRows) + Dim distinctDT_MRN As DataTable = displayView.ToTable(True, "RegistriernummerATLAS") + + For Each r As DataRow In distinctDT_MRN.Rows + MRNNr &= "'" & r.Item("RegistriernummerATLAS") & "'" + counter += 1 + If (distinctDT_MRN.Rows.Count <> 0 And counter <> distinctDT_MRN.Rows.Count) Then MRNNr &= "," + Next + SQLWhereMRN &= " AND BelegNr not in (" & MRNNr & ")" + + + Dim sqlNew = "select BelegNr from Speditionsbuch + inner join Kunden on Speditionsbuch.[VermittlerKundenNr] = Kunden.KundenNr OR Speditionsbuch.[EmpfängerKundenNr]= Kunden.KundenNr OR Speditionsbuch.[VermittlerKundenNr] = Kunden.KundenNr OR Speditionsbuch.[EmpfängerKundenNr] = Kunden.KundenNr + where 1 = 1 AND Kunden.EORITIN = '" & EORI & "' AND BelegNr <> '' AND (Speditionsbuch.[Abfertigungsdatum] BETWEEN '" & txtVon._value & "' and '" & txtBis._value & "' )" & SQLWhereMRN + + ' MsgBox(SQLSTR) If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, EORI & "_Detailbericht_" & txtVon._value & "-" & txtBis._value) btnCBAM_DS_DAKOSY_Deteil.Tag = path btnCBAM_DS_DAKOSY_Deteil.Enabled = True btnCBAM_DS_DAKOSY_Copy.Enabled = True - Me.Cursor = Cursors.Default End If + Dim dtNew = SQL.loadDgvBySql(sqlNew, "FMZOLL", 600) + If dtNew IsNot Nothing AndAlso dtNew.Rows.Count > 0 Then + Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dtNew,,,,, False, EORI & "_Unterschiede zum Sped-Buch_" & txtVon._value & "-" & txtBis._value) + btnCBAM_DS_DAKOSY_Spedb.Enabled = True + btnCBAM_DS_DAKOSY_Spedb.Tag = path + Me.Cursor = Cursors.Default + End If + Catch ex As Exception @@ -623,6 +656,8 @@ End Sub + + 'Private Sub btnCBAM_DS_DAKOSY_Click(sender As Object, e As EventArgs) Handles btnCBAM_DS_DAKOSY.Click ' btnCBAM_DS_DAKOSY_Deteil.Enabled = False ' btnCBAM_DS_DAKOSY_Copy.Enabled = False @@ -1023,7 +1058,7 @@ Private Sub btnCBAM_DS_DAKOSY_Deteil_Click(sender As Object, e As EventArgs) Handles btnCBAM_DS_DAKOSY_Deteil.Click, btnCBAM_DS_DAKOSY_Summe.Click, btnCBAM_DS_DHF_VERAG_Deteil.Click, btnCBAM_DS_DHF_VERAG_Summe.Click, btnCBAM_DS_DHF_UNISPED_Deteil.Click, btnCBAM_DS_DHF_UNISPED_Summe.Click, btnCBAM_DS_TELOTEC_Detail.Click, btnCBAM_DS_TELOTEC_Summe.Click, - btnCBAM_DS_DAKOSY_XML.Click + btnCBAM_DS_DAKOSY_XML.Click, btnCBAM_DS_DAKOSY_Spedb.Click If sender.tag <> "" Then Try : Process.Start(sender.tag) : Catch : End Try @@ -1389,6 +1424,7 @@ btnCBAM_DS_DAKOSY_Deteil.Tag = path btnCBAM_DS_DAKOSY_Deteil.Enabled = True btnCBAM_DS_DAKOSY_Copy.Enabled = True + btnCBAM_DS_DAKOSY_Spedb.Enabled = True Me.Cursor = Cursors.Default End If @@ -1494,4 +1530,6 @@ Me.Cursor = Cursors.Default End Sub + + End Class diff --git a/SDL/seriendruck/usrCntlFakturierung.Designer.vb b/SDL/seriendruck/usrCntlFakturierung.Designer.vb index 3026327a..c2c7f2e1 100644 --- a/SDL/seriendruck/usrCntlFakturierung.Designer.vb +++ b/SDL/seriendruck/usrCntlFakturierung.Designer.vb @@ -86,6 +86,13 @@ Partial Class usrcntlFakturierung Me.Label63 = New System.Windows.Forms.Label() Me.Label45 = New System.Windows.Forms.Label() Me.btnRePos = New System.Windows.Forms.Button() + Me.Validation1 = New SDL.EORI.validation() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.cbxStatusAUTOMAIL = New System.Windows.Forms.CheckBox() + Me.PictureBox9 = New System.Windows.Forms.PictureBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label9 = New System.Windows.Forms.Label() Me.GroupBox1.SuspendLayout() Me.GBMautberichte.SuspendLayout() CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit() @@ -98,6 +105,7 @@ Partial Class usrcntlFakturierung CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'GroupBox1 @@ -328,6 +336,12 @@ Partial Class usrcntlFakturierung ' 'GBSammelrechnung ' + Me.GBSammelrechnung.Controls.Add(Me.Label9) + Me.GBSammelrechnung.Controls.Add(Me.Label8) + Me.GBSammelrechnung.Controls.Add(Me.PictureBox9) + Me.GBSammelrechnung.Controls.Add(Me.cbxStatusAUTOMAIL) + Me.GBSammelrechnung.Controls.Add(Me.Label7) + Me.GBSammelrechnung.Controls.Add(Me.Label6) Me.GBSammelrechnung.Controls.Add(Me.btnAbfdruck) Me.GBSammelrechnung.Controls.Add(Me.btnREJdruck) Me.GBSammelrechnung.Controls.Add(Me.PictureBox8) @@ -371,7 +385,7 @@ Partial Class usrcntlFakturierung Me.GBSammelrechnung.Enabled = False Me.GBSammelrechnung.Location = New System.Drawing.Point(10, 356) Me.GBSammelrechnung.Name = "GBSammelrechnung" - Me.GBSammelrechnung.Size = New System.Drawing.Size(697, 393) + Me.GBSammelrechnung.Size = New System.Drawing.Size(697, 494) Me.GBSammelrechnung.TabIndex = 14 Me.GBSammelrechnung.TabStop = False ' @@ -379,7 +393,7 @@ Partial Class usrcntlFakturierung ' Me.btnAbfdruck.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnAbfdruck.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.btnAbfdruck.Location = New System.Drawing.Point(138, 346) + Me.btnAbfdruck.Location = New System.Drawing.Point(144, 396) Me.btnAbfdruck.Name = "btnAbfdruck" Me.btnAbfdruck.Size = New System.Drawing.Size(106, 32) Me.btnAbfdruck.TabIndex = 115 @@ -390,7 +404,7 @@ Partial Class usrcntlFakturierung ' Me.btnREJdruck.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnREJdruck.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.btnREJdruck.Location = New System.Drawing.Point(10, 346) + Me.btnREJdruck.Location = New System.Drawing.Point(16, 396) Me.btnREJdruck.Name = "btnREJdruck" Me.btnREJdruck.Size = New System.Drawing.Size(106, 32) Me.btnREJdruck.TabIndex = 114 @@ -439,7 +453,7 @@ Partial Class usrcntlFakturierung ' Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button3.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button3.Location = New System.Drawing.Point(529, 346) + Me.Button3.Location = New System.Drawing.Point(535, 396) Me.Button3.Name = "Button3" Me.Button3.Size = New System.Drawing.Size(121, 32) Me.Button3.TabIndex = 109 @@ -451,7 +465,7 @@ Partial Class usrcntlFakturierung ' Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button2.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button2.Location = New System.Drawing.Point(410, 346) + Me.Button2.Location = New System.Drawing.Point(416, 396) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(106, 32) Me.Button2.TabIndex = 108 @@ -464,7 +478,7 @@ Partial Class usrcntlFakturierung Me.cbxMautanh.AutoSize = True Me.cbxMautanh.Checked = True Me.cbxMautanh.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxMautanh.Location = New System.Drawing.Point(450, 262) + Me.cbxMautanh.Location = New System.Drawing.Point(491, 287) Me.cbxMautanh.Name = "cbxMautanh" Me.cbxMautanh.Size = New System.Drawing.Size(184, 17) Me.cbxMautanh.TabIndex = 107 @@ -561,7 +575,7 @@ Partial Class usrcntlFakturierung Me.cbxVorschau.AutoSize = True Me.cbxVorschau.Checked = True Me.cbxVorschau.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxVorschau.Location = New System.Drawing.Point(329, 262) + Me.cbxVorschau.Location = New System.Drawing.Point(491, 310) Me.cbxVorschau.Name = "cbxVorschau" Me.cbxVorschau.Size = New System.Drawing.Size(109, 17) Me.cbxVorschau.TabIndex = 48 @@ -573,7 +587,7 @@ Partial Class usrcntlFakturierung Me.cbxAbfVerbotdrucken.AutoSize = True Me.cbxAbfVerbotdrucken.Checked = True Me.cbxAbfVerbotdrucken.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxAbfVerbotdrucken.Location = New System.Drawing.Point(166, 262) + Me.cbxAbfVerbotdrucken.Location = New System.Drawing.Point(307, 287) Me.cbxAbfVerbotdrucken.Name = "cbxAbfVerbotdrucken" Me.cbxAbfVerbotdrucken.Size = New System.Drawing.Size(157, 17) Me.cbxAbfVerbotdrucken.TabIndex = 47 @@ -585,7 +599,7 @@ Partial Class usrcntlFakturierung Me.cbxRechnungsjournaldrucken.AutoSize = True Me.cbxRechnungsjournaldrucken.Checked = True Me.cbxRechnungsjournaldrucken.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxRechnungsjournaldrucken.Location = New System.Drawing.Point(6, 262) + Me.cbxRechnungsjournaldrucken.Location = New System.Drawing.Point(307, 310) Me.cbxRechnungsjournaldrucken.Name = "cbxRechnungsjournaldrucken" Me.cbxRechnungsjournaldrucken.Size = New System.Drawing.Size(154, 17) Me.cbxRechnungsjournaldrucken.TabIndex = 46 @@ -605,7 +619,7 @@ Partial Class usrcntlFakturierung ' 'Label72 ' - Me.Label72.Location = New System.Drawing.Point(96, 286) + Me.Label72.Location = New System.Drawing.Point(102, 336) Me.Label72.Name = "Label72" Me.Label72.Size = New System.Drawing.Size(589, 19) Me.Label72.TabIndex = 42 @@ -631,7 +645,7 @@ Partial Class usrcntlFakturierung Me.KdSearchBox3.KdNr = "-1" Me.KdSearchBox3.kdNrField = Nothing Me.KdSearchBox3.KdNrNullInt = Nothing - Me.KdSearchBox3.Location = New System.Drawing.Point(87, 308) + Me.KdSearchBox3.Location = New System.Drawing.Point(93, 358) Me.KdSearchBox3.Name = "KdSearchBox3" Me.KdSearchBox3.nurAktive = True Me.KdSearchBox3.searchActive = True @@ -643,7 +657,7 @@ Partial Class usrcntlFakturierung 'rbkunde ' Me.rbkunde.AutoSize = True - Me.rbkunde.Location = New System.Drawing.Point(9, 309) + Me.rbkunde.Location = New System.Drawing.Point(15, 359) Me.rbkunde.Name = "rbkunde" Me.rbkunde.Size = New System.Drawing.Size(59, 17) Me.rbkunde.TabIndex = 40 @@ -654,7 +668,7 @@ Partial Class usrcntlFakturierung ' Me.rbAlleKunden.AutoSize = True Me.rbAlleKunden.Checked = True - Me.rbAlleKunden.Location = New System.Drawing.Point(9, 286) + Me.rbAlleKunden.Location = New System.Drawing.Point(15, 336) Me.rbAlleKunden.Name = "rbAlleKunden" Me.rbAlleKunden.Size = New System.Drawing.Size(81, 17) Me.rbAlleKunden.TabIndex = 39 @@ -789,13 +803,72 @@ Partial Class usrcntlFakturierung ' Me.btnRePos.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnRePos.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.btnRePos.Location = New System.Drawing.Point(10, 81) + Me.btnRePos.Location = New System.Drawing.Point(10, 95) Me.btnRePos.Name = "btnRePos" Me.btnRePos.Size = New System.Drawing.Size(121, 49) Me.btnRePos.TabIndex = 4 Me.btnRePos.Text = "Rechnungspos. berechnen" Me.btnRePos.UseVisualStyleBackColor = True ' + 'Validation1 + ' + Me.Validation1.Credentials = Nothing + Me.Validation1.Url = "http://ec.europa.eu/taxation_customs/dds2/eos/validation/services/validation" + Me.Validation1.UseDefaultCredentials = False + ' + 'Label6 + ' + Me.Label6.Location = New System.Drawing.Point(304, 265) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(48, 19) + Me.Label6.TabIndex = 116 + Me.Label6.Text = "Anzeige:" + ' + 'Label7 + ' + Me.Label7.Location = New System.Drawing.Point(13, 265) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(48, 19) + Me.Label7.TabIndex = 117 + Me.Label7.Text = "AUTO:" + ' + 'cbxStatusAUTOMAIL + ' + Me.cbxStatusAUTOMAIL.AutoSize = True + Me.cbxStatusAUTOMAIL.Location = New System.Drawing.Point(15, 287) + Me.cbxStatusAUTOMAIL.Name = "cbxStatusAUTOMAIL" + Me.cbxStatusAUTOMAIL.Size = New System.Drawing.Size(143, 17) + Me.cbxStatusAUTOMAIL.TabIndex = 118 + Me.cbxStatusAUTOMAIL.Text = "Email autom. versenden*" + Me.cbxStatusAUTOMAIL.UseVisualStyleBackColor = True + ' + 'PictureBox9 + ' + Me.PictureBox9.BackgroundImage = Global.SDL.My.Resources.Resources.ok + Me.PictureBox9.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.PictureBox9.Location = New System.Drawing.Point(148, 230) + Me.PictureBox9.Name = "PictureBox9" + Me.PictureBox9.Size = New System.Drawing.Size(14, 14) + Me.PictureBox9.TabIndex = 119 + Me.PictureBox9.TabStop = False + Me.PictureBox9.Visible = False + ' + 'Label8 + ' + Me.Label8.Location = New System.Drawing.Point(168, 230) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(151, 16) + Me.Label8.TabIndex = 120 + Me.Label8.Text = "3. Status Autoversand setzen" + ' + 'Label9 + ' + Me.Label9.Location = New System.Drawing.Point(13, 307) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(149, 19) + Me.Label9.TabIndex = 121 + Me.Label9.Text = "* wird im Nachtlauf versendet!" + ' 'usrcntlFakturierung ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -823,6 +896,7 @@ Partial Class usrcntlFakturierung CType(Me.PictureBox3, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -889,4 +963,11 @@ Partial Class usrcntlFakturierung Friend WithEvents btnREJdruck As Button Friend WithEvents btnAbfdruck As Button Friend WithEvents btnLieferantenrechnungen As Button + Friend WithEvents Validation1 As EORI.validation + Friend WithEvents Label8 As Label + Friend WithEvents PictureBox9 As PictureBox + Friend WithEvents cbxStatusAUTOMAIL As CheckBox + Friend WithEvents Label7 As Label + Friend WithEvents Label6 As Label + Friend WithEvents Label9 As Label End Class diff --git a/SDL/seriendruck/usrCntlFakturierung.resx b/SDL/seriendruck/usrCntlFakturierung.resx index ed50a967..343a6bf9 100644 --- a/SDL/seriendruck/usrCntlFakturierung.resx +++ b/SDL/seriendruck/usrCntlFakturierung.resx @@ -238,4 +238,7 @@ SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC + + 17, 17 + \ No newline at end of file diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index 5a206bb9..13b3e6b6 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -880,7 +880,7 @@ Public Class usrcntlFakturierung End Function - Private Function setStatus2(Sachbearbeiter As String, rechnungsdatum As Date, dtSammelRechnugen As DataTable) As Boolean + Private Function setStatus2(Sachbearbeiter As String, rechnungsdatum As Date, dtSammelRechnugen As DataTable, automMailversand As Boolean) As Boolean Dim cnt = 0 @@ -888,7 +888,7 @@ Public Class usrcntlFakturierung If dtSammelRechnugen.Rows.Count > 0 Then For Each re In dtSammelRechnugen.Rows - reIsSet = cFakturierung.doSAMMELRechnungsDruck(19, 6, rechnungsdatum, rechnungsdatum, "", False, False, re("RechnungsKundenNr"), 7, , , , Nothing, , ,,, ,, ) + reIsSet = cFakturierung.doSAMMELRechnungsDruck(19, 6, rechnungsdatum, rechnungsdatum, "", False, False, re("RechnungsKundenNr"), 7, , , , Nothing, , ,,, ,, ,,, automMailversand) If Not reIsSet Then Return reIsSet @@ -969,7 +969,7 @@ Public Class usrcntlFakturierung If Not vbYes = MsgBox("Möchten Sie die Rechnungsnummern für " & dtSammelrechnungenGruppiert.Rows.Count & " Rechnungen setzen?" & vbNewLine & "Es wird eine Rechnungsnummer vergeben, die Rechnungen gelten somit als gedruckt und können nicht mehr bearbeitet werden.", vbYesNoCancel) Then Exit Sub - Dim reNrisSet = setStatus2(Sachbearbeiter, rechnungsdatum, dtSammelrechnungenGruppiert) + Dim reNrisSet = setStatus2(Sachbearbeiter, rechnungsdatum, dtSammelrechnungenGruppiert, cbxStatusAUTOMAIL.Checked) showPic(reNrisSet, PictureBox7) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb index 8bfc738d..37f27ded 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb @@ -1,6 +1,4 @@ -Imports com.sun.org.apache.xpath.internal.functions -Imports javax.validation.constraints -Imports Org.BouncyCastle.Asn1 + Public Class cMDMFunctionsAllgemein @@ -792,4 +790,5 @@ Public Class cMDMFunctionsAllgemein End Try End Function + End Class diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb index 4f3169e6..e24568b5 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb @@ -117,6 +117,7 @@ Public Class cRechnungsausgang Property FakturierungsGruppe As String = "" Property TextZZ As Object = Nothing Property ForceSteuerschlüssel As Object = Nothing + Property Automailversand As Boolean = False ' FROM [VERAG as object=nothing.[dbo as object=nothing.[Rechnungsausgang as object=nothing @@ -360,6 +361,7 @@ Public Class cRechnungsausgang list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FakturierungsGruppe", FakturierungsGruppe)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TextZZ", TextZZ)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ForceSteuerschlüssel", ForceSteuerschlüssel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Automailversand", Automailversand)) Return list End Function diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb b/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb index 6f4d4c61..88eb32cb 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb @@ -1391,7 +1391,7 @@ Public Class cUTA End Function - Public Shared Function UPDATE_ARCHIV(reDat As Date, reNr As Integer, uta_kdNr As Integer, ustvaId As Integer) As Boolean + Public Shared Function UPDATE_ARCHIV(reDat As Date, reNr As Single, uta_kdNr As String, ustvaId As Integer) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL