diff --git a/SDL/Classes/cRKSV.vb b/SDL/Classes/cRKSV.vb index 9042c38f..72d7f39a 100644 --- a/SDL/Classes/cRKSV.vb +++ b/SDL/Classes/cRKSV.vb @@ -2446,11 +2446,13 @@ Public Class cRKSV End If '################ - ' DIREKTVERBUCHUNG SYSKA + ' DIREKTVERBUCHUNG SYSKA -> ev. Fehleranfällig, weil hier direkt in eine Fremddatenbank geschrieben wird ohne Plausibilitätsprüfen bzw. Kenntnisse der internen Prüfungsstrukturen!!!!! '################ If BelegSofortInFIBUverbuchten AndAlso (BELEG.Beleg_TYP = "L" Or BELEG.Beleg_TYP = "K") Then CreateSyskaBuchung(RKSV_id, BELEG, KBEntry_List, KBEntryGB_List, KBEntryST_List, IIf(BELEG.Beleg_TYP = "L", "AUSZAHLUNG", "EINZAHLUNG"), BelegNrFIBU) + Else + End If BELEG.gebucht = True @@ -2792,10 +2794,8 @@ Public Class cRKSV createOPVorgang_new(mandant, typ, CDbl(betrag), jahr, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, buchungstext, beleg.KundenNr, CDbl(opvorgangsbetrag), i_beleg_refid, Now.ToString(), kassenkonto, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, 5) End If - ' 11) single check if gebucht Dim gebucht = checkifgebucht_new(mandant, SafeString(BelegNrUID), buchungstext) If gebucht Then - ' logging instead of MsgBox in production MsgBox("FIBU - GEBUCHT!") Else MsgBox("FIBU - NICHT GEBUCHT!") diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index e5f9a3e1..581cf348 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -155,18 +155,17 @@ Public Class cAutomailversand End Try End Sub + + Sub sendMailEinzelrechnung(Rechnungsdatum As Date, RechungArt As Integer, FirmaID As Integer, Optional KundenNr As Integer = -1, Optional mailoeffnen As Boolean = False) + + + 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 - 'NICHT MEHR BENÖTIGT! - - 'If row.Item("Steuer") = 0 Then - ' Mailtext &= vbNewLine & vbNewLine - ' 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) diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 1026e934..4c6a779d 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -1965,12 +1965,12 @@ Public Class cFakturierung Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False) - If printStbVdb AndAlso Rechnung.Firma_ID <> 1 Then + If printStbVdb AndAlso Not (Rechnung.Firma_ID = 1) Then If (Rechnung.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Zollbeleg drucken?", vbYesNoCancel)) Then printSpedBuchAnhaenge(Rechnung, True, True) End If End If - If Rechnung.ANHAENGE.Count > 0 AndAlso Rechnung.Firma_ID <> 1 Then + If Rechnung.ANHAENGE.Count > 0 AndAlso Not (Rechnung.Firma_ID = 1 Or Rechnung.Firma_ID = 20) Then If (Rechnung.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then printRGAnhaenge(Rechnung) End If diff --git a/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVerzollungsunterlagen.vb b/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVerzollungsunterlagen.vb index d4c7005c..e9819135 100644 --- a/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVerzollungsunterlagen.vb +++ b/SDL/Formulare/KDFormulare/FormulareBaukasten/usrcntlVerzollungsunterlagen.vb @@ -153,7 +153,9 @@ Public Class usrcntlVerzollungsunterlagen txtBearbeiter.Text = If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, "") If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER IsNot Nothing Then - txtTel.Text = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_durchwahl, "+43 77 11 / 27 77 DW 55") + Dim telString = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_telefonnr, "") + telString &= "DW " & If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_durchwahl, "") + txtTel.Text = If(telString, "+43 77 11 / 27 77 DW 55") txtEmail.Text = If(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email, "verrechnung@verag.ag") diff --git a/SDL/kunden/usrCntlKundenuebersicht.vb b/SDL/kunden/usrCntlKundenuebersicht.vb index b26acf91..1659f777 100644 --- a/SDL/kunden/usrCntlKundenuebersicht.vb +++ b/SDL/kunden/usrCntlKundenuebersicht.vb @@ -1,9 +1,7 @@ Imports System.Data.SqlClient Imports System.Globalization Imports System.IO -Imports org.BouncyCastle.Asn1.Ocsp Imports SDL.EORI -Imports sun.util.resources.cldr.aa Imports VERAG_PROG_ALLGEMEIN Public Class usrCntlKundenuebersicht @@ -554,7 +552,7 @@ Public Class usrCntlKundenuebersicht Case 2 : txtNeutralisierung.Text = "nur in Sonderfällen" : txtNeutralisierung.BackColor = Color.Yellow 'lblNeutralisierung.Font = f_bold End Select - Dim ungeb As Double = getBetragUngebuchteBelege(kdNr, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID) + Dim ungeb As Double = getBetragUngebuchteBelege(kdNr) txtUngebuchteRechungen.Text = ungeb.ToString("C2") If KUNDE.Vorkasse Then @@ -1519,12 +1517,21 @@ Public Class usrCntlKundenuebersicht End Function - Function getBetragUngebuchteBelege(KundenNrZentrale As Integer, FirmaID As Integer) + Function getBetragUngebuchteBelege(KundenNrZentrale As Integer) - Select Case FirmaID + Dim FirmaID_temp As String = "" + + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + Case "VERAG" : FirmaID_temp = "'1', '11'" 'CS + Case "UNISPED" : FirmaID_temp = "'21', '22', '23'" 'CS + Case Else + FirmaID_temp = "'" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID & "'" + End Select + + Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID Case 26 : Return 0 'keine FIBU Case Else - Return SQL.getValueTxtBySql("select isnull(sum(SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag), 0) as Betrag from Rechnungsausgang where Trdin = 0 and Firma_ID = " & FirmaID & " and RechnungsNr is not null and KundenNrZentrale = '" & KundenNrZentrale & "'", "FMZOLL") + Return SQL.getValueTxtBySql("select isnull(sum(SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag), 0) as Betrag from Rechnungsausgang where Trdin = 0 and Firma_ID in (" & FirmaID_temp & ") and RechnungsNr is not null and KundenNrZentrale = '" & KundenNrZentrale & "'", "FMZOLL") End Select diff --git a/SDL/mdm/IDS/rptIDS_Anhang.Designer.vb b/SDL/mdm/IDS/rptIDS_Anhang.Designer.vb index b33c8aca..03a5a119 100644 --- a/SDL/mdm/IDS/rptIDS_Anhang.Designer.vb +++ b/SDL/mdm/IDS/rptIDS_Anhang.Designer.vb @@ -55,6 +55,7 @@ Partial Public Class rptIDS_Anhang Me.Label2 = New GrapeCity.ActiveReports.SectionReportModel.Label() Me.Label3 = New GrapeCity.ActiveReports.SectionReportModel.Label() Me.Label4 = New GrapeCity.ActiveReports.SectionReportModel.Label() + Me.lblIDSKdNr = New GrapeCity.ActiveReports.SectionReportModel.Label() Me.ReportFooter1 = New GrapeCity.ActiveReports.SectionReportModel.ReportFooter() Me.txtBruttoGesSum = New GrapeCity.ActiveReports.SectionReportModel.Label() Me.txtNettoGesSum = New GrapeCity.ActiveReports.SectionReportModel.Label() @@ -84,7 +85,6 @@ Partial Public Class rptIDS_Anhang Me.txtMWSTKzSum = New GrapeCity.ActiveReports.SectionReportModel.Label() Me.Line4 = New GrapeCity.ActiveReports.SectionReportModel.Line() Me.lblSummeKennzeichen = New GrapeCity.ActiveReports.SectionReportModel.Label() - Me.lblIDSKdNr = New GrapeCity.ActiveReports.SectionReportModel.Label() CType(Me.lblKategorie, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtBetrag, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtLiter, System.ComponentModel.ISupportInitialize).BeginInit() @@ -117,6 +117,7 @@ Partial Public Class rptIDS_Anhang CType(Me.Label2, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.Label3, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.Label4, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lblIDSKdNr, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtBruttoGesSum, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtNettoGesSum, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.lblGessumme, System.ComponentModel.ISupportInitialize).BeginInit() @@ -134,7 +135,6 @@ Partial Public Class rptIDS_Anhang CType(Me.txtNettoKzSum, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtMWSTKzSum, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.lblSummeKennzeichen, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.lblIDSKdNr, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me, System.ComponentModel.ISupportInitialize).BeginInit() ' 'PageHeader @@ -206,7 +206,7 @@ Partial Public Class rptIDS_Anhang Me.txtProduktBeschreibung.DataField = "" Me.txtProduktBeschreibung.Height = 0.1212599! Me.txtProduktBeschreibung.HyperLink = Nothing - Me.txtProduktBeschreibung.Left = 0.01023622! + Me.txtProduktBeschreibung.Left = 0! Me.txtProduktBeschreibung.Name = "txtProduktBeschreibung" Me.txtProduktBeschreibung.Style = "color: Black; font-size: 6pt; font-weight: normal; text-align: left; ddo-char-set" & ": 1" @@ -219,7 +219,7 @@ Partial Public Class rptIDS_Anhang Me.lblRabatt.DataField = "" Me.lblRabatt.Height = 0.1212599! Me.lblRabatt.HyperLink = Nothing - Me.lblRabatt.Left = 0.01417323! + Me.lblRabatt.Left = 0! Me.lblRabatt.Name = "lblRabatt" Me.lblRabatt.Style = "color: Black; font-size: 6pt; font-weight: normal; text-align: left; ddo-char-set" & ": 1" @@ -258,7 +258,7 @@ Partial Public Class rptIDS_Anhang Me.lblMWST.DataField = "" Me.lblMWST.Height = 0.1212599! Me.lblMWST.HyperLink = Nothing - Me.lblMWST.Left = 0.01417323! + Me.lblMWST.Left = 0! Me.lblMWST.Name = "lblMWST" Me.lblMWST.Style = "color: Black; font-size: 6pt; font-weight: normal; text-align: left; ddo-char-set" & ": 1" @@ -328,7 +328,7 @@ Partial Public Class rptIDS_Anhang Me.txtGesamtbetrag.Style = "color: Black; font-size: 6pt; font-weight: normal; text-align: right; ddo-char-se" & "t: 1" Me.txtGesamtbetrag.Text = "Betrag" - Me.txtGesamtbetrag.Top = 0.6472442! + Me.txtGesamtbetrag.Top = 0.6822835! Me.txtGesamtbetrag.Width = 0.9169284! ' 'PageFooter @@ -394,7 +394,7 @@ Partial Public Class rptIDS_Anhang ' Me.Label16.Height = 0.1574803! Me.Label16.HyperLink = Nothing - Me.Label16.Left = 4.304331! + Me.Label16.Left = 4.09567! Me.Label16.Name = "Label16" Me.Label16.Style = "font-size: 8pt; font-weight: normal; text-align: left; vertical-align: middle; dd" & "o-char-set: 1" @@ -549,7 +549,7 @@ Partial Public Class rptIDS_Anhang ' Me.Label2.Height = 0.1574803! Me.Label2.HyperLink = Nothing - Me.Label2.Left = 4.304331! + Me.Label2.Left = 4.09567! Me.Label2.Name = "Label2" Me.Label2.Style = "font-size: 8pt; font-weight: normal; text-align: left; vertical-align: middle; dd" & "o-char-set: 1" @@ -581,6 +581,19 @@ Partial Public Class rptIDS_Anhang Me.Label4.Top = 0.8291339! Me.Label4.Width = 0.7960634! ' + 'lblIDSKdNr + ' + Me.lblIDSKdNr.DataField = "" + Me.lblIDSKdNr.Height = 0.1574803! + Me.lblIDSKdNr.HyperLink = Nothing + Me.lblIDSKdNr.Left = 5.115748! + Me.lblIDSKdNr.Name = "lblIDSKdNr" + Me.lblIDSKdNr.Style = "color: Black; font-size: 8pt; font-weight: bold; text-align: right; vertical-alig" & + "n: middle; ddo-char-set: 1" + Me.lblIDSKdNr.Text = "0" + Me.lblIDSKdNr.Top = 0.8291339! + Me.lblIDSKdNr.Width = 0.7531495! + ' 'ReportFooter1 ' Me.ReportFooter1.Controls.AddRange(New GrapeCity.ActiveReports.SectionReportModel.ARControl() {Me.txtBruttoGesSum, Me.txtNettoGesSum, Me.lblGessumme, Me.Line7, Me.Line8}) @@ -889,21 +902,9 @@ Partial Public Class rptIDS_Anhang Me.lblSummeKennzeichen.Top = 0.01968504! Me.lblSummeKennzeichen.Width = 1.484645! ' - 'lblIDSKdNr - ' - Me.lblIDSKdNr.DataField = "" - Me.lblIDSKdNr.Height = 0.1574803! - Me.lblIDSKdNr.HyperLink = Nothing - Me.lblIDSKdNr.Left = 5.32441! - Me.lblIDSKdNr.Name = "lblIDSKdNr" - Me.lblIDSKdNr.Style = "color: Black; font-size: 8pt; font-weight: bold; text-align: right; vertical-alig" & - "n: middle; ddo-char-set: 1" - Me.lblIDSKdNr.Text = "0" - Me.lblIDSKdNr.Top = 0.8291339! - Me.lblIDSKdNr.Width = 0.6590552! - ' 'rptIDS_Anhang ' + Me.MasterReport = False Me.PageSettings.Margins.Bottom = 0.3937008! Me.PageSettings.Margins.Left = 0.3937008! Me.PageSettings.Margins.Right = 0.3937008! @@ -960,6 +961,7 @@ Partial Public Class rptIDS_Anhang CType(Me.Label2, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.Label3, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.Label4, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lblIDSKdNr, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtBruttoGesSum, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtNettoGesSum, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.lblGessumme, System.ComponentModel.ISupportInitialize).EndInit() @@ -977,7 +979,6 @@ Partial Public Class rptIDS_Anhang CType(Me.txtNettoKzSum, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtMWSTKzSum, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.lblSummeKennzeichen, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.lblIDSKdNr, System.ComponentModel.ISupportInitialize).EndInit() CType(Me, System.ComponentModel.ISupportInitialize).EndInit() End Sub diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index d5c2fd04..329eeb3c 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -3142,7 +3142,18 @@ Public Class frmMDMDatenverarbetiung rpt.txtRabattBetrag.Text = curRabattbetrag rpt.lblMWST.Text = "zuzüglich MWST " - rpt.lblMWST.Text &= IIf(SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuersatz").Value, 2, "") <> "", SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuersatz").Value, 2, "") * 100 & " %", "") + + 'SPANIEM : für alle Produkte gilt eine Reduzierung der MwSt. auf 10 %, mit Ausnahme von AdBlue (bleibt bei 21 % MwSt.) -> Regelung der MWST-Anzeige erfolgt über IDS-Länder, allerdings wird auf Datenbasis hier kein Unterschied zw. ProductCode gemacht, daher hardcodiert -> weil es nur um Anzeige geht! + If SQL.isDbnullEmpty(rpt.Fields.Item("OutletCountry").Value, "") = "Spain" And SQL.isDbnullEmpty(rpt.Fields.Item("ProductDescription").Value, "") <> "Ad Blue" Then + + rpt.lblMWST.Text &= "10 %" + + Else + + rpt.lblMWST.Text &= IIf(SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuersatz").Value, 2, "") <> "", SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuersatz").Value, 2, "") * 100 & " %", "") + + End If + rpt.txtMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuerbetrag").Value, 2, "") diff --git a/SDL/mdm/usrcntlFremdrechnungen.vb b/SDL/mdm/usrcntlFremdrechnungen.vb index ea5dae9c..550e3456 100644 --- a/SDL/mdm/usrcntlFremdrechnungen.vb +++ b/SDL/mdm/usrcntlFremdrechnungen.vb @@ -1,6 +1,8 @@ Imports System.IO Imports System.Reflection Imports com.sun.tools.corba.se.idl +Imports com.sun.xml.internal.rngom +Imports DocumentFormat.OpenXml.Drawing.Diagrams Imports DocumentFormat.OpenXml.VariantTypes Imports MDM_Worker Imports Microsoft.Office.Interop @@ -150,7 +152,6 @@ Public Class usrcntlFremdrechnungen .AllowUserToResizeRows = False .SelectionMode = DataGridViewSelectionMode.FullRowSelect .ReadOnly = True - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End With @@ -283,7 +284,7 @@ Public Class usrcntlFremdrechnungen " Adressen.AdressenNr, Adressen.[Name 1], tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer , tblTrdinInvoice.RechnungsbetragLokal as Bruttobetrag, 1 as daId, cast(1 as bit) as PDFvorhanden FROM tblTrdinInvoice inner join Adressen on KundenNrZentrale = AdressenNr WHERE 1 = 1 " & sqlfehlendePDF_VERAG & IIf(kdNr > 0, " AND tblTrdinInvoice.RechnungsKundenNr=" & kdNr, "") & " AND tblTrdinInvoice.FilialenNr = 4814 and tblTrdinInvoice.Rechnungsdatum " & setSQLWhere(SDLNrTmp, "'AT'") & " ORDER BY tblTrdinInvoice.Rechnungsdatum desc, tblTrdinInvoice.Rechnungsnummer" 'RMC Case "RMC" : SQL_STR = "SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahlTop, "") & - "Adressen.AdressenNr, Adressen.[Name 1],[rmc_reDatum] as Rechnungsdatum,[rmc_reNr] as Rechnungsnummer,rmc_kdNr as Kundennummer,[rmc_betragNetto] as Nettobetrag,[rmc_betragBrutto] as Bruttobetrag,[rmc_waehrung] as Währung ,[rmc_euroBrutto] as Bruttobetrag,[rmc_daId] as daId,[rmc_betragMWST] as MWST,rmc_landKZ as Land, cast(case when [rmc_daId] is not null then 1 else 0 end as bit) as PDFvorhanden, rmc_archiv as archiv, cast(isnull(InvToCustomer, 0) as bit) as OrigRE, cast(isnull(rmc_daId_InvAtt,0) as bit) as RE_Anhang FROM [VERAG].[dbo].[tblRMCImport] inner join Adressen on Adressen.WölflKundenNr = rmc_kdNr where 1 = 1 " & sqlfehlendePDF_RMC & IIf(kdNr > 0, " AND AdressenNr=" & kdNr, "") & " and [rmc_reDatum] " & setSQLWhere(SDLNrTmp, "rmc_landKZ") & whereKundennrKreisLieferanten & " order by rmc_reDatum desc, rmc_reNr" + "Adressen.AdressenNr, Adressen.[Name 1],[rmc_reDatum] as Rechnungsdatum,[rmc_reNr] as Rechnungsnummer,rmc_kdNr as Kundennummer,[rmc_betragNetto] as Nettobetrag,[rmc_betragBrutto] as Bruttobetrag,[rmc_waehrung] as Währung ,[rmc_euroBrutto] as Bruttobetrag,[rmc_daId] as daId,[rmc_betragMWST] as MWST,rmc_landKZ as Land, cast(case when [rmc_daId] is not null then 1 else 0 end as bit) as PDFvorhanden, rmc_archiv as archiv, cast(isnull(InvToCustomer, 0) as bit) as OrigRE, cast(isnull(rmc_daId_InvAtt,0) as bit) as RE_Anhang, isnull(rmc_daId_InvAtt,0) as RE_Anhang_daid FROM [VERAG].[dbo].[tblRMCImport] inner join Adressen on Adressen.WölflKundenNr = rmc_kdNr where 1 = 1 " & sqlfehlendePDF_RMC & IIf(kdNr > 0, " AND AdressenNr=" & kdNr, "") & " and [rmc_reDatum] " & setSQLWhere(SDLNrTmp, "rmc_landKZ") & whereKundennrKreisLieferanten & " order by rmc_reDatum desc, rmc_reNr" Case "ALLE" : Dim anzahl As Integer = anzahlTop / 6 : SQL_STR = " select * from (SELECT " & IIf(cbxMax1000Eintrage.Checked, " top " & anzahl, "") & " @@ -326,49 +327,9 @@ Public Class usrcntlFremdrechnungen End Select - newBinding(SDLNrTmp, SQL_STR) + newBinding_DT(SDLNrTmp, SQL_STR) initBtnClick(getSDLNrButton(SDLNrTmp)) - Dim sumBtto As Double = 0 - - With dgvLFRechnung - - - Dim c As New DataGridViewImageColumn - c.Name = "PDF" : c.HeaderText = "PDF" - c.DefaultCellStyle.NullValue = Nothing - c.ImageLayout = DataGridViewImageCellLayout.Zoom - c.Width = 40 - c.DefaultCellStyle.Padding = New Padding(2) - c.DefaultCellStyle.BackColor = Color.White - c.Image = My.Resources.pdf_gray - - - If Not .Columns.Contains("PDF") Then .Columns.Add(c) - - - If .Columns.Count > 0 Then - - If .Columns.Contains("daId") Then - If .Columns("daId") IsNot Nothing Then .Columns("daId").Visible = False - - End If - - If .Columns.Contains("invoice_id") Then - .Columns("invoice_id").Visible = False - - End If - End If - - - For Each r As DataGridViewRow In .Rows - sumBtto += If(IsNumeric(r.Cells("Bruttobetrag").Value), CDbl(r.Cells("Bruttobetrag").Value), 0) - Next - - lblSumBto.Text = CDbl(sumBtto).ToString("C2") - - - End With initAllg() @@ -377,10 +338,7 @@ Public Class usrcntlFremdrechnungen dgvLFRechnung.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells 'dgvLFRechnung.Rows(0).Frozen = True - initDGVWidth() 'vor Filter, damit richtige Größe - - setPDFImages() End Sub Private Function setSQLWhere(aktLieferant As String, land As String) As String @@ -896,40 +854,186 @@ Public Class usrcntlFremdrechnungen + 'Sub newBinding(aktLieferant As String, ByVal sql As String) + ' dgvInitWait = True + ' ' bindingSDL = Nothing + ' dgvLFRechnung.Columns.Clear() + ' dgvLFRechnung.VirtualMode = True + ' txtchanged = True + ' dgvInitWait = True - Sub newBinding(aktLieferant As String, ByVal sql As String) + ' dgvLFRechnung.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + + ' dgvLFRechnung.SET_SQL(sql, "FMZOLL") + ' dgvLFRechnung.LOAD() + + ' lblEinträge.Text = dgvLFRechnung.RowCount & " Einträge" + ' If dgvLFRechnung.RowCount >= 200 Then lblEinträge.Text = dgvLFRechnung.RowCount & " Einträge " & IIf(cbxMax1000Eintrage.Checked, "(Anzeige auf 1000 beschränkt)", "") + + ' dgvInitWait = False + + ' txtchanged = False + ' dgvInitWait = False + ' dgvLFRechnung.ClearSelection() + + ' If dgvLFRechnung.RowCount > 0 Then + ' dgvLFRechnung.Rows(0).Cells(0).Selected = True + ' Else + ' End If + + 'End Sub + + Sub newBinding_DT(aktLieferant As String, ByVal sql As String) + dgvInitWait = True - ' bindingSDL = Nothing - dgvLFRechnung.Columns.Clear() - dgvLFRechnung.VirtualMode = True txtchanged = True - dgvInitWait = True + + Dim dt As New DataTable + + dt = (New SQL).loadDgvBySql(sql, "FMZOLL") + dt.Columns.Add("PDF_Image", GetType(Image)) + + If aktLieferant = "RMC" Then + dt.Columns.Add("Anhang_Image", GetType(Image)) + End If + + Dim imgGray = My.Resources.pdf_gray + Dim imgRed = My.Resources.pdf + + For Each row As DataRow In dt.Rows + + If Convert.ToBoolean(row("pdfVorhanden")) Then + row("PDF_Image") = imgRed + Else + row("PDF_Image") = imgGray + End If + + If aktLieferant = "RMC" Then + If Convert.ToBoolean(row("RE_Anhang")) Then + row("Anhang_Image") = imgRed + Else + row("Anhang_Image") = imgGray + End If + End If + + Next - dgvLFRechnung.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + dgvLFRechnung.SuspendLayout() + dgvLFRechnung.Columns.Clear() + dgvLFRechnung.AutoGenerateColumns = False - dgvLFRechnung.SET_SQL(sql, "FMZOLL") - dgvLFRechnung.LOAD() - lblEinträge.Text = dgvLFRechnung.RowCount & " Einträge" - If dgvLFRechnung.RowCount >= 200 Then lblEinträge.Text = dgvLFRechnung.RowCount & " Einträge " & IIf(cbxMax1000Eintrage.Checked, "(Anzeige auf 1000 beschränkt)", "") + For Each col As DataColumn In dt.Columns + + If col.ColumnName = "PDF_Image" OrElse col.ColumnName = "Anhang_Image" Then + Continue For + End If + + If col.DataType Is GetType(Boolean) Then + + dgvLFRechnung.Columns.Add(New DataGridViewCheckBoxColumn With { + .DataPropertyName = col.ColumnName, + .HeaderText = col.ColumnName, + .Name = col.ColumnName + }) + + Else + + dgvLFRechnung.Columns.Add(New DataGridViewTextBoxColumn With { + .DataPropertyName = col.ColumnName, + .HeaderText = col.ColumnName, + .Name = col.ColumnName + }) + + End If + + Next + + ' --- PDF Spalte --- + Dim c As New DataGridViewImageColumn With { + .Name = "PDF", + .HeaderText = "PDF", + .DataPropertyName = "PDF_Image", + .ImageLayout = DataGridViewImageCellLayout.Zoom, + .Width = 40 + } + dgvLFRechnung.Columns.Add(c) + + ' --- Anhang Spalte --- + If aktLieferant = "RMC" Then + Dim cAnhang As New DataGridViewImageColumn With { + .Name = "Anhang_PDF", + .HeaderText = "Anhang", + .DataPropertyName = "Anhang_Image", + .ImageLayout = DataGridViewImageCellLayout.Zoom, + .Width = 40 + } + dgvLFRechnung.Columns.Add(cAnhang) + End If + + + 'For Each col As DataColumn In dt.Columns + + ' If col.DataType Is GetType(Boolean) Then + ' dgvLFRechnung.Columns.Add(New DataGridViewCheckBoxColumn With {.DataPropertyName = col.ColumnName, .HeaderText = col.ColumnName, .Name = col.ColumnName}) + ' End If + + 'Next + + dgvLFRechnung.DataSource = dt + dgvLFRechnung.ResumeLayout() + + lblEinträge.Text = dt.Rows.Count & " Einträge" + + If dt.Rows.Count >= 200 Then + lblEinträge.Text &= If(cbxMax1000Eintrage.Checked, " (Anzeige auf 1000 beschränkt)", "") + End If + + dgvLFRechnung.ClearSelection() + + If dt.Rows.Count > 0 Then + dgvLFRechnung.Rows(0).Cells(0).Selected = True + End If + + + If dgvLFRechnung.Columns.Count > 0 Then + + If dgvLFRechnung.Columns.Contains("daId") Then + If dgvLFRechnung.Columns("daId") IsNot Nothing Then dgvLFRechnung.Columns("daId").Visible = False + End If + + If dgvLFRechnung.Columns.Contains("RE_Anhang_daid") Then + If dgvLFRechnung.Columns("RE_Anhang_daid") IsNot Nothing Then dgvLFRechnung.Columns("RE_Anhang_daid").Visible = False + End If + + If dgvLFRechnung.Columns.Contains("invoice_id") Then + dgvLFRechnung.Columns("invoice_id").Visible = False + End If + + If dgvLFRechnung.Columns.Contains("PDFvorhanden") Then + dgvLFRechnung.Columns("PDFvorhanden").Visible = False + End If + + + If dgvLFRechnung.Columns.Contains("RE_Anhang") Then + dgvLFRechnung.Columns("RE_Anhang").Visible = False + End If + End If + + Dim sumBtto = dt.AsEnumerable().Where(Function(r) Not IsDBNull(r("Bruttobetrag"))).Sum(Function(r) CDbl(r("Bruttobetrag"))) + lblSumBto.Text = sumBtto.ToString("C2") - dgvInitWait = False txtchanged = False dgvInitWait = False - dgvLFRechnung.ClearSelection() - - If dgvLFRechnung.RowCount > 0 Then - dgvLFRechnung.Rows(0).Cells(0).Selected = True - Else - End If End Sub + Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click If SplitContainer1.Panel2Collapsed Then SplitContainer1.Panel2Collapsed = False @@ -1379,21 +1483,10 @@ Public Class usrcntlFremdrechnungen Try If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 Then - Select Case aktLieferant - Case "VERAG" - Dim ReDat = dgvLFRechnung.Rows(e.RowIndex).Cells("Rechnungsdatum").Value - Dim ReNr = dgvLFRechnung.Rows(e.RowIndex).Cells("Rechnungsnummer").Value + If e.ColumnIndex <> 18 Then - If ReDat IsNot Nothing AndAlso ReNr > 0 Then - Me.Cursor = Cursors.WaitCursor - Dim da_id = SQL.getValueTxtBySql("SELECT TOP(1) RK_ID FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum as Date) ='" & ReDat & "' and Rechnungsausgang.RechnungsNr='" & ReNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL") - cFakturierung.doRechnungsDruck_SRorER(da_id,, False, 3) - End If - - Case "ALLE" - Dim Lieferant = dgvLFRechnung.Rows(e.RowIndex).Cells("Lieferant").Value - - If Lieferant = "VERAG" Then + Select Case aktLieferant + Case "VERAG" Dim ReDat = dgvLFRechnung.Rows(e.RowIndex).Cells("Rechnungsdatum").Value Dim ReNr = dgvLFRechnung.Rows(e.RowIndex).Cells("Rechnungsnummer").Value @@ -1403,27 +1496,57 @@ Public Class usrcntlFremdrechnungen cFakturierung.doRechnungsDruck_SRorER(da_id,, False, 3) End If + Case "ALLE" + Dim Lieferant = dgvLFRechnung.Rows(e.RowIndex).Cells("Lieferant").Value - End If + If Lieferant = "VERAG" Then + Dim ReDat = dgvLFRechnung.Rows(e.RowIndex).Cells("Rechnungsdatum").Value + Dim ReNr = dgvLFRechnung.Rows(e.RowIndex).Cells("Rechnungsnummer").Value - Dim daId = dgvLFRechnung.Rows(e.RowIndex).Cells("daId").Value - If daId > 0 Then - Me.Cursor = Cursors.WaitCursor - Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId) - DS.OPEN_SINGLE() - End If - - Case Else + If ReDat IsNot Nothing AndAlso ReNr > 0 Then + Me.Cursor = Cursors.WaitCursor + Dim da_id = SQL.getValueTxtBySql("SELECT TOP(1) RK_ID FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum as Date) ='" & ReDat & "' and Rechnungsausgang.RechnungsNr='" & ReNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL") + cFakturierung.doRechnungsDruck_SRorER(da_id,, False, 3) + End If - Dim daId = dgvLFRechnung.Rows(e.RowIndex).Cells("daId").Value - If daId > 0 Then - Me.Cursor = Cursors.WaitCursor - Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId) - DS.OPEN_SINGLE() - End If + End If - End Select + Dim daId = dgvLFRechnung.Rows(e.RowIndex).Cells("daId").Value + If daId > 0 Then + Me.Cursor = Cursors.WaitCursor + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId) + DS.OPEN_SINGLE() + End If + + Case Else + + + Dim daId = dgvLFRechnung.Rows(e.RowIndex).Cells("daId").Value + If daId > 0 Then + Me.Cursor = Cursors.WaitCursor + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId) + DS.OPEN_SINGLE() + End If + + End Select + + ElseIf e.ColumnIndex = 18 Then + + Select Case aktLieferant + Case "RMC" + + Dim daId = dgvLFRechnung.Rows(e.RowIndex).Cells("RE_Anhang_daid").Value + If daId > 0 Then + Me.Cursor = Cursors.WaitCursor + Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId) + DS.OPEN_SINGLE() + End If + + End Select + + + End If End If @@ -1462,82 +1585,8 @@ Public Class usrcntlFremdrechnungen End If End Sub - Private Sub Button2_Click(sender As Object, e As EventArgs) - - With dgvLFRechnung - - - Dim c As New DataGridViewImageColumn - c.Name = "PDF" : c.HeaderText = "PDF" - c.DefaultCellStyle.NullValue = Nothing - c.ImageLayout = DataGridViewImageCellLayout.Zoom - c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White - - - If Not .Columns.Contains("PDF") Then .Columns.Add(c) - - For Each r As DataGridViewRow In .Rows - - If IsDBNull(r.Cells("daId").Value) OrElse r.Cells("daId").Value = 0 Then - DirectCast(r.Cells("PDF"), DataGridViewImageCell).Value = My.Resources.pdf_gray - - End If - - - Next - - - If .Columns.Count > 0 Then - - If .Columns.Contains("daId") Then - If .Columns("daId") IsNot Nothing Then .Columns("daId").Visible = False - End If - - End If - - End With - - - - - End Sub - - Private Sub setPDFImages() - - Exit Sub 'langsam!!!! - - With dgvLFRechnung - - If Not .Columns.Contains("PDF") Then Exit Sub - - For Each r As DataGridViewRow In .Rows - - If r.Cells("pdfVorhanden").Value Then - Try - 'DirectCast(r.Cells("PDF"), DataGridViewImageCell).Value = Nothing - DirectCast(r.Cells("PDF"), DataGridViewImageCell).Value = My.Resources.pdf - - Catch ex As Exception - VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) - End Try - - - End If - - - Next - - - - End With - - End Sub - - Sub ReloadRechnungsdetails() - - ' MsgBox(dgvInitWait) If Not dgvInitWait Then Try If dgvLFRechnung.SelectedRows.Count > 0 AndAlso (aktLieferant = "IDS" Or aktLieferant = "ALLE") Then @@ -1763,16 +1812,25 @@ Public Class usrcntlFremdrechnungen End If - - If aktLieferant = "RMC" AndAlso dgvLFRechnung.Columns.Contains("RE_Anhang") Then - If Not dgvLFRechnung.CurrentRow.Cells("RE_Anhang").Value Then - RechnungsanhangHochladenToolStripMenuItem.Visible = True - RechnungsanhangloeschenToolStripMenuItem.Visible = False + If aktLieferant = "RMC" Then + If dgvLFRechnung.Columns.Contains("RE_Anhang") Then + If Not dgvLFRechnung.CurrentRow.Cells("RE_Anhang").Value Then + RechnungsanhangHochladenToolStripMenuItem.Visible = True + RechnungsanhangloeschenToolStripMenuItem.Visible = False + Else + RechnungsanhangHochladenToolStripMenuItem.Visible = False + RechnungsanhangloeschenToolStripMenuItem.Visible = True + End If Else RechnungsanhangHochladenToolStripMenuItem.Visible = False - RechnungsanhangloeschenToolStripMenuItem.Visible = True + RechnungsanhangloeschenToolStripMenuItem.Visible = False End If + Else + + RechnungsanhangHochladenToolStripMenuItem.Visible = False + RechnungsanhangloeschenToolStripMenuItem.Visible = False + End If @@ -1839,13 +1897,18 @@ Public Class usrcntlFremdrechnungen Dim RMC As New cRMC(KundenNr, ReNr, ReDat) If RMC.hasEntry AndAlso RMC.rmc_daId_InvAtt IsNot Nothing Then - If vbYes = MsgBox("Möchten Sie den Rechnungsanhang von Kunde " & KundenNr & " und ReNr " & ReNr & " löschen? ", vbYesNoCancel) Then - Dim DS_Import As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(RMC.rmc_daId_InvAtt) - If DS_Import.DELETE_COMPLETE() Then - RMC.rmc_daId_InvAtt = Nothing - RMC.SAVE() - MsgBox("Dokument gelöscht! -> " & ReNr & " " & CDate(ReDat).ToShortDateString) - SET_SDL(aktLieferant) + + If RMC.UStVAn_ID IsNot Nothing Then + MsgBox("RE-Anhang kann nicht gelöscht werden, da diese Rechnung bereits in den Antrag " & RMC.UStVAn_ID & " eingearbeitet wurde!") + Else + If vbYes = MsgBox("Möchten Sie den Rechnungsanhang von Kunde " & KundenNr & " und ReNr " & ReNr & " löschen? ", vbYesNoCancel) Then + Dim DS_Import As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(RMC.rmc_daId_InvAtt) + If DS_Import.DELETE_COMPLETE() Then + RMC.rmc_daId_InvAtt = Nothing + RMC.SAVE() + MsgBox("Dokument gelöscht! -> " & ReNr & " " & CDate(ReDat).ToShortDateString) + SET_SDL(aktLieferant) + End If End If End If