diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 24924c13..75eec072 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -708,6 +708,8 @@ Public Class cFakturierung Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID) If RG_TMP.Sammelrechnung = 0 Then Return doRechnungsDruck(New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID), RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, , printStbVdb) + ElseIf RG_TMP.Sammelrechnung = 6 Then + Return cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", AnlageEinzelRg, True, Rechnugnsdruck, Path, False,,,,,,,, True, True,,,, True) Else Return cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", AnlageEinzelRg, , Rechnugnsdruck, Path, True) End If @@ -934,7 +936,7 @@ Public Class cFakturierung rpt.lblFirmaFax.Text = If(FIRMA.Firma_Telefax, "") rpt.lblFirmaEmail.Text = If(FIRMA.Firma_E_Mail, "") rpt.lblFirmaWeb.Text = If(FIRMA.Firma_Webadresse, "") - rpt.lblFirma.Text = (If(FIRMA.Firma_Bez, "") & ", " & If(FIRMA.Firma_Ort, "")).ToString.Replace(" (DE)", "") + rpt.lblFirma.Text = (If(FIRMA.Firma_Bez, "") & ", " & If(FIRMA.Firma_Straße, "").ToString & ", " & If(FIRMA.Firma_Ort, "")).ToString.Replace(" (DE)", "") If FIRMA.Firma_ID = 1 Then rpt.lblFirma.Text &= vbNewLine & "D-94152 Neuhaus/Inn, Hartham 6" @@ -1690,10 +1692,10 @@ Public Class cFakturierung End If End If If RECHNUNG.ANHAENGE.Count > 0 Then - 'wird nicht mehr benötigt! TicketNr: 953 - 'If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then - ' printRGAnhaenge(RECHNUNG) - 'End If + 'wird nicht mehr benötigt! TicketNr: 953 ----- wird doch wieder benötigt! + If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then + printRGAnhaenge(RECHNUNG) + End If End If End If @@ -2414,7 +2416,7 @@ Public Class cFakturierung Case 24 'AMBAR Dim defaultMail = getDefaultMail("AMBAR", departmentmailadress, fakturierung) getSignature &= "" - If displayFirmenmane Then getSignature &= "
AMBAR Logistic Services GmbH
" + If displayFirmenmane Then getSignature &= "
AMBAR | IMPORT ZOLL
" getSignature &= "
D 83435 Bad Reichenhall, Reichenhallerstrasse 62
T +49 8651 9962492 | F +49 8651 9962493 | @ " & If(individuell, emailindividuell, defaultMail) & " | www.ambarlog.com | DE309105428
" If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine Case 21 'UNISPED @@ -2982,7 +2984,7 @@ Public Class cFakturierung End Function - Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "", Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional mergePDF As Boolean = False, Optional RechnungsanhangPDF As Boolean = False, Optional RechnugnskopieMDMSammelrechnung As Boolean = False, Optional AnhList As List(Of String) = Nothing, Optional RechnungsanhangCSV As Boolean = False) As Boolean + Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "", Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional mergePDF As Boolean = False, Optional RechnungsanhangPDF As Boolean = False, Optional RechnugnskopieMDMSammelrechnung As Boolean = False, Optional AnhList As List(Of String) = Nothing, Optional RechnungsanhangCSV As Boolean = False, Optional onlyAsfinagAnhang As Boolean = False) As Boolean 'SB Nicht mehr benötigt, da RG-Nr und DruckdatumUhrzeit Dim dt As DataTable @@ -3011,7 +3013,7 @@ Public Class cFakturierung doSAMMELRechnungsDruck_Abschnitt = doSAMMELRechnungDruck_Rechnungsdruck(dt, RechnungsNr, DruckdatumUhrzeit, 3, RechnungsdruckArt, pathPDF_SammelRg, PrinterName, SRDruckWiederholen, VorschauID) 'Sammelrechnung drucken If Sammelrechnungsbericht Then If Not doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht(RechnungsNr, DruckdatumUhrzeit, RechnungsdruckArt, pathPDF_SammelBericht, PrinterName, VorschauID, dt, RechnugnskopieMDMSammelrechnung) Then doSAMMELRechnungsDruck_Abschnitt = False 'Sammelrechnungsbericht drucken If AnlageEinzelRg Then If Not doSAMMELRechnungDruck_Rechnungsdruck_Anlagen(RechnungsNr, DruckdatumUhrzeit, PrinterName, pathPDF_Anlage, RechnungsdruckArt, VorschauID) Then doSAMMELRechnungsDruck_Abschnitt = False 'Anlagen drucken - If RechnungsanhangPDF Then getRechnungsanshang(dt, pathPDF_Anlage, "pdf") + If RechnungsanhangPDF Then getRechnungsanshang(dt, pathPDF_Anlage, "pdf", onlyAsfinagAnhang) If RechnungsanhangCSV Then getRechnungsanshang(dt, AnhList, "csv") @@ -3557,35 +3559,22 @@ Public Class cFakturierung Dim sumSteuerpflichtig As Double = 0 Dim sumSteuerfrei As Double = 0 - Dim watermark As New Label() - - watermark.Font = New Font("Arial", 72, FontStyle.Bold) - watermark.ForeColor = Color.LightGray - watermark.Angle = 45 ' Rotate watermark - watermark.Left = 2.0F - watermark.Top = 5.0F - watermark.Width = 6.0F - watermark.Height = 1.5F - watermark.BackColor = Color.Transparent - ' Ensure the PageHeader section exists If Sammelrechnungskopie Then - + Dim imageForWatermark As Image Select Case ROW("RechnungSprache") - Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY" : watermark.Text = "INVALID" - Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE" : watermark.Text = "UNGÜLTIG" + Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY" : imageForWatermark = My.Resources.ungueltig_en + Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE" : imageForWatermark = My.Resources.ungueltig_de End Select - rpt.Sections("Detail").Controls.Add(watermark) + + If Rechnugnsdruck = 7 Then 'nur bei "Vorschaudruck" + rpt.Watermark = imageForWatermark + rpt.WatermarkSizeMode = GrapeCity.ActiveReports.SectionReportModel.SizeModes.Zoom + End If End If - - - - - - AddHandler rpt.Detail.Format, Sub() ' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString ' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString @@ -4366,8 +4355,7 @@ End If End Function - Public Shared Function getRechnungsanshang(dt As DataTable, listAnh As List(Of String), extTyp As String) - + Public Shared Function getRechnungsanshang(dt As DataTable, listAnh As List(Of String), extTyp As String, Optional onlyAsfinagMautanhang As Boolean = False) Dim displayView = New DataView(dt, "", "RK_ID", DataViewRowState.CurrentRows) @@ -4381,17 +4369,28 @@ End If Select Case extTyp Case "pdf" - If RG_AH.Bezeichnung.ToUpper.Contains("MAUT") Or RG_AH.Bezeichnung.ToUpper.Contains("DIESEL") Or RG_AH.Bezeichnung.ToUpper.Contains("INVOICE") Then - Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId) - If Not listAnh.Contains(Path) Then - If Not (listAnh.Any(Function(f) f.Contains("COPY_INVOICE")) And Path.ToUpper.Contains("COPY_INVOICE")) Then 'damit diesel IDS-Rechnung nicht doppelt hinzugefügt wird. - listAnh.Add(Path) + If onlyAsfinagMautanhang Then + If RG_AH.Bezeichnung.ToUpper.Contains("MAUT_AT") Then + Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId) + listAnh.Add(Path) + End If + Else + + If RG_AH.Bezeichnung.ToUpper.Contains("MAUT") Or RG_AH.Bezeichnung.ToUpper.Contains("DIESEL") Or RG_AH.Bezeichnung.ToUpper.Contains("INVOICE") Then + Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId) + If Not listAnh.Contains(Path) Then + + If Not (listAnh.Any(Function(f) f.Contains("COPY_INVOICE")) And Path.ToUpper.Contains("COPY_INVOICE")) Then 'damit diesel IDS-Rechnung nicht doppelt hinzugefügt wird. + listAnh.Add(Path) + + End If End If End If End If + Case "csv" If RG_AH.Bezeichnung.ToUpper.Contains("MAUT") Then diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index ffcf8e49..3007213c 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -543,46 +543,46 @@ Public Class frmFaktEmail - Try - Dim outl As New Outlook.Application - Dim Mail As Microsoft.Office.Interop.Outlook.MailItem - Mail = outl.CreateItem(0) + Try + Dim outl As New Outlook.Application + Dim Mail As Microsoft.Office.Interop.Outlook.MailItem + Mail = outl.CreateItem(0) - If Firma_ID = 24 Then - Try - Dim oAccount As Outlook.Account - Dim accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True) + If Firma_ID = 24 Then + Try + Dim oAccount As Outlook.Account + Dim accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True) - If outl.Session.Accounts.Count > 0 Then - For Each oAccount In outl.Session.Accounts - If oAccount.SmtpAddress = accountToSent Then - Mail.SendUsingAccount = oAccount - Exit For - End If - Next - 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 + If outl.Session.Accounts.Count > 0 Then + For Each oAccount In outl.Session.Accounts + If oAccount.SmtpAddress = accountToSent Then + Mail.SendUsingAccount = oAccount + Exit For + End If + Next + 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 - 'Mail-Adressen eintragen - '----------------------------------------------------------------- - For Each r In dgvEmail.Rows - If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";" - Next - For Each r In dgvEmailCC.Rows - If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";" - Next - For Each r In dgvEmailBCC.Rows - If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";" - Next + 'Mail-Adressen eintragen + '----------------------------------------------------------------- + For Each r In dgvEmail.Rows + If r.cells(0).value <> "" Then Mail.To &= r.cells(0).value & ";" + Next + For Each r In dgvEmailCC.Rows + If r.cells(0).value <> "" Then Mail.CC &= r.cells(0).value & ";" + Next + For Each r In dgvEmailBCC.Rows + If r.cells(0).value <> "" Then Mail.BCC &= r.cells(0).value & ";" + Next - 'Rechnung erstellen: - '----------------------------------------------------------------- - Dim pathRG = "" + 'Rechnung erstellen: + '----------------------------------------------------------------- + Dim pathRG = "" If Not cFakturierung.doRechnungsDruck(RECHNUNG, Rechnungsdatum,, 4, pathRG,, cbxOriginalPrint.Checked) Then Exit Sub @@ -595,65 +595,65 @@ Public Class frmFaktEmail RechnungsNr = RECHNUNG.RechnungsNr - If cbxRgKopieDrucken.Checked Then - 'KOPIE DRUCK - cFakturierung.doRechnungsDruck(RECHNUNG,,, 1, "", cboPrinter.Text, False) - End If + If cbxRgKopieDrucken.Checked Then + 'KOPIE DRUCK + cFakturierung.doRechnungsDruck(RECHNUNG,,, 1, "", cboPrinter.Text, False) + End If - If pathRG <> "" Then ATTACHMENTS.Add(New cFakt_MailATTach(pathRG, If(RECHNUNG.BelegartenKz = "AR", "Rechnung.pdf", "Gutschrift.pdf"))) + If pathRG <> "" Then ATTACHMENTS.Add(New cFakt_MailATTach(pathRG, If(RECHNUNG.BelegartenKz = "AR", "Rechnung.pdf", "Gutschrift.pdf"))) - RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", RechnungsNr) - txtSubject.Text = txtSubject.Text.Replace("%RgNr%", RechnungsNr) & abfNr + RichTextBox.Text = RichTextBox.Text.Replace("%RgNr%", RechnungsNr) + txtSubject.Text = txtSubject.Text.Replace("%RgNr%", RechnungsNr) & abfNr - Dim TextHTML = "
" & RichTextBox.Text.Replace(ControlChars.Lf, "
") & cFakturierung.getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID,,,, additionalLine,, IIf(Firma_ID = "24", True, False)) & "
" + Dim TextHTML = "
" & RichTextBox.Text.Replace(ControlChars.Lf, "
") & cFakturierung.getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID,,,, additionalLine,, IIf(Firma_ID = "24", True, False)) & "
" - Mail.HTMLBody = TextHTML - Mail.Subject = txtSubject.Text + Mail.HTMLBody = TextHTML + Mail.Subject = txtSubject.Text - ' Mail.HTMLBody = Mail.HTMLBody.Replace("%RgNr%", RECHNUNG.RechnungsNr) - ' Mail.Subject = Mail.Subject.Replace("%RgNr%", RECHNUNG.RechnungsNr & abfNr) + ' Mail.HTMLBody = Mail.HTMLBody.Replace("%RgNr%", RECHNUNG.RechnungsNr) + ' Mail.Subject = Mail.Subject.Replace("%RgNr%", RECHNUNG.RechnungsNr & abfNr) - '----------------------------------------------------------------- + '----------------------------------------------------------------- - 'Steuerbescheid/VDB anfügen - '----------------------------------------------------------------- - getAnhaengeSingle() - '----------------------------------------------------------------- + 'Steuerbescheid/VDB anfügen + '----------------------------------------------------------------- + getAnhaengeSingle() + '----------------------------------------------------------------- - 'Rechnungsanhänge anfügen - '----------------------------------------------------------------- - RECHNUNG.LOAD_ANHAENGE() - For Each ANH In RECHNUNG.ANHAENGE - ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung)) - Next - '----------------------------------------------------------------- + 'Rechnungsanhänge anfügen + '----------------------------------------------------------------- + RECHNUNG.LOAD_ANHAENGE() + For Each ANH In RECHNUNG.ANHAENGE + ATTACHMENTS.Add(New cFakt_MailATTach(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId), ANH.Bezeichnung)) + Next + '----------------------------------------------------------------- - 'Anhang an Mail anfügen - '----------------------------------------------------------------- - addAttachments(Mail, RECHNUNG.RechnungsNr, cbxMergePDF.Checked) - '----------------------------------------------------------------- + 'Anhang an Mail anfügen + '----------------------------------------------------------------- + addAttachments(Mail, RECHNUNG.RechnungsNr, cbxMergePDF.Checked) + '----------------------------------------------------------------- - If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then - Try - Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.de" - Catch ex2 As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex2.Message, ex2.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) - End Try - End If + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then + Try + Mail.SentOnBehalfOfName = "buchhaltung@ambarlog.de" + Catch ex2 As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex2.Message, ex2.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + End If - Mail.Display() + Mail.Display() - '------------------------------------------------------------------------------------------ - ' STB /FA - send_StbFAMail(RECHNUNG.RechnungsKundenNr, " Rg-Nr.: " & RechnungsNr & abfNr, RECHNUNG.RechnungsNr) - '------------------------------------------------------------------------------------------ + '------------------------------------------------------------------------------------------ + ' STB /FA + send_StbFAMail(RECHNUNG.RechnungsKundenNr, " Rg-Nr.: " & RechnungsNr & abfNr, RECHNUNG.RechnungsNr) + '------------------------------------------------------------------------------------------ - Catch ex As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Öffnen des Mail-Programmes." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler beim Öffnen des Mail-Programmes." & ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) 'Process.Start(a) End Try diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb index 28e856f1..2cb68569 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb @@ -76,7 +76,7 @@ Public Class frmFaktSammelRgDrucken 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, isnull(tblKundenErweitert.kde_keineMWSt,0) as keineMWST + 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) = '" & txtZeitraumBis._value & "' @@ -124,6 +124,10 @@ Public Class frmFaktSammelRgDrucken .Columns("keineMWST").Visible = False End If + If .Columns.Contains("Steuer") Then + .Columns("Steuer").Visible = False + End If + .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill .ClearSelection() End With @@ -297,19 +301,25 @@ Public Class frmFaktSammelRgDrucken RG_DRUCK = 5 End If - 'KOPIE BEREITS BEIm EMAIL-Versand wenn NICHT-EU Kunde oder mit MWST - Dim MDMKopiedrucken As Boolean = False + 'AKTUELL IMMER MIT KOPIE + Dim MDMKopiedrucken As Boolean = True - If MyDatagridview1.Columns.Contains("keineMWST") Then - If MyDatagridview1.SelectedRows.Count = 1 Then MDMKopiedrucken = Not MyDatagridview1.SelectedRows(0).Cells("keineMWST").Value - End If + 'wenn das senden der Originale per POST wegfällt, dann untere Logik aktivieren! - If Not MDMKopiedrucken Then - Dim reLandKZ As String = MyDatagridview1.Rows(0).Cells("RechnungsLandKz").Value - Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = reLandKZ).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault() - MDMKopiedrucken = Not isEU + '1. Schritt KOPIE generell außer ORIGINALE AN NICHT MWST-Kunden + 'Dim reLandKZ As String = MyDatagridview1.Rows(0).Cells("RechnungsLandKz").Value + 'Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = reLandKZ).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault() + 'If Not isEU Then + ' If MyDatagridview1.Columns.Contains("keineMWST") Then + ' If MyDatagridview1.SelectedRows.Count = 1 Then MDMKopiedrucken = Not MyDatagridview1.SelectedRows(0).Cells("keineMWST").Value + ' End If + '2. Schritt MWST Kunde -> wenn ohne MWST-BEtrag ->Original sonst Kopie! + ' If MDMKopiedrucken Then + ' MDMKopiedrucken = CDbl(MyDatagridview1.SelectedRows(0).Cells("Steuer").Value) <> 0 + ' End If + + 'End If - End If Dim f As New frmFaktEmail(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, RG_DRUCK, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr_Simple, -1, Nothing, cboSB._value,, getAvisoIds, cbxEVOLOG.Checked, cbxTransFerry.Checked, cboFaktGrp._value, cboAbfertigungsart._value, MDMKopiedrucken) diff --git a/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.Designer.vb b/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.Designer.vb index 90124bfc..9abc959e 100644 --- a/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.Designer.vb +++ b/SDL/Fakturierung/rptSammelRechnungAnlagenDruck.Designer.vb @@ -518,7 +518,7 @@ Partial Public Class rptSammelRechnungAnlagenDruck ' 'lblFirmaStrasse ' - Me.lblFirmaStrasse.Height = 0.1181103! + Me.lblFirmaStrasse.Height = 0.1574804! Me.lblFirmaStrasse.HyperLink = Nothing Me.lblFirmaStrasse.Left = 0.01417319! Me.lblFirmaStrasse.Name = "lblFirmaStrasse" @@ -542,7 +542,7 @@ Partial Public Class rptSammelRechnungAnlagenDruck ' 'lblFirmaFax ' - Me.lblFirmaFax.Height = 0.1181102! + Me.lblFirmaFax.Height = 0.1574803! Me.lblFirmaFax.HyperLink = Nothing Me.lblFirmaFax.Left = 1.211024! Me.lblFirmaFax.Name = "lblFirmaFax" @@ -566,14 +566,14 @@ Partial Public Class rptSammelRechnungAnlagenDruck ' 'lblFirmaWeb ' - Me.lblFirmaWeb.Height = 0.1181103! + Me.lblFirmaWeb.Height = 0.1574804! Me.lblFirmaWeb.HyperLink = Nothing Me.lblFirmaWeb.Left = 2.697638! Me.lblFirmaWeb.Name = "lblFirmaWeb" Me.lblFirmaWeb.Style = "font-size: 7pt; font-weight: normal; text-align: right; vertical-align: middle; d" & "do-char-set: 1" Me.lblFirmaWeb.Text = "www.verag.ag" - Me.lblFirmaWeb.Top = 0.9078741! + Me.lblFirmaWeb.Top = 0.868504! Me.lblFirmaWeb.Width = 1.436614! ' 'lblRgDatumUeberschrift diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index 10908c41..0b8a51b1 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -604,6 +604,9 @@ Public Class usrCntlFaktAbrechnung cboFirma.fillWithSQL("SELECT [Firma_ID],[Firma_Bez] FROM [tblFirma] WHERE Firma_ID NOT IN(3) " & whereFirma & " ORDER BY Firma_ID ", True, "FMZOLL", firstEmpty) + + + cboFirma.SelectedIndex = 0 @@ -1947,7 +1950,7 @@ Public Class usrCntlFaktAbrechnung Dim FIRMATMP = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale2(cboFiliale._value) kdFirmaRechnungAn._UseFIRMA = FIRMATMP - If cboFiliale._value = "5701" AndAlso VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AMBAR_ALLE_RECHNUNGSEMPFÄNGER", "SDL") Then kdFirmaRechnungAn._UseFIRMA = Nothing + 'If cboFiliale._value = "5701" AndAlso VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AMBAR_ALLE_RECHNUNGSEMPFÄNGER", "SDL") Then kdFirmaRechnungAn._UseFIRMA = Nothing kdFirmaAbsender._UseFIRMA = FIRMATMP kdFirmaAuftraggeber._UseFIRMA = FIRMATMP kdFirmaEmpfaenger._UseFIRMA = FIRMATMP diff --git a/SDL/Formulare/KDFormulare/frmFormulare.vb b/SDL/Formulare/KDFormulare/frmFormulare.vb index 33210035..fbc09806 100644 --- a/SDL/Formulare/KDFormulare/frmFormulare.vb +++ b/SDL/Formulare/KDFormulare/frmFormulare.vb @@ -1717,6 +1717,16 @@ Public Class FormularManagerNEU If usrCntl.txtGruendungsdat.Text <> "" AndAlso IsDate(usrCntl.txtGruendungsdat.Text) Then foundingDateIsValid = True privateFirma = usrCntl.cbxPrivatfirma.Checked + Dim founding_day As String + Dim founding_year As String + Dim founding_month As String + + If foundingDateIsValid Then + founding_day = usrCntl.txtGruendungsdat.Text.ToString.Substring(0, 2) + founding_month = usrCntl.txtGruendungsdat.Text.ToString.Substring(3, 2) + founding_year = usrCntl.txtGruendungsdat.Text.ToString.Substring(6, 4) + End If + For Each item In list If usrCntl.cboLand._value <> "PL" Then 'PLN NICHT EU überspringen @@ -1746,9 +1756,9 @@ Public Class FormularManagerNEU Case "founding_date" : listItem2.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(item.Text, IIf(foundingDateIsValid, usrCntl.txtGruendungsdat.Text, ""))) - Case "founding_day" : listItem2.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(item.Text, IIf(foundingDateIsValid, usrCntl.txtGruendungsdat.Text.ToString.Substring(0, 2), ""))) - Case "founding_month" : listItem2.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(item.Text, IIf(foundingDateIsValid, usrCntl.txtGruendungsdat.Text.ToString.Substring(3, 2), ""))) - Case "founding_year" : listItem2.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(item.Text, IIf(foundingDateIsValid, usrCntl.txtGruendungsdat.Text.ToString.Substring(6, 4), ""))) + Case "founding_day" : listItem2.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(item.Text, IIf(foundingDateIsValid, founding_day, ""))) + Case "founding_month" : listItem2.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(item.Text, IIf(foundingDateIsValid, founding_month, ""))) + Case "founding_year" : listItem2.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(item.Text, IIf(foundingDateIsValid, founding_year, ""))) 'NL Case "private_no" : listItem2.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(item.Text, IIf(usrCntl.cbxPrivatfirma.Checked, "Off", "On"))) diff --git a/SDL/My Project/Resources.Designer.vb b/SDL/My Project/Resources.Designer.vb index 989b8958..f042405f 100644 --- a/SDL/My Project/Resources.Designer.vb +++ b/SDL/My Project/Resources.Designer.vb @@ -2331,6 +2331,26 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property ungueltig_de() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("ungueltig_de", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property ungueltig_en() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("ungueltig_en", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' diff --git a/SDL/My Project/Resources.resx b/SDL/My Project/Resources.resx index 86916e07..523b21d4 100644 --- a/SDL/My Project/Resources.resx +++ b/SDL/My Project/Resources.resx @@ -382,7 +382,7 @@ ..\Resources\passpic.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\Resources\house.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -925,4 +925,10 @@ ..\Resources\VERAG_360.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\ungueltig_de.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ungueltig_en.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/SDL/Resources/ungueltig_de.png b/SDL/Resources/ungueltig_de.png new file mode 100644 index 00000000..6488400e Binary files /dev/null and b/SDL/Resources/ungueltig_de.png differ diff --git a/SDL/Resources/ungueltig_en.png b/SDL/Resources/ungueltig_en.png new file mode 100644 index 00000000..7e246351 Binary files /dev/null and b/SDL/Resources/ungueltig_en.png differ diff --git a/SDL/SDL.vbproj b/SDL/SDL.vbproj index f5951ab4..09374203 100644 --- a/SDL/SDL.vbproj +++ b/SDL/SDL.vbproj @@ -3733,6 +3733,7 @@ rptVerpflichtungserklaerung.vb + Designer subRptLaufzettelZollDE_ATA.vb @@ -4950,6 +4951,12 @@ + + Always + + + Always + Always diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 7659443c..43bd9f03 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -1730,7 +1730,8 @@ Public Class frmMDM_USTVAntrag If dsID > 0 Then Me.Cursor = Cursors.WaitCursor Dim path As String - cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 3, path) + cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 4, path) + Return path End If diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 158bce3e..5331bdb5 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -740,7 +740,7 @@ Public Class frmMDMDatenverarbetiung AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart) as temp - where isnull(temp.charged,0) = 0 and cast([Rechnungsdatum] as Date) = '" & DateTimePicker2.Text & "' + where isnull(temp.charged,0) = 0 and cast([Rechnungsdatum] as Date) = '" & DateTimePicker2.Text & "' and temp.AdressenNr not in (756150, 711104) GROUP BY Kundennummer, KundenNr, [Name 1], LandKz, Ort", "FMZOLL") .LOAD() 'MsgBox(.GET_SQL()) @@ -756,44 +756,6 @@ Public Class frmMDMDatenverarbetiung .Columns("Name 1").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - '.Columns("VERAGLeistungsNr").ReadOnly = False - '.Columns("VERAGKdNr").ReadOnly = False - - 'For Each r As DataGridViewColumn In .Columns - ' If r.Name = "VERAGLeistungsNr" Or r.Name = "VERAGKdNr" Then - ' r.ReadOnly = False - ' Else - ' r.ReadOnly = True - ' End If - 'Next - - - 'Dim c As New DataGridViewTextBoxColumn - 'c.Name = "VERAGKdNr" - 'c.HeaderText = "VERAG KdNr" - 'c.Width = 100 - '.Columns.Insert(1, c) - - 'c = New DataGridViewTextBoxColumn - 'c.Name = "VERAGLeistungsNr" - 'c.HeaderText = "VERAG/PLOSE LeistungsNr." - 'c.Width = 100 - '.Columns.Insert(2, c) - - 'c = New DataGridViewTextBoxColumn - 'c.Name = "KundeOffertenNr" - 'c.HeaderText = "Kunde OffertenNr." - 'c.Width = 100 - '.Columns.Insert(3, c) - - 'c = New DataGridViewTextBoxColumn - 'c.Name = "KundeLeistungsNr" - 'c.HeaderText = "Kunde LeistungsNr." - 'c.Width = 100 - '.Columns.Insert(4, c) - - - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End If @@ -909,7 +871,7 @@ Public Class frmMDMDatenverarbetiung left join tbl_IDS_Kunden as Kunde on Kunde.CustomerCode = trans.CustomerCode And Kunde.KdNrAlt = 0 left join tbl_IDS_Kunden_ohne_Rabatt as KundeOhneR on KundeOhneR.CustomerCode = trans.CustomerCode left join tbl_IDS_Produkte as prod on prod.ProductTypeCode = trans.ProductTypeCode - where cast(trans.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0) = 0 AND trans.[UStVAn_ID] is null ", "FMZOLL") + where cast(trans.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0) = 0 AND trans.[UStVAn_ID] is null and temp.KdNrVERAG not in (756150, 711104) ", "FMZOLL") .LOAD() @@ -940,42 +902,6 @@ Public Class frmMDMDatenverarbetiung .Columns("EmissionNumber").Visible = False .Columns("ProductTypeCode").Visible = False - - 'For Each r As DataGridViewColumn In .Columns - ' If r.Name = "VERAGLeistungsNr" Or r.Name = "VERAGKdNr" Then - ' r.ReadOnly = False - ' Else - ' r.ReadOnly = True - ' End If - 'Next - - - 'Dim c As New DataGridViewTextBoxColumn - 'c.Name = "VERAGKdNr" - 'c.HeaderText = "VERAG KdNr" - 'c.Width = 100 - '.Columns.Insert(1, c) - - 'c = New DataGridViewTextBoxColumn - 'c.Name = "VERAGLeistungsNr" - 'c.HeaderText = "VERAG/PLOSE LeistungsNr." - 'c.Width = 100 - '.Columns.Insert(2, c) - - 'c = New DataGridViewTextBoxColumn - 'c.Name = "KundeOffertenNr" - 'c.HeaderText = "Kunde OffertenNr." - 'c.Width = 100 - '.Columns.Insert(3, c) - - 'c = New DataGridViewTextBoxColumn - 'c.Name = "KundeLeistungsNr" - 'c.HeaderText = "Kunde LeistungsNr." - 'c.Width = 100 - '.Columns.Insert(4, c) - - - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End If @@ -1199,7 +1125,7 @@ Public Class frmMDMDatenverarbetiung INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer) INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr) INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart - where isnull(charged,0) = 0 and cast([Rechnungsdatum] as date) = '" & DateTimePicker2.Text & "' " & IIf(test, " and KundenNr = 450018 ", "") & + where isnull(charged,0) = 0 and cast([Rechnungsdatum] as date) = '" & DateTimePicker2.Text & "' and Adressen.AdressenNr not in(756150, 711104) " & IIf(test, " and KundenNr = 450018 ", "") & " group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck" Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200) @@ -1325,7 +1251,7 @@ Public Class frmMDMDatenverarbetiung left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country left join adressen ON cust.[customer_id] = Adressen.MSEKundenNr - where bills.invoice_date = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0)= 0 and (trans.transaction_gross_amount <> 0 or trans.[msts_fee_amount] <> 0) " & sqlWhere & " + where bills.invoice_date = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0)= 0 and (trans.transaction_gross_amount <> 0 or trans.[msts_fee_amount] <> 0) and Adressen.AdressenNr not in (756150, 711104) " & sqlWhere & " order by cust.customer_id" Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200) @@ -1498,7 +1424,7 @@ Public Class frmMDMDatenverarbetiung LEFT JOIN tblIDSInvoicesNew on tblIDSInvoicesNew.CustomerCode = tblIDSTransactionsNew.CustomerCode and tblIDSInvoicesNew.Invoicenumber = Paymentsummarynumber - WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null and isnull(charged,0) = 0 " & sqlWhere & " + WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null and isnull(charged,0) = 0 and Adressen.AdressenNr not in (756150, 711104) " & sqlWhere & " order by tblIDSTransactionsNew.KdNrVERAG" Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200) @@ -4181,6 +4107,20 @@ Public Class frmMDMDatenverarbetiung MsgBox("Bei " & OBONumberOderVRNumberfehlern & " Transaktionen fehlt die OBONumber oder VRNumber!" & vbNewLine & "Diese Transaktionen (von Rechnung " & DateTimePicker2.Text & ") müssen aktualisiert werden. (bitte an Administrator wenden).") End If + + + Dim IDSRechnungungenVorhanden As Integer = 0 + + IDSRechnungungenVorhanden = CInt((New SQL).getValueTxtBySql("select count(*) from tblIDSInvoicesNew where cast(YearMonthDay as Date) = '" & DateTimePicker2.Text & "'", "FMZOLL")) + + If IDSRechnungungenVorhanden < 1 Then + pruefData_IDS = False + Dim hint As String = "" + MsgBox("Es sind keine Rechnungen in der Datenbank, vermutlich noch nicht (vollständig) geladen!" & vbNewLine & "Diese Rechnungen vom" & DateTimePicker2.Text & ") müssen nachgeladen werden (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, "")) + End If + + + Dim fehlendeRechnungen As Integer = 0 fehlendeRechnungen = CInt((New SQL).getValueTxtBySql("select count(*) from tblIDSInvoicesNew where DocumentName is null and cast(YearMonthDay as Date) = '" & DateTimePicker2.Text & "'", "FMZOLL")) diff --git a/SDL/mdm/usrcntlFremdrechnungen.vb b/SDL/mdm/usrcntlFremdrechnungen.vb index 9ef44b0b..1fa7a690 100644 --- a/SDL/mdm/usrcntlFremdrechnungen.vb +++ b/SDL/mdm/usrcntlFremdrechnungen.vb @@ -204,13 +204,13 @@ Public Class usrcntlFremdrechnungen 'IDS Case 100 : SQL_STR = "SELECT " & IIf(cbxMax200Eintrage.Checked, " top 200 ", "") & - " [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer,[daId],[TransactionVolume] as Transaktionsmenge,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt, cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM tblIDSInvoicesNew WHERE [CustomerCode] = (SELECT TOP 1 [CustomerCode] FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE [KdNrVERAG]=" & kdNr & " AND KdNrAlt =0 and [YearMonthDay] " & setSQLWhere(SDLNrTmp, "") & " ORDER BY Zeitstempel DESC) order by [YearMonthDay] desc, [Invoicenumber]" + " [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer,[daId],[TransactionVolume] as Transaktionsmenge,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt, cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM tblIDSInvoicesNew WHERE [CustomerCode] = (SELECT TOP 1 [CustomerCode] FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE [KdNrVERAG]=" & kdNr & " ORDER BY Zeitstempel DESC) and [YearMonthDay] " & setSQLWhere(SDLNrTmp, "") & " order by [YearMonthDay] desc, [Invoicenumber]" 'UTA Case 212 : SQL_STR = "SELECT " & IIf(cbxMax200Eintrage.Checked, " top 200 ", "") & - " [Rechnungsdatum],[Rechnungsnummer_pro_Lieferland] as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[daId],[Lieferland_ISO2] as Land, 'RE' as Art, cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where AdressenNr = " & kdNr & " [Rechnungsdatum] " & setSQLWhere(SDLNrTmp, "Land") & " group by [Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId],[Lieferland_ISO2]" + " [Rechnungsdatum],[Rechnungsnummer_pro_Lieferland] as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[daId],[Lieferland_ISO2] as Land, 'RE' as Art, cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where AdressenNr = " & kdNr & " AND [Rechnungsdatum] " & setSQLWhere(SDLNrTmp, "Land") & " group by [Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId],[Lieferland_ISO2]" - SQL_STR &= " UNION ALL SELECT " & IIf(cbxMax200Eintrage.Checked, " top 200 ", "") & " [Datum], [RechnungsNr],[KundenNr],0,0,0,[daId],'',[DocumentTyp], cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM [VERAG].[dbo].[tblUTADocuments]inner join adressen on KundenNr = UTAKundenNr where AdressenNr = " & kdNr & " and [Rechnungsdatum] " & setSQLWhere(SDLNrTmp, "") & " order by Rechnungsdatum desc" + SQL_STR &= " UNION ALL SELECT " & IIf(cbxMax200Eintrage.Checked, " top 200 ", "") & " [Datum], [RechnungsNr],[KundenNr],0,0,0,[daId],'',[DocumentTyp], cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM [VERAG].[dbo].[tblUTADocuments]inner join adressen on KundenNr = UTAKundenNr where AdressenNr = " & kdNr & " and [Datum] " & setSQLWhere(SDLNrTmp, "") & " order by Rechnungsdatum desc" 'PLOSE Case 214 : SQL_STR = "SELECT " & IIf(cbxMax200Eintrage.Checked, " top 200 ", "") & @@ -230,7 +230,7 @@ Public Class usrcntlFremdrechnungen Case -1 : SQL_STR = "SELECT " & IIf(cbxMax200Eintrage.Checked, " top 200 ", "") & " --IDS - 'IDS' as Lieferant, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer,CustomerCode as Kundennummer,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt,'' as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM tblIDSInvoicesNew WHERE [CustomerCode] = (SELECT TOP 1 [CustomerCode] FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE [KdNrVERAG]=" & kdNr & " AND KdNrAlt =0 and [YearMonthDay] " & setSQLWhere(SDLNrTmp, "") & " ORDER BY Zeitstempel DESC) --order by [YearMonthDay], [Invoicenumber] + 'IDS' as Lieferant, [YearMonthDay] as Rechnungsdatum,[Invoicenumber] as Rechnungsnummer,CustomerCode as Kundennummer,[AmminclVAT] as Bruttobetrag,[TotalNetAmount] as Nettobetrag,[VATAmount] as MWSt,'' as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM tblIDSInvoicesNew WHERE [CustomerCode] = (SELECT TOP 1 [CustomerCode] FROM [VERAG].[dbo].[tbl_IDS_Kunden] WHERE [KdNrVERAG]=" & kdNr & " ORDER BY Zeitstempel DESC) and [YearMonthDay] " & setSQLWhere(SDLNrTmp, "") & " --order by [YearMonthDay], [Invoicenumber] UNION ALL @@ -241,7 +241,7 @@ Public Class usrcntlFremdrechnungen UNION ALL --UTA - SELECT 'UTA' as Lieferant, [Rechnungsdatum],STR([Rechnungsnummer_pro_Lieferland]) as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[Lieferland_ISO2] as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where AdressenNr = " & kdNr & " and [Rechnungsdatum] " & setSQLWhere(SDLNrTmp, "Lieferland_ISO2") & " group by [Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId],[Lieferland_ISO2] UNION ALL SELECT 'UTA', [Datum], cast([RechnungsNr] as nvarchar) ,[KundenNr],0,0,0,'',[DocumentTyp],[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM [VERAG].[dbo].[tblUTADocuments]inner join adressen on KundenNr = UTAKundenNr where AdressenNr = " & kdNr & " AND Datum " & setSQLWhere(SDLNrTmp, "") & " + SELECT 'UTA' as Lieferant, [Rechnungsdatum],STR([Rechnungsnummer_pro_Lieferland]) as Rechnungsnummer,Kundennummer,SUM(Gesamtbetrag_Brutto_in_Darstellwährung) as Bruttobetrag,SUM(Gesamtbetrag_Netto_in_Darstellwährung) as Nettobetrag, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[Lieferland_ISO2] as Land, 'RE' as Art,[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM [VERAG].[dbo].[tblUTAImportNew] inner join adressen on Kundennummer = UTAKundenNr where AdressenNr = " & kdNr & " and [Rechnungsdatum] " & setSQLWhere(SDLNrTmp, "Lieferland_ISO2") & " group by [Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId],[Lieferland_ISO2] UNION ALL SELECT 'UTA', [Datum], cast([RechnungsNr] as nvarchar) ,[KundenNr],0,0,0,'',[DocumentTyp],[daId], cast(case when [daId] is not null then 1 else 0 end as bit) as PDF FROM [VERAG].[dbo].[tblUTADocuments] inner join adressen on KundenNr = UTAKundenNr where AdressenNr = " & kdNr & " AND Datum " & setSQLWhere(SDLNrTmp, "") & " UNION ALL --VERAG diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index e38179ba..76460df9 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -229,7 +229,7 @@ Public Class usrcntlFakturierung '410 Set qdf = dbs.CreateQueryDef("") - ok = SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='" & Sachbearbeiter & "' where Sammelrechnung=6 and Firma_ID=19 and [Status] = 0 and UPPER([Sachbearbeiter])<>'" & Sachbearbeiter & "' and Abfertigungsdatum = '" & dtRechnungsdatum.Value & "'", "FMZOLL") + ok = SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='" & Sachbearbeiter & "' where Sammelrechnung=6 and Firma_ID=19 and (UPPER([Sachbearbeiter])<>'" & Sachbearbeiter & "' or [Sachbearbeiter]<>'" & Sachbearbeiter & "') and Abfertigungsdatum = '" & dtRechnungsdatum.Value & "'", "FMZOLL") showPic(ok, PictureBox1) 'If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Exit Sub @@ -967,10 +967,12 @@ Public Class usrcntlFakturierung - Dim SQLStringGruppierteSammelrechnung = "SELECT [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz - FROM Rechnungsausgang INNER JOIN Adressen on AdressenNr = RechnungsKundenNr + Dim SQLStringGruppierteSammelrechnung = "SELECT [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz, isnull(kde_keineMWSt,0) as keinMWSTKunde, SUM(Rechnungsausgang.SteuerpflichtigerGesamtbetrag) as Steuer + FROM Rechnungsausgang + INNER JOIN Adressen on AdressenNr = RechnungsKundenNr + LEFT JOIN tblKundenErweitert on kde_KundenNr = RechnungsKundenNr WHERE [Status] = 2 AND [Sammelrechnung] = 6 AND UPPER(Rechnungsausgang.Sachbearbeiter) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null " & IIf(kdnr > 0, " AND RechnungsKundenNr = " & kdnr, "") & " - group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz + group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], RechnungsKundenNr, Adressen.LandKz, isnull(kde_keineMWSt,0) ORDER BY [Firma_ID], [Status], RechnungsNr" Dim dtSelectedSammelrechnungen As DataTable = (New SQL).loadDgvBySql(SQLStringGruppierteSammelrechnung, "FMZOLL") @@ -980,7 +982,7 @@ Public Class usrcntlFakturierung If cbxVorschau.Checked Then Dim nurNICHTEUKunden As Boolean = False If rbAlleKunden.Checked Then - nurNICHTEUKunden = MsgBox("Sollen nur die Rechnungen der NICHT-EU Kunden gedruckt werden?", vbYesNo) + nurNICHTEUKunden = MsgBox("Sollen nur die Rechnungen der NICHT-EU Kunden gedruckt werden?" & vbNewLine & "Ja -> nur NICHT-EU KUNDEN" & vbNewLine & "Nein -> alle KUNDEN", vbYesNo) End If Dim dTLANDEU As DataTable = (New SQL).loadDgvBySql("select LandKz, MitgliedslandEU from Währungstabelle where LandKz is not null", "FMZOLL") @@ -993,20 +995,40 @@ Public Class usrcntlFakturierung For Each rowRE In dtSelectedSammelrechnungen.Rows Dim path = "" + Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = rowRE("LandKZ")).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault() + 'für nicht MWST-Kunde Originalrechnung (ohne Kopie) ausdrucken (die müssen die Originalrechnung per Post bekommen)! If nurNICHTEUKunden Then - Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = rowRE("LandKZ")).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault() - If Not isEU Then cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked) - If path <> "" Then listPDFs.Add(path) + If Not isEU Then + + If rowRE("keinMWSTKunde") Then + 'kein MWST Kunde -> OROGINAL-RE + cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked, False) + Else + 'MWST Kunde -> wenn ohne MWST-BEtrag ->Original sonst Kopie! + cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked, rowRE("Steuer") <> 0) + + End If + + End If + Else - cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , , ,, cbxMautanh.Checked) - If path <> "" Then listPDFs.Add(path) + If rowRE("keinMWSTKunde") Then + 'kein MWST Kunde -> OROGINAL-RE + cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked, False) + Else + 'MWST Kunde -> wenn ohne MWST-BEtrag ->Original sonst Kopie! + cFakturierung.doSAMMELRechnungsDruck_Abschnitt(rowRE("RechnungsNr"), rowRE("Firma_ID"), rowRE("Buchungsjahr"), rowRE("DruckDatumZeit"), "", True, True, 7, path,, , , , , , ,,, cbxMautanh.Checked, rowRE("Steuer") <> 0) + End If End If + If path <> "" Then listPDFs.Add(path) + + If True Then 'cnt Mod 10 = 0 Then txtPloseAnh_Einarbeitung.Text = cnt & " / " & dtSelectedSammelrechnungen.Rows.Count Dim proz As Double = (cnt / dtSelectedSammelrechnungen.Rows.Count) * 100 @@ -1066,8 +1088,14 @@ Public Class usrcntlFakturierung Else - showPic(false, PictureBox8) - MsgBox("Keine Sammelrechnung zum " & rechnungsdatum.ToShortDateString & " von " & Sachbearbeiter & " vorhanden!") + showPic(False, PictureBox8) + + If kdnr > 0 Then + MsgBox("Keine Sammelrechnung zum " & rechnungsdatum.ToShortDateString & " von " & Sachbearbeiter & " für Kundennummer " & kdnr & " vorhanden!") + Else + MsgBox("Keine Sammelrechnung zum " & rechnungsdatum.ToShortDateString & " von " & Sachbearbeiter & " vorhanden!") + End If + End If End Sub