diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 956130c5..67abcd9e 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -1861,6 +1861,43 @@ Public Class cFakturierung desc.AddApplicableTradeTax(Convert.ToDecimal(taxBasisAmount - RECHNUNG.SteuerfreierGesamtbetrag), Convert.ToDecimal(steuerProzenFaktor), Convert.ToDecimal(taxTotalAmount), TaxTypes.VAT, IIf(isReverseCharge, TaxCategoryCodes.AE, TaxCategoryCodes.S)) End If + Select Case FIRMA.Firma_ID + Case 21, 22, 23 '"UNISPED" + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN1, FIRMA.Firma_BIC1,,, FIRMA.Firma_Bankverbindung1) + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN2, FIRMA.Firma_BIC2,,, FIRMA.Firma_Bankverbindung2) + + + Case 26 'VERAG-UNISPED" + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN1, FIRMA.Firma_BIC1,,, FIRMA.Firma_Bankverbindung1) + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN2, FIRMA.Firma_BIC2,,, FIRMA.Firma_Bankverbindung2) + + Case 24 'AMBAR" + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN1, FIRMA.Firma_BIC1,,, FIRMA.Firma_Bankverbindung1) + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN2, FIRMA.Firma_BIC2,,, FIRMA.Firma_Bankverbindung2) + desc.AddCreditorFinancialAccount("TR90 0006 2001 6040 0009 0804 66", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto") + + + + Case 20 '"IMEX" + If RECHNUNG.RechnungsLandKz = "TR" Then + desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "",,, "Garanti Bank") + Else + If hasVK(RECHNUNG) Then + desc.AddCreditorFinancialAccount("AT35 4480 0365 7822 0002", "VBOEATWWOOE",,, "Volksbank Oberösterreich AG") + Else + If hasEUSTZOLL(RECHNUNG.RechnungsNr) Then + desc.AddCreditorFinancialAccount("AT62 4480 0365 7822 0001", "VBOEATWWOOE", ) + Else + desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "VBOEATWWOOE", ,, "Volksbank Oberösterreich AG") + End If + End If + End If + Case Else 'VERAG,ATILLA + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN1, FIRMA.Firma_BIC1,,, FIRMA.Firma_Bankverbindung1) + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN2, FIRMA.Firma_BIC2,,, FIRMA.Firma_Bankverbindung2) + + End Select + Dim tmpPathZugpferd = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("ZUGFeRD_Invoice_" & RECHNUNG.RechnungsNr, ".xml", True, False) Dim stream As FileStream = New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write) @@ -2073,6 +2110,47 @@ Public Class cFakturierung desc.AddTradePaymentTerms(rpt.Label2.Text, zahlungszieldatum) + Select Case FIRMA.Firma_ID + Case 21, 22, 23 '"UNISPED" + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN1, FIRMA.Firma_BIC1,,, FIRMA.Firma_Bankverbindung1) + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN2, FIRMA.Firma_BIC2,,, FIRMA.Firma_Bankverbindung2) + + + Case 26 'VERAG-UNISPED" + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN1, FIRMA.Firma_BIC1,,, FIRMA.Firma_Bankverbindung1) + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN2, FIRMA.Firma_BIC2,,, FIRMA.Firma_Bankverbindung2) + + Case 24 'AMBAR" + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN1, FIRMA.Firma_BIC1,,, FIRMA.Firma_Bankverbindung1) + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN2, FIRMA.Firma_BIC2,,, FIRMA.Firma_Bankverbindung2) + desc.AddCreditorFinancialAccount("TR90 0006 2001 6040 0009 0804 66", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto") + + + + Case 20 '"IMEX" + If RechnungsLandKz = "TR" Then + desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "",,, "Garanti Bank") + Else + If hasVK(RechnungsNr, ROW("Buchungsjahr")) Then + desc.AddCreditorFinancialAccount("AT35 4480 0365 7822 0002", "VBOEATWWOOE",,, "Volksbank Oberösterreich AG") + Else + If hasEUSTZOLL(RechnungsNr) Then + desc.AddCreditorFinancialAccount("AT62 4480 0365 7822 0001", "VBOEATWWOOE", ) + Else + desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "VBOEATWWOOE", ,, "Volksbank Oberösterreich AG") + End If + End If + End If + Case Else 'VERAG,ATILLA + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN1, FIRMA.Firma_BIC1,,, FIRMA.Firma_Bankverbindung1) + desc.AddCreditorFinancialAccount(FIRMA.Firma_IBAN2, FIRMA.Firma_BIC2,,, FIRMA.Firma_Bankverbindung2) + + End Select + + + + + Dim isReverseCharge = IIf(getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), "") > 0, True, False) @@ -3603,7 +3681,7 @@ Public Class cFakturierung Dim rpt As New rptSammelRechnungDruck(ROW("RechnungSprache")) Dim firmaID = ROW("Firma_ID") - firmaID.ToString.Replace("15", "19") + 'firmaID.ToString.Replace("15", "19") Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(firmaID) Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr")) @@ -3688,6 +3766,7 @@ Public Class cFakturierung Case 4 : rpt.picVERAG.Image = My.Resources.Verag_AG_Logo : rpt.Picture1.Image = Nothing Case 7 : rpt.picVERAG.Image = My.Resources.Atilla_big_med : rpt.Picture1.Image = Nothing Case 11 : rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo : rpt.Picture1.Image = My.Resources.aeo_CS + Case 19 : rpt.picVERAG.Image = My.Resources.VERAG_360 : rpt.Picture1.Image = Nothing Case 20 : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Picture1.Image = My.Resources.aeo_AT_imex Case 21 : rpt.picVERAG.Image = My.Resources.Unisped_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_AT Case 22 : rpt.picVERAG.Image = My.Resources.Unisped_DE_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_DE diff --git a/SDL/Fakturierung/frmFaktEmail.Designer.vb b/SDL/Fakturierung/frmFaktEmail.Designer.vb index f193607c..790c0c42 100644 --- a/SDL/Fakturierung/frmFaktEmail.Designer.vb +++ b/SDL/Fakturierung/frmFaktEmail.Designer.vb @@ -75,12 +75,13 @@ Partial Class frmFaktEmail Me.cboPrinter = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.cbxRgKopieDrucken = New System.Windows.Forms.CheckBox() Me.dgvAnhaenge = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) - Me.Label7 = New System.Windows.Forms.Label() Me.optAnhSel = New System.Windows.Forms.DataGridViewCheckBoxColumn() Me.DataGridViewTextBoxColumn3 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.clmnBezeichnung = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.clmnDsId = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.clmnAnhId = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.Label7 = New System.Windows.Forms.Label() + Me.Button5 = New System.Windows.Forms.Button() CType(Me.dgvEmailBCC, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dgvEmailCC, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dgvEmail, System.ComponentModel.ISupportInitialize).BeginInit() @@ -612,15 +613,6 @@ Partial Class frmFaktEmail Me.dgvAnhaenge.TabIndex = 91 Me.dgvAnhaenge.TabStop = False ' - 'Label7 - ' - Me.Label7.AutoSize = True - Me.Label7.Location = New System.Drawing.Point(8, 656) - Me.Label7.Name = "Label7" - Me.Label7.Size = New System.Drawing.Size(53, 13) - Me.Label7.TabIndex = 92 - Me.Label7.Text = "Anhänge:" - ' 'optAnhSel ' Me.optAnhSel.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None @@ -676,12 +668,33 @@ Partial Class frmFaktEmail Me.clmnAnhId.Visible = False Me.clmnAnhId.Width = 150 ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(8, 656) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(53, 13) + Me.Label7.TabIndex = 92 + Me.Label7.Text = "Anhänge:" + ' + 'Button5 + ' + Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button5.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button5.Location = New System.Drawing.Point(15, 281) + Me.Button5.Name = "Button5" + Me.Button5.Size = New System.Drawing.Size(46, 21) + Me.Button5.TabIndex = 93 + Me.Button5.Text = "RO" + Me.Button5.UseVisualStyleBackColor = True + ' 'frmFaktEmail ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.WhiteSmoke Me.ClientSize = New System.Drawing.Size(750, 850) + Me.Controls.Add(Me.Button5) Me.Controls.Add(Me.Label7) Me.Controls.Add(Me.dgvAnhaenge) Me.Controls.Add(Me.cbxRgKopieDrucken) @@ -785,4 +798,5 @@ Partial Class frmFaktEmail Friend WithEvents clmnBezeichnung As DataGridViewTextBoxColumn Friend WithEvents clmnDsId As DataGridViewTextBoxColumn Friend WithEvents clmnAnhId As DataGridViewTextBoxColumn + Friend WithEvents Button5 As Button End Class diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index 55f71739..a7e31061 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -119,6 +119,12 @@ Public Class frmFaktEmail cbxStbMitt.Enabled = True : cbxStbMitt.Checked = True cbxVBD.Enabled = True : cbxVBD.Checked = True cbxOriginalPrint.Visible = False + If SammelrechungArt = 6 Then + cbxMergePDF.Checked = False + cbxMergePDF.Enabled = False + Else + cbxMergePDF.Enabled = True + End If Else setMailText(RECHNUNG.RechnungsLandKz) @@ -254,23 +260,47 @@ Public Class frmFaktEmail Dim TextHTML = "" - Select Case RechnungsLandKz - Case "TR" - txtSubject.Text = If(BelegartenNr = 71, "Kredi Nr. ", "Fatura Nr. ") & txtRgNr - TextHTML = "Sayin Bayanlar ve Baylar," & vbNewLine & vbNewLine & "ekte baslikta yazan faturayi bulabilirsinz." - TextHTML &= TextHTMLADD - TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Saygilarimizla" & vbNewLine & vbNewLine & "" - Case "A", "AT", "D", "DE", "CH" - txtSubject.Text = If(BelegartenNr = 71, "Gutschrift Nr. ", "Rechnung Nr. ") & txtRgNr - TextHTML = "Sehr geehrte Damen und Herren" & vbNewLine & vbNewLine & "im Anhang senden wir Ihnen die o.g. " & If(BelegartenNr = 71, "Gutschrift(en).", "Rechnung(en).") - TextHTML &= TextHTMLADD - TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Mit freundlichen Grüßen" & vbNewLine & vbNewLine & "" - Case Else - txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr - TextHTML = "Dear Sir or Madam," & vbNewLine & vbNewLine & "attached we send you the invoice mentioned above." - TextHTML &= TextHTMLADD - TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & "" - End Select + If SammelrechungArt <> 6 Then + Select Case RechnungsLandKz + Case "TR" + txtSubject.Text = If(BelegartenNr = 71, "Kredi Nr. ", "Fatura Nr. ") & txtRgNr + TextHTML = "Sayin Bayanlar ve Baylar," & vbNewLine & vbNewLine & "ekte baslikta yazan faturayi bulabilirsinz." + TextHTML &= TextHTMLADD + TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Saygilarimizla" & vbNewLine & vbNewLine & "" + Case "A", "AT", "D", "DE", "CH" + txtSubject.Text = If(BelegartenNr = 71, "Gutschrift Nr. ", "Rechnung Nr. ") & txtRgNr + TextHTML = "Sehr geehrte Damen und Herren" & vbNewLine & vbNewLine & "im Anhang senden wir Ihnen die o.g. " & If(BelegartenNr = 71, "Gutschrift(en).", "Rechnung(en).") + TextHTML &= TextHTMLADD + TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Mit freundlichen Grüßen" & vbNewLine & vbNewLine & "" + Case Else + txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr + TextHTML = "Dear Sir or Madam," & vbNewLine & vbNewLine & "attached we send you the invoice mentioned above." + TextHTML &= TextHTMLADD + TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & "" + End Select + Else + Select Case RechnungsLandKz + Case "TR" + txtSubject.Text = If(BelegartenNr = 71, "Kredi Nr. ", "Fatura Nr. ") & txtRgNr + TextHTML = "Sayin yetkili," & vbNewLine & vbNewLine & "ekte baslikta yazan faturayi bulabilirsinz." + TextHTML &= TextHTMLADD + TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Saygilarimizla" & vbNewLine & vbNewLine & "" + Case "A", "AT", "D", "DE", "CH" + txtSubject.Text = If(BelegartenNr = 71, "Gutschrift Nr. ", "Rechnung Nr. ") & txtRgNr + TextHTML = "Sehr geehrte Damen und Herren" & vbNewLine & vbNewLine & "im Anhang senden wir Ihnen die o.g. " & If(BelegartenNr = 71, "Gutschrift(en).", "Rechnung(en).") + TextHTML &= TextHTMLADD + TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Mit freundlichen Grüßen" & vbNewLine & vbNewLine & "" + Case Else + txtSubject.Text = If(BelegartenNr = 71, "Credit No. ", "Invoice No. ") & txtRgNr + TextHTML = "Dear Sir or Madam," & vbNewLine & vbNewLine & "attached we send you the invoice mentioned above." + TextHTML &= TextHTMLADD + TextHTML &= "" & vbNewLine & vbNewLine & vbNewLine & "Best regards" & vbNewLine & vbNewLine & "" + End Select + + + End If + + RichTextBox.Text = TextHTML @@ -880,27 +910,49 @@ Public Class frmFaktEmail .Rows.Clear() .Enabled = True - If SR Then + If SR AndAlso SammelrechungArt <> 6 Then .Enabled = False Exit Sub End If - RECHNUNG.LOAD_ANHAENGE() - If RECHNUNG IsNot Nothing AndAlso RECHNUNG.ANHAENGE IsNot Nothing Then - '----------------------------- - 'ANHÄNGE LADEN: - '----------------------------- - For Each RG_AH In RECHNUNG.ANHAENGE - .Rows.Add(0, "", RG_AH.Bezeichnung, RG_AH.dsId, RG_AH.anhId) + If SammelrechungArt = 6 AndAlso RECHNUNG Is Nothing Then + + For Each r In SR_DT.Rows + Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(r("RK_ID")) + If RG IsNot Nothing Then + + RG.LOAD_ANHAENGE() + + For Each RG_AH In RG.ANHAENGE + .Rows.Add(0, "", RG_AH.Bezeichnung, RG_AH.dsId, RG_AH.anhId) + Next + + End If + Next - '----------------------------- + Else + + RECHNUNG.LOAD_ANHAENGE() + + If RECHNUNG IsNot Nothing AndAlso RECHNUNG.ANHAENGE IsNot Nothing Then + '----------------------------- + 'ANHÄNGE LADEN: + '----------------------------- + For Each RG_AH In RECHNUNG.ANHAENGE + .Rows.Add(0, "", RG_AH.Bezeichnung, RG_AH.dsId, RG_AH.anhId) + Next + '----------------------------- + + End If End If + End With dgvAnhaenge.ClearSelection() End Sub + End Class diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb index bf69b784..3918d465 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb @@ -64,7 +64,7 @@ Public Class frmFaktSammelRgDrucken Dim sqlStr = " SELECT Rechnungsausgang.RechnungsKundenNr, max(Rechnungsausgang.[RechnungsName 1]) as [RechnungsName 1]," & If(Sammelrechung = 7, "AvisoId", "0") & " as AvisoId,max(Rechnungsausgang.[RechnungsLandKz]) as [RechnungsLandKz] , count(*) as Anzahl, SUM(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) AS Summe" & If(Sammelrechung = 7, ",max([LKW Kennzeichen]) as LKW", "") & " ,(SELECT CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' ELSE '-' END FROM Adressen WHERE AdressenNr=Rechnungsausgang.RechnungsKundenNr ) as Rechnungsdruck FROM Rechnungsausgang - WHERE Rechnungsausgang.Status IN (0,2) And Rechnungsausgang.Firma_ID = '" & IIf(Sammelrechung = 6, "15", cboFirma._value) & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechung & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) <= '" & txtZeitraumBis._value & "' + WHERE Rechnungsausgang.Status IN (0,2) And Rechnungsausgang.Firma_ID = '" & cboFirma._value & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechung & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) <= '" & txtZeitraumBis._value & "' " & If(Sammelrechung = 7 And cboSB._value <> "", " AND Rechnungsausgang.Sachbearbeiter='" & cboSB._value & "' ", "") & " " & whereAbfArt & " AND Rechnungsausgang.FakturierungsGruppe='" & cboFaktGrp._value & "' @@ -285,7 +285,7 @@ Public Class frmFaktSammelRgDrucken Dim listPDFs As New List(Of String) Dim SonstAnlagen As New List(Of String) Dim RechnungsNrisSet As Boolean = False - RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(IIf(Sammelrechung = 6, 15, cboFirma._value), Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr, If(ausgabeArt = 1, -1, 4), listPDFs, cboSB._value,,, getAvisoIds, cbxEVOLOG.Checked, SonstAnlagen, vorschau, cbxTransFerry.Checked, cboFaktGrp._value, cboAbfertigungsart._value) + RechnungsNrisSet = cFakturierung.doSAMMELRechnungsDruck(cboFirma._value, Sammelrechung, CDate(txtZeitraumBis.Text), CDate(txtRechnungsdatum.Text), cboPrinter.Text, cbxEinzelAnlagen.Checked, cbxSammelbericht.Checked, getSelectionKdNr, If(ausgabeArt = 1, -1, 4), listPDFs, cboSB._value,,, getAvisoIds, cbxEVOLOG.Checked, SonstAnlagen, vorschau, cbxTransFerry.Checked, cboFaktGrp._value, cboAbfertigungsart._value) '-------------- für PDF-Sammel-Rechnung -------------- diff --git a/SDL/Formulare/KDFormulare/frmFormulare.vb b/SDL/Formulare/KDFormulare/frmFormulare.vb index ee717c67..1289b297 100644 --- a/SDL/Formulare/KDFormulare/frmFormulare.vb +++ b/SDL/Formulare/KDFormulare/frmFormulare.vb @@ -2098,18 +2098,27 @@ Public Class FormularManagerNEU Case "c_bic" : odoc.FormFields(fieldName).Range.Text = IIf(Not isKundeDE, FIRMA.Firma_BIC1.Replace("BIC:", ""), FIRMA_DE.Firma_BIC1.Replace("BIC:", "")) Case "place_date" : odoc.FormFields(fieldName).Range.Text = IIf(usrCntl.cbxPrintDateAndCity.Checked, usrCntl.txtOrt.Text & ", " & IIf(IsDate(usrCntl.datDatum.Text), usrCntl.datDatum.Text, ""), "") - - Case "bank" : odoc.FormFields(fieldName).Range.Text = IIf(dtKundenBank.Rows.Count = 1 AndAlso Not IsDBNull(dtKundenBank.Rows(0).Item("bnk_anschrift")), dtKundenBank.Rows(0).Item("bnk_anschrift"), "") - Case "iban" : odoc.FormFields(fieldName).Range.Text = IIf(dtKundenBank.Rows.Count = 1 AndAlso Not IsDBNull(dtKundenBank.Rows(0).Item("bnk_iban")), dtKundenBank.Rows(0).Item("bnk_iban"), "") - Case "bic" : odoc.FormFields(fieldName).Range.Text = IIf(dtKundenBank.Rows.Count = 1 AndAlso Not IsDBNull(dtKundenBank.Rows(0).Item("bnk_bic")), dtKundenBank.Rows(0).Item("bnk_bic"), "") - Case "name1" : odoc.FormFields(fieldName).Range.Text = IIf(dtKundenBank.Rows.Count = 1, usrCntl.txtFirma.Text, "") - - - End Select Next + If dtKundenBank.Rows.Count > 0 Then + + For Each item In odoc.FormFields + + Dim fieldName = item.Name.ToLower().Trim() + + Select Case fieldName + Case "bank" : odoc.FormFields(fieldName).Range.Text = IIf(dtKundenBank.Rows.Count = 1 AndAlso Not IsDBNull(dtKundenBank.Rows(0).Item("bnk_anschrift") AndAlso dtKundenBank.Rows(0).Item("bnk_anschrift") IsNot Nothing), dtKundenBank.Rows(0).Item("bnk_anschrift"), "") + Case "iban" : odoc.FormFields(fieldName).Range.Text = IIf(dtKundenBank.Rows.Count = 1 AndAlso Not IsDBNull(dtKundenBank.Rows(0).Item("bnk_iban") AndAlso dtKundenBank.Rows(0).Item("bnk_iban") IsNot Nothing), dtKundenBank.Rows(0).Item("bnk_iban"), "") + Case "bic" : odoc.FormFields(fieldName).Range.Text = IIf(dtKundenBank.Rows.Count = 1 AndAlso Not IsDBNull(dtKundenBank.Rows(0).Item("bnk_bic") AndAlso dtKundenBank.Rows(0).Item("bnk_bic") IsNot Nothing), dtKundenBank.Rows(0).Item("bnk_bic"), "") + Case "name1" : odoc.FormFields(fieldName).Range.Text = IIf(dtKundenBank.Rows.Count = 1, usrCntl.txtFirma.Text, "") + End Select + Next + + End If + + For Each s As Microsoft.Office.Interop.Word.Section In odoc.Sections For Each header As Microsoft.Office.Interop.Word.HeaderFooter In s.Headers For Each img_word As Microsoft.Office.Interop.Word.Shape In header.Shapes diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 4560c6a9..32928018 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -5,13 +5,13 @@ Imports System.Windows.Documents Imports com.sun.org.apache.xml.internal.resolver Imports com.sun.tools.internal.ws.wsdl.framework Imports DocumentFormat.OpenXml.Office2010.Drawing.Charts -Imports iTextSharp.text.pdf -Imports iTextSharp.text.pdf.parser +Imports itextsharp.text.pdf +Imports itextsharp.text.pdf.parser Imports java.text.Normalizer Imports jdk.nashorn.internal.objects.annotations 'Imports DocumentFormat.OpenXml.Drawing.Charts Imports Microsoft.Office.Interop -Imports Org.BouncyCastle.Pqc.Crypto +Imports org.BouncyCastle.Pqc.Crypto Imports sun.swing Imports VERAG_PROG_ALLGEMEIN @@ -610,13 +610,13 @@ Public Class frmMDM_USTVAntrag USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME USTV_POS.UStVPo_Zeitstempel = Now() USTV_POS.UStVPo_daId = ANTRAG.plose_daId + ' Berechnungen If Not MWSTSummenAusBeleg Then - USTV_POS.UStVPo_USteuerbetragEUR = ANTRAG.plose_MWSTBetragWaehrungAbbuchung 'VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ANTRAG.plose_MWSTBetragWaehrungAbbuchung, USTV_ANTRAG.UStVAn_Währungscode, "EUR") - 'USTV_POS.UStVPo_Umrechnungskurs = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuroKurs(ANTRAG.plose_WaehrungAbbuchung, ANTRAG.plose_RechnungsDatum) + USTV_POS.UStVPo_USteuerbetragEUR = ANTRAG.plose_MWSTBetragWaehrungAbbuchung USTV_POS.UStVPo_Umrechnungskurs = ANTRAG.plose_MWSTBetrag / ANTRAG.plose_MWSTBetragWaehrungAbbuchung USTV_POS.UStVPo_USteuerbetrag = ANTRAG.plose_MWSTBetrag - ' MsgBox(ANTRAG.plose_Lieferant & " - " & ANTRAG.plose_RechnungsDatum & " - " & ANTRAG.plose_RechnungsNr & " :::::::::: " & CDbl(ANTRAG.plose_MWSTBetrag).ToString("C2")) + Else 'TODO - hier Umrechnungslogik von FRMDW und EUR und EUR/FRMDWR für Belegsebene Dim umrechKurs As Double = 1 @@ -642,12 +642,12 @@ Public Class frmMDM_USTVAntrag End If - If (UST_org > 0 AndAlso UST_org <> UST_EUR) Then + If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100 End If - If UST_org > 0 Then + If UST_org <> 0 Then USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR USTV_POS.UStVPo_Umrechnungskurs = umrechKurs USTV_POS.UStVPo_USteuerbetrag = UST_org @@ -657,12 +657,15 @@ Public Class frmMDM_USTVAntrag End If - USTV_POS.INSERT() + If USTV_POS.INSERT() Then + MDM_Worker.cPLOSE.UPDATE_ARCHIV(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_ID, USTV_POS.UStVPo_ReNr, True) + End If End If + Next 'Einträge als archivert setzen ' vormals wichtig - MDM_Worker.cPLOSE.UPDATE_ARCHIV(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_ID) + 'MDM_Worker.cPLOSE.UPDATE_ARCHIV(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_ID) End If Return True @@ -773,6 +776,7 @@ Public Class frmMDM_USTVAntrag Shared Function loadUSTVFrom_RMC(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean + Try Dim bytSchnittstellenNr = 7 Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID) @@ -816,7 +820,7 @@ Public Class frmMDM_USTVAntrag End If - If CDbl(r.Item("rmc_betragMWST")) > 0 Then + If CDbl(r.Item("rmc_betragMWST")) <> 0 Then USTV_POS.UStVPo_USteuerbetragEUR = Math.Round((r.Item("rmc_betragMWST") / umrechKurs), 2) USTV_POS.UStVPo_Umrechnungskurs = umrechKurs USTV_POS.UStVPo_USteuerbetrag = r.Item("rmc_betragMWST") @@ -874,7 +878,7 @@ Public Class frmMDM_USTVAntrag Dim UST_EUR = CDbl(r.Item("UST_EUR")) Dim UST_org = CDbl(r.Item("UST")) - If (UST_EUR > 0 AndAlso UST_org > 0 AndAlso UST_org <> UST_EUR) Then + If (UST_EUR <> 0 AndAlso UST_org <> 0 AndAlso UST_org <> UST_EUR) Then 'umrechKurs = UST_org / UST_EUR @@ -882,7 +886,7 @@ Public Class frmMDM_USTVAntrag End If - If UST_org > 0 Then + If UST_org <> 0 Then USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR 'Math.Round((UST_org / umrechKurs), 2) USTV_POS.UStVPo_Umrechnungskurs = umrechKurs USTV_POS.UStVPo_USteuerbetrag = UST_org @@ -943,14 +947,14 @@ Public Class frmMDM_USTVAntrag Dim UST_EUR = CDbl(r.Item("Umsatzsteuerbetrag_in_Darstellwährung")) 'ist immer EUR - If (UST_org > 0 AndAlso UST_org <> UST_EUR) Then + If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100 End If - If UST_org > 0 Then + If UST_org <> 0 Then USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR USTV_POS.UStVPo_Umrechnungskurs = umrechKurs USTV_POS.UStVPo_USteuerbetrag = UST_org @@ -1016,12 +1020,12 @@ Public Class frmMDM_USTVAntrag UST_org = Math.Round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2) End If - If (UST_org > 0 AndAlso UST_org <> UST_EUR) Then + If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100 End If - If UST_org > 0 Then + If UST_org <> 0 Then USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR USTV_POS.UStVPo_Umrechnungskurs = umrechKurs USTV_POS.UStVPo_USteuerbetrag = UST_org @@ -1311,7 +1315,7 @@ Public Class frmMDM_USTVAntrag From [tblPLOSE_Details] INNER Join Adressen On PLOSEKundenNr=plose_POLSEKundennummer INNER Join [tblPLOSE_Produktbeschreibung] ON [plp_ProductCode]=[plose_ProduktCode] WHERE cast(plose_RechnungsDatum As Date) = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat & "' And AdressenNr=" & USTV_ANTRAG.UStVAn_KuNr & " AND plose_RechnungsNr = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr & "' - And plose_LieferantCode IN (0,1,7) " + And plose_LieferantCode IN (0,1,7,9) " If Not test Then updated = SQL.doSQL(sqlText, "FMZOLL") @@ -1521,11 +1525,11 @@ Public Class frmMDM_USTVAntrag Try Dim fi As New System.IO.DirectoryInfo(path_src) - Dim pdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(path_src) + Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path_src) Dim TMP_Path_New = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension,, True, "IDS-Rechnungen") - Dim srcDoc As New iTextSharp.text.Document() - Dim PdfCopyProvider As New iTextSharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create)) + Dim srcDoc As New itextsharp.text.Document() + Dim PdfCopyProvider As New itextsharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create)) PdfCopyProvider.SetFullCompression() srcDoc.Open() PdfReader.unethicalreading = True @@ -1536,7 +1540,7 @@ Public Class frmMDM_USTVAntrag Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy() Dim currentpagetext As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy) Dim searchtext As String = ReNr - Dim impPage As iTextSharp.text.pdf.PdfImportedPage = Nothing + Dim impPage As itextsharp.text.pdf.PdfImportedPage = Nothing If (currentpagetext.Contains(searchtext)) Then @@ -1549,7 +1553,7 @@ Public Class frmMDM_USTVAntrag impPage = PdfCopyProvider.GetImportedPage(pdfReader, page) ' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite - PdfCopyProvider.SetPageSize(New iTextSharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page))) + PdfCopyProvider.SetPageSize(New itextsharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page))) ' ----- PDF Seite in das neue Dokument einfügen If impPage IsNot Nothing Then PdfCopyProvider.AddPage(impPage) Catch ex As Exception diff --git a/SDL/USTV/frmUSTVoffeneAntraege.vb b/SDL/USTV/frmUSTVoffeneAntraege.vb index ba388037..84ed3ef3 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.vb @@ -133,7 +133,7 @@ Public Class frmUSTVoffeneAntraege Dim sqlwhere = "" If kdnr > 0 Then - sqlwhere &= " and rmc_kdNr = " & kdnr + sqlwhere &= " and Adressen.AdressenNr = " & kdnr End If @@ -141,7 +141,8 @@ Public Class frmUSTVoffeneAntraege .Columns.Clear() 'Exit Sub 'MsgBox(.sql) - Dim sqlstring = "Select " & top & " [rmc_kdNr], [rmc_kdName], [rmc_landKZ], [rmc_reDatum], [rmc_reNr], [rmc_waehrung], [rmc_betragMWST],rmc_daid as daId FROM [tblRMCImport] + Dim sqlstring = "Select " & top & " [rmc_kdNr], [rmc_kdName], [rmc_landKZ], [rmc_reDatum], [rmc_reNr], [rmc_waehrung], [rmc_betragMWST],rmc_daid as daId FROM [tblRMCImport] + INNER JOIN Adressen on WölflKundenNr=[rmc_kdNr] where cast(rmc_reDatum As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And rmc_archiv <> 1 " & sqlwhere & "group by rmc_reDatum, rmc_kdNr,[rmc_kdName], [rmc_landKZ],[rmc_reNr], [rmc_waehrung], [rmc_betragMWST], rmc_daid having [rmc_betragMWST] <> 0" @@ -477,7 +478,7 @@ End With sqlwhereIDS &= " and AdressenNr = " & kdnr 'sqlwhereIDS &= " and tblIDSTransactionsNew.KdNrVERAG = " & kdnr sqlwhereUTA &= " and AdressenNr = " & kdnr sqlwhereVERAG &= " and AdressenNr = " & kdnr - sqlwhereRMC &= " and rmc_kdNr = " & kdnr + sqlwhereRMC &= " and Adressen.AdressenNr = " & kdnr sqlwhereMSE &= " and partner_customer_number = " & kdnr End If @@ -522,7 +523,7 @@ End With Select " & top & " 'RMC' as Lieferant, - [rmc_kdNr] as KdNr, + Adressen.AdressenNr as KdNr, Adressen.[Name 1] as Kundenname, Adressen.LandKz as Kundenland, [rmc_landKZ] as Einreichland, @@ -532,7 +533,7 @@ End With INNER JOIN Adressen on WölflKundenNr= [rmc_kdNr] where cast(rmc_reDatum As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And UStVAn_ID is null " & sqlwhereRMC & " - group by rmc_reDatum, rmc_kdNr,Adressen.[Name 1],Adressen.LandKz, [rmc_landKZ],[rmc_reNr], [rmc_betragMWST] + group by Adressen.AdressenNr,Adressen.[Name 1],Adressen.LandKz, [rmc_landKZ],[rmc_reNr], rmc_reDatum, [rmc_betragMWST] having [rmc_betragMWST] <> 0 UNION ALL diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 8686fddb..fd35c5e5 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -1,14 +1,8 @@ Imports System.Data.OleDb Imports System.IO -Imports Challenge -Imports com.sun.org.glassfish.external.probe.provider.annotations -Imports GrapeCity.ActiveReports.Export.Pdf.Section.Signing Imports itextsharp.text.pdf Imports MDM_Worker -Imports sun.swing -Imports TAlex.WPF.Helpers Imports VERAG_PROG_ALLGEMEIN -Imports VERAG_PROG_ALLGEMEIN.TESTJSON Public Class frmMDMDatenverarbetiung @@ -3180,7 +3174,7 @@ Public Class frmMDMDatenverarbetiung End Select Dim GJ = Now.Year - If IsDate(abrechnugsdatum) Then GJ = cRKSV.getGJ(abrechnugsdatum, 15) + If IsDate(abrechnugsdatum) Then GJ = cRKSV.getGJ(abrechnugsdatum, 19) SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, GJ) SPEDBUCH.NewUNTER_NR() @@ -3366,7 +3360,7 @@ Public Class frmMDMDatenverarbetiung 'End Function - Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, Lieferant As String, Optional PLOSEKundenNr As String = "", Optional von As Date = Nothing, Optional bis As Date = Nothing, Optional RE As cRechnungsausgang = Nothing) + Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, Lieferant As String, Optional PLOSEKundenNr As String = "", Optional von As Date = Nothing, Optional bis As Date = Nothing, Optional ByRef RE As cRechnungsausgang = Nothing) Try If KdNr = "" Then Return False @@ -3388,6 +3382,8 @@ Public Class frmMDMDatenverarbetiung End Select + RG.Firma_ID = 19 'RG.Firma_ID = 15 + RG.FilialenNr = SPEDBUCH.FilialenNr RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr @@ -3432,18 +3428,16 @@ Public Class frmMDMDatenverarbetiung RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen RG.RechnungSprache = "DE" - RG.Anlage_2 = "" RG.Anlage_3 = "" RG.Anlage_4 = "" RG.Anlage_5 = "" RG.Anlage_6 = "" - RG.Text = "" RG.EMailRechnungstext = Nothing ' "" - RG.Firma_ID = 15 + RG.Nettozahlungsziel = KD.Zahlungsziel RG.SteuerpflichtigerGesamtbetrag = 0 @@ -3452,14 +3446,14 @@ Public Class frmMDMDatenverarbetiung RG.[Vorkosten] = 0 RG.[Erlös] = 0 - RG.[Buchungsjahr] = 0 + 'RG.[Buchungsjahr] = 0 RG.[Währungscode] = "EUR" RG.ReErfZeitstempel = Now RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME - RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum, RG.Firma_ID) + 'RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum, RG.Firma_ID) Dim sqlstr As String = "" Dim useNettogesamtbetrag As Boolean = False @@ -4089,7 +4083,6 @@ Public Class frmMDMDatenverarbetiung MsgBox("Es sind " & nichtAufAbgerechnetGesetzteTransactionen & " Transaktionen in der Datenbank, die noch nicht auf VERRECHNET gesetzt sind!" & vbNewLine & "Diese Transaktionen (von Rechnung " & DateTimePicker2.Text & ") müssen aktualisiert werden. (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, "")) End If - 'das muss die letzte Prüfung sein, da uU eine Transaktion fehlen kann! Dim fehlendeTransactionen As Integer = 0 @@ -4098,10 +4091,10 @@ Public Class frmMDMDatenverarbetiung If fehlendeTransactionen > 0 Then pruefData_MSE = False Dim hint As String = "" - If fehlendeTransactionen > 500 Then - hint = "Batch-Nr: " - hint &= SQL.getValueTxtBySql("select distinct(trans.batch_seq_nr) FROM [VERAG].[dbo].[tblMSESettlements] as settle INNER JOIN [VERAG].[dbo].[tblMSETransactions] as trans on trans.transaction_id = settle.transaction_id where [invoice_date] = '" & DateTimePicker2.Text & "' AND trans.[transaction_id] not in (select [transaction_id] from [VERAG].[dbo].[tblMSETransactions]) ", "FMZOLL") - End If + 'If fehlendeTransactionen > 500 Then + ' hint = "Transaction-IDs: " + ' hint &= SQL.getValueTxtBySql("select top(10) transaction_id FROM [VERAG].[dbo].[tblMSESettlements] where [invoice_date] = '" & DateTimePicker2.Text & "' AND [transaction_id] not in (select [transaction_id] from [VERAG].[dbo].[tblMSETransactions]) ", "FMZOLL") + 'End If MsgBox("Es fehlen " & fehlendeTransactionen & " Transaktionen in der Datenbank!" & vbNewLine & "Diese Transaktionen (von Rechnung " & DateTimePicker2.Text & ") müssen nachgeladen werden (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, "")) End If @@ -4154,8 +4147,6 @@ Public Class frmMDMDatenverarbetiung Return False End If - - End If Dim OBONumberOderVRNumberfehlern As Integer = 0 @@ -4854,7 +4845,7 @@ RabattBerechnen: ANH.dsId = CInt(DS.da_id) ANH.Bezeichnung = DS.da_name RECHNUNG.ANHAENGE.Add(ANH) - Return RECHNUNG.SAVE_ANHAENGE(RECHNUNG.RK_ID) + Return RECHNUNG.SAVE_ANHAENGE(RECHNUNG.RK_ID, False) Else Return False End If diff --git a/SDL/mdm/usrCntlMDMAuswertungen.Designer.vb b/SDL/mdm/usrCntlMDMAuswertungen.Designer.vb index d9b3a84d..25377152 100644 --- a/SDL/mdm/usrCntlMDMAuswertungen.Designer.vb +++ b/SDL/mdm/usrCntlMDMAuswertungen.Designer.vb @@ -131,8 +131,19 @@ Partial Class usrCntlMDMAuswertungen Me.Label59 = New System.Windows.Forms.Label() Me.Button17 = New System.Windows.Forms.Button() Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.Label61 = New System.Windows.Forms.Label() + Me.GroupBox19 = New System.Windows.Forms.GroupBox() + Me.Label62 = New System.Windows.Forms.Label() + Me.Button18 = New System.Windows.Forms.Button() Me.Label44 = New System.Windows.Forms.Label() Me.GroupBox13 = New System.Windows.Forms.GroupBox() + Me.cboSachbearbeiter = New VERAG_PROG_ALLGEMEIN.MyComboBox() + Me.Label67 = New System.Windows.Forms.Label() + Me.dtRechnungsdatum = New System.Windows.Forms.DateTimePicker() + Me.Label66 = New System.Windows.Forms.Label() + Me.Label65 = New System.Windows.Forms.Label() + Me.Label64 = New System.Windows.Forms.Label() + Me.Label63 = New System.Windows.Forms.Label() Me.Label45 = New System.Windows.Forms.Label() Me.Button14 = New System.Windows.Forms.Button() Me.Label35 = New System.Windows.Forms.Label() @@ -203,6 +214,7 @@ Partial Class usrCntlMDMAuswertungen Me.tbIDS.SuspendLayout() Me.GroupBox18.SuspendLayout() Me.TabPage2.SuspendLayout() + Me.GroupBox19.SuspendLayout() Me.GroupBox13.SuspendLayout() Me.GroupBox10.SuspendLayout() Me.tbPLOSE.SuspendLayout() @@ -1431,6 +1443,8 @@ Partial Class usrCntlMDMAuswertungen ' 'TabPage2 ' + Me.TabPage2.Controls.Add(Me.Label61) + Me.TabPage2.Controls.Add(Me.GroupBox19) Me.TabPage2.Controls.Add(Me.Label44) Me.TabPage2.Controls.Add(Me.GroupBox13) Me.TabPage2.Controls.Add(Me.Label35) @@ -1443,6 +1457,47 @@ Partial Class usrCntlMDMAuswertungen Me.TabPage2.Text = "Organisation" Me.TabPage2.UseVisualStyleBackColor = True ' + 'Label61 + ' + Me.Label61.AutoSize = True + Me.Label61.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label61.ForeColor = System.Drawing.SystemColors.ControlDarkDark + Me.Label61.Location = New System.Drawing.Point(21, 329) + Me.Label61.Name = "Label61" + Me.Label61.Size = New System.Drawing.Size(310, 17) + Me.Label61.TabIndex = 13 + Me.Label61.Text = "MDM Sammelabrechnung - Mautberichte" + ' + 'GroupBox19 + ' + Me.GroupBox19.Controls.Add(Me.Label62) + Me.GroupBox19.Controls.Add(Me.Button18) + Me.GroupBox19.Location = New System.Drawing.Point(20, 340) + Me.GroupBox19.Name = "GroupBox19" + Me.GroupBox19.Size = New System.Drawing.Size(697, 82) + Me.GroupBox19.TabIndex = 12 + Me.GroupBox19.TabStop = False + ' + 'Label62 + ' + Me.Label62.AutoSize = True + Me.Label62.Location = New System.Drawing.Point(144, 19) + Me.Label62.Name = "Label62" + Me.Label62.Size = New System.Drawing.Size(181, 13) + Me.Label62.TabIndex = 5 + Me.Label62.Text = "Mautsummenberichte (als CSV, PDF)" + ' + 'Button18 + ' + Me.Button18.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button18.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.Button18.Location = New System.Drawing.Point(6, 19) + Me.Button18.Name = "Button18" + Me.Button18.Size = New System.Drawing.Size(121, 46) + Me.Button18.TabIndex = 4 + Me.Button18.Text = "Mautbericht" + Me.Button18.UseVisualStyleBackColor = True + ' 'Label44 ' Me.Label44.AutoSize = True @@ -1450,35 +1505,103 @@ Partial Class usrCntlMDMAuswertungen Me.Label44.ForeColor = System.Drawing.SystemColors.ControlDarkDark Me.Label44.Location = New System.Drawing.Point(19, 143) Me.Label44.Name = "Label44" - Me.Label44.Size = New System.Drawing.Size(408, 17) + Me.Label44.Size = New System.Drawing.Size(436, 17) Me.Label44.TabIndex = 11 - Me.Label44.Text = "MDM Sammelabrechnung - Sachbearbeiter = Kriegner" + Me.Label44.Text = "MDM Sammelabrechnung - MDM Sammelrechnung (Art=6)" ' 'GroupBox13 ' + Me.GroupBox13.Controls.Add(Me.cboSachbearbeiter) + Me.GroupBox13.Controls.Add(Me.Label67) + Me.GroupBox13.Controls.Add(Me.dtRechnungsdatum) + Me.GroupBox13.Controls.Add(Me.Label66) + Me.GroupBox13.Controls.Add(Me.Label65) + Me.GroupBox13.Controls.Add(Me.Label64) + Me.GroupBox13.Controls.Add(Me.Label63) Me.GroupBox13.Controls.Add(Me.Label45) Me.GroupBox13.Controls.Add(Me.Button14) Me.GroupBox13.Location = New System.Drawing.Point(18, 154) Me.GroupBox13.Name = "GroupBox13" - Me.GroupBox13.Size = New System.Drawing.Size(697, 82) + Me.GroupBox13.Size = New System.Drawing.Size(697, 153) Me.GroupBox13.TabIndex = 10 Me.GroupBox13.TabStop = False + ' + 'cboSachbearbeiter + ' + Me.cboSachbearbeiter._allowedValuesFreiText = Nothing + Me.cboSachbearbeiter._allowFreiText = False + Me.cboSachbearbeiter._value = "" + Me.cboSachbearbeiter.FormattingEnabled = True + Me.cboSachbearbeiter.Location = New System.Drawing.Point(385, 18) + Me.cboSachbearbeiter.Name = "cboSachbearbeiter" + Me.cboSachbearbeiter.Size = New System.Drawing.Size(152, 21) + Me.cboSachbearbeiter.TabIndex = 29 + ' + 'Label67 + ' + Me.Label67.AutoSize = True + Me.Label67.Location = New System.Drawing.Point(297, 26) + Me.Label67.Name = "Label67" + Me.Label67.Size = New System.Drawing.Size(82, 13) + Me.Label67.TabIndex = 28 + Me.Label67.Text = "Sachbearbeiter:" + ' + 'dtRechnungsdatum + ' + Me.dtRechnungsdatum.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dtRechnungsdatum.Location = New System.Drawing.Point(147, 19) + Me.dtRechnungsdatum.Name = "dtRechnungsdatum" + Me.dtRechnungsdatum.Size = New System.Drawing.Size(103, 20) + Me.dtRechnungsdatum.TabIndex = 26 + ' + 'Label66 + ' + Me.Label66.AutoSize = True + Me.Label66.Location = New System.Drawing.Point(6, 25) + Me.Label66.Name = "Label66" + Me.Label66.Size = New System.Drawing.Size(94, 13) + Me.Label66.TabIndex = 27 + Me.Label66.Text = "Rechnungsdatum:" + ' + 'Label65 + ' + Me.Label65.Location = New System.Drawing.Point(144, 110) + Me.Label65.Name = "Label65" + Me.Label65.Size = New System.Drawing.Size(541, 17) + Me.Label65.TabIndex = 8 + Me.Label65.Text = "4. Porto/Papiere und Banküberweisung/Bankspesen berechnen" + ' + 'Label64 + ' + Me.Label64.Location = New System.Drawing.Point(144, 93) + Me.Label64.Name = "Label64" + Me.Label64.Size = New System.Drawing.Size(541, 17) + Me.Label64.TabIndex = 7 + Me.Label64.Text = "3. Rechnungstext im RK eintragen" + ' + 'Label63 + ' + Me.Label63.Location = New System.Drawing.Point(144, 78) + Me.Label63.Name = "Label63" + Me.Label63.Size = New System.Drawing.Size(541, 17) + Me.Label63.TabIndex = 6 + Me.Label63.Text = "2. Rechnung oder Gutschrift im RK eintragen, abhängig vom Sammelrechnungsbetrag (" & + "+/-)" ' 'Label45 ' - Me.Label45.AutoSize = True - Me.Label45.Location = New System.Drawing.Point(144, 19) + Me.Label45.Location = New System.Drawing.Point(144, 61) Me.Label45.Name = "Label45" - Me.Label45.Size = New System.Drawing.Size(407, 26) + Me.Label45.Size = New System.Drawing.Size(541, 17) Me.Label45.TabIndex = 5 - Me.Label45.Text = "Bei MDM Sammelrechnung (Art=6) werden alle Einträge auf ""KRIEGNER"" geändert, " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "da" & - "mit die FMZOLL Abrechnung die entsprechnde Zuweisung findet." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) + Me.Label45.Text = "1. Einträge auf Sachbearbeiter ändern, damit die FMZOLL Abrechnung die entsprechn" & + "de Zuweisung findet." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) ' 'Button14 ' Me.Button14.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button14.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) - Me.Button14.Location = New System.Drawing.Point(6, 19) + Me.Button14.Location = New System.Drawing.Point(9, 60) Me.Button14.Name = "Button14" Me.Button14.Size = New System.Drawing.Size(121, 49) Me.Button14.TabIndex = 4 @@ -2023,6 +2146,8 @@ Partial Class usrCntlMDMAuswertungen Me.GroupBox18.PerformLayout() Me.TabPage2.ResumeLayout(False) Me.TabPage2.PerformLayout() + Me.GroupBox19.ResumeLayout(False) + Me.GroupBox19.PerformLayout() Me.GroupBox13.ResumeLayout(False) Me.GroupBox13.PerformLayout() Me.GroupBox10.ResumeLayout(False) @@ -2208,4 +2333,15 @@ Partial Class usrCntlMDMAuswertungen Friend WithEvents TextBox2 As TextBox Friend WithEvents Label59 As Label Friend WithEvents Button17 As Button + Friend WithEvents Label61 As Label + Friend WithEvents GroupBox19 As GroupBox + Friend WithEvents Label62 As Label + Friend WithEvents Button18 As Button + Friend WithEvents Label63 As Label + Friend WithEvents Label64 As Label + Friend WithEvents Label65 As Label + Friend WithEvents dtRechnungsdatum As DateTimePicker + Friend WithEvents Label66 As Label + Friend WithEvents Label67 As Label + Friend WithEvents cboSachbearbeiter As VERAG_PROG_ALLGEMEIN.MyComboBox End Class diff --git a/SDL/mdm/usrCntlMDMAuswertungen.vb b/SDL/mdm/usrCntlMDMAuswertungen.vb index efcedd80..f574215c 100644 --- a/SDL/mdm/usrCntlMDMAuswertungen.vb +++ b/SDL/mdm/usrCntlMDMAuswertungen.vb @@ -1,13 +1,9 @@ -Imports Microsoft.Office.Interop.Outlook -Imports Microsoft.Office.Interop -Imports Microsoft.VisualBasic.FileIO -Imports System.Data.SqlClient -Imports System.Reflection -Imports VERAG_PROG_ALLGEMEIN -Imports System.Security.Cryptography.Xml +Imports System.Data.SqlClient Imports System.IO -Imports Tamir.SharpSsh.jsch -Imports sun.swing +Imports Microsoft.Office.Interop.Outlook +Imports Microsoft.VisualBasic.FileIO +Imports VERAG_PROG_ALLGEMEIN + Public Class usrCntlMDMAuswertungen @@ -62,6 +58,8 @@ Public Class usrCntlMDMAuswertungen cboIDSDateType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Leistungsdatum", "LDat")) cboIDSDateType.changeItem("RGDat") + cboSachbearbeiter.fillWithSQL("select distinct(sachbearbeiter) from Rechnungsausgang where Sammelrechnung=6 and Firma_ID=19", False, "FMZOLL", True) + If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Auswertungen_IDS", Me.FindForm) Then tbcntr.TabPages.Remove(tbIDS) End If @@ -974,9 +972,549 @@ Public Class usrCntlMDMAuswertungen Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL - If SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='KRIEGNER' where Sammelrechnung=6 and Firma_ID=19 and Sachbearbeiter<>'KRIEGNER' and Abfertigungsdatum> DATEADD(month,-3, GETDATE())", "FMZOLL") Then - MsgBox("Update erfolgreich.") + Dim ok As Boolean = True + + Dim Sachbearbeiter = cboSachbearbeiter._value + Dim varText As String = "" + Dim varNettozahlungsziel As Integer = 0 + Dim strFälligkeitsdatum As String + Dim strZahlbar As String + + Dim rechnungsdatum As Date = CDate(dtRechnungsdatum.Text) + + If rechnungsdatum > Today() Then + MsgBox("Rechnungsdatum liegt in der Zukunft, nicht möglich") + Exit Sub + End If + + If Sachbearbeiter = "" Then + MsgBox("Sachbearbeiter auswählen!") + Exit Sub + End If + + '---------------DONE + ' ' Sachbearbeiter im RK eintragen. + '140 Call SysCmd(acSysCmdSetStatus, "Sachbearbeiter im RK eintragen...") + '150 Call ReDruSchnSachbearbeiter + 'Update [Rechnungsausgang] SET [Sachbearbeiter] = @Sachbearbeiter WHERE([Firma_ID] = 1 Or [Firma_ID] = 15) And [Status] = 0 And [Sammelrechnung] = 6 And [Sachbearbeiter] <> @Sachbearbeiter And (SteuerpflichtigerGesamtbetrag <> 0 Or SteuerfreierGesamtbetrag <> 0); + + + '---------------DONE + ' ' Firma_ID im RK eintragen. + '180 Call SysCmd(acSysCmdSetStatus, "Firma_ID im RK eintragen...") + '190 Call ReDruSchnFirma_ID + 'Update [Rechnungsausgang] SET [Firma_ID] = @Firma_ID WHERE [Firma_ID] <> @Firma_ID And [Status] = 0 And [Sammelrechnung] = 6 And [Sachbearbeiter] = @Sachbearbeiter And (SteuerpflichtigerGesamtbetrag <> 0 Or SteuerfreierGesamtbetrag <> 0); + + + ' ' Rechnung oder Gutschrift im RK eintragen. + '220 Call SysCmd(acSysCmdSetStatus, "Re/Gu im RK eintragen...") + '230 Call ReDruSumReGu + + '---------------DONE + ' ' Rechnungstext im RK eintragen. + '260 Call SysCmd(acSysCmdSetStatus, "Text im RK eintragen...") + '270 Call Rechnungstext + + '---------------DONE + ' ' Porto/Papiere berechnen. + '300 Call SysCmd(acSysCmdSetStatus, "Porto/Papiere berechnen...") + '310 Call ReDruSchnPP + + '---------------DONE + ' ' Banküberweisung/Bankspesen berechnen + '340 Call SysCmd(acSysCmdSetStatus, "Banküberweisung/Bankspesen berechnen...") + '350 Call ReDruSchnBB + + + ' ' Druckinformationen im RK eintragen----- ALTER.......... + '380 Call SysCmd(acSysCmdSetStatus, "Druckinformationen im RK eintragen...") + '390 varDatumZeit = Now 'Druckdatum/Uhrzeit merken. + ' ' Parameter übergeben: Firma_ID, Status, Sammelrechnung, Sachbearbeiter, Buchungsjahr, Rechnungsdatum, DruckDatumZeit. + '400 strParameter = ParameterBereitstellen(Me![Firma_ID], 0, 6, Me![fldSachbearbeiter], Year(Me!fldRechnungsDatum), Me![fldRechnungsDatum], varDatumZeit) + '410 Set qdf = dbs.CreateQueryDef("") + + + ok = SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='" & Sachbearbeiter & "' where Sammelrechnung=6 and Firma_ID=19 and Sachbearbeiter<>'" & Sachbearbeiter & "' and Abfertigungsdatum = '" & dtRechnungsdatum.Value & "'", "FMZOLL") + Exit Sub + + + If Not ok Then MsgBox("Fehler") : Exit Sub + + Dim dtREGU As DataTable = SQL.loadDgvBySql("SELECT [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], isnull([Steuersatz %],0) as [Steuersatz %], cast([Lastschrift] as bit) as Lastschrift, Sum([SteuerpflichtigerGesamtbetrag]+[SteuerfreierGesamtbetrag]) AS Sammelrechnungsbetrag + FROM Rechnungsausgang + WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND [Sachbearbeiter] = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' + GROUP BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], [Steuersatz %], [Lastschrift]", "FMZOLL") + 'RECHNUNG ODER GUTSCHRIFT + If dtREGU.Rows.Count > 0 Then + + For Each r In dtREGU.Rows + + Dim BelegartenNr As Integer + Dim BelegartenKz As String + Dim BelegartenBez As String + Dim Vorzeichen As String + + If r("Sammelrechnungsbetrag") >= 0 Then + + BelegartenNr = 70 + BelegartenKz = "AR" + BelegartenBez = "Rechnung" + Vorzeichen = "+" + + Else + BelegartenNr = 71 + BelegartenKz = "AG" + BelegartenBez = "Gutschrift" + Vorzeichen = "-" + + End If + + Dim steuersatz As Double = Math.Floor(r("Steuersatz %")) + + ok = SQL.doSQL("UPDATE [Rechnungsausgang] SET [BelegartenNr] = " & BelegartenNr & ", [BelegartenKz] = '" & BelegartenKz & "' , [BelegartenBez] = '" & BelegartenBez & "' , [Vorzeichen] = '" & Vorzeichen & "' + WHERE [Firma_ID] = 19 AND [Status] = 0 AND [Sammelrechnung] = 6 AND [Sachbearbeiter] = '" & Sachbearbeiter & "' AND [RechnungsKundenNr] = " & r("RechnungsKundenNr") & " AND [Währungscode] = '" & r("Währungscode") & "' AND [Steuersatz %] = " & steuersatz & " AND [Lastschrift] = " & IIf(r("Lastschrift"), 1, 0) & "AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'", "FMZOLL") + + + If Not ok Then MsgBox("Rechnungsdruck wird abgebrochen." & vbCrLf & "Rechnungen/Gutschriften nicht gefunden.") : Exit Sub + + Next + + End If + + + Dim dtReText As DataTable = SQL.loadDgvBySql("SELECT [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], isnull([Steuersatz %],0) as [Steuersatz %], cast([Lastschrift] as bit) as Lastschrift, [RK_ID], [BelegartenNr],cast([Vorkasse] as bit) as Vorkasse, [Nettozahlungsziel], [OffertenNr], [RechnungsLandKz], [Text] + FROM Rechnungsausgang + WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND [Sachbearbeiter] = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' + ORDER BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], [Steuersatz %], [Lastschrift], [RK_ID]", "FMZOLL") + + 'Rechnungstext im RK eintragen + If dtReText.Rows.Count > 0 Then + + For Each r In dtReText.Rows + + Select Case r("BelegartenNr") + + Case 70 'RECHNUNG + If Not r("Vorkasse") Then + If r("Lastschrift") Then + varText = varText & "Der Rechnungsbetrag wurde durch erteilten Abbuchungsauftrag eingezogen." & vbCrLf + Else + If Not IsDBNull(r("RechnungsKundenNr")) Then + 'Zahlungsziel aus Kundenstamm. + Dim ZZ = SQL.getValueTxtBySql("SELECT Kunden.Zahlungsziel from Kunden WHERE Kunden.KundenNr=" & r("RechnungsKundenNr") & " AND Kunden.Zahlungsziel Is Not Null", "FMZOLL") + If ZZ <> "" AndAlso IsNumeric(ZZ) Then + varNettozahlungsziel = ZZ + strFälligkeitsdatum = DateAdd("d", varNettozahlungsziel, dtRechnungsdatum.Value).ToString("dd.MM.yyyy") + End If + End If + + 'Zahlungsziel aus Offertenstamm. + If strFälligkeitsdatum = "" Then + If Not IsDBNull(r("OffertenNr")) Then + Dim ZZOffert = SQL.getValueTxtBySql("SELECT Offertenstamm.Zahlungsziel FROM Offertenstamm WHERE Offertenstamm.OffertenNr = " & r("OffertenNr") & " AND Offertenstamm.Zahlungsziel IS NOT NULL", "FMZOLL") + If ZZOffert <> "" AndAlso IsNumeric(ZZOffert) Then + varNettozahlungsziel = ZZOffert + strFälligkeitsdatum = DateAdd("d", varNettozahlungsziel, dtRechnungsdatum.Value).ToString("dd.MM.yyyy") + End If + End If + + End If + + 'Zahlungsziel ermitteln. + If strFälligkeitsdatum = "" Then + If Not IsDBNull(r("RK_ID")) Then + 'Zahlungsziel bei Kreditaufwendungen. + Dim ZZRKID = SQL.getValueTxtBySql("Select Case [Preis], [Anzahl] From [RechnungsausgangPositionen] Where [RK_ID] = " & r("RK_ID") & " And [LeistungsNr] = 750 And [BerechnungsartNr] = 9", "FMZOLL") + If ZZRKID <> "" Then + strZahlbar = "Zahlbar innerhalb 10 Tagen abzüglich Pos. 750; ab 10 Tagen netto fällig." + Else + varNettozahlungsziel = 25 + strFälligkeitsdatum = DateAdd("d", varNettozahlungsziel, dtRechnungsdatum.Value).ToString("dd.MM.yyyy") + End If + End If + + End If + + + 'Fälligkeitstext in Landessprache + If strFälligkeitsdatum <> "" Then strZahlbar = "Rechnung zahlbar spätestens bis " & strFälligkeitsdatum & "!" + + If Not IsDBNull(r("RechnungsLandKz")) Then + + Dim ZZRLandKZ = SQL.getValueTxtBySql("SELECT tblZahlungszieltexte.Text FROM tblZahlungszieltexte WHERE tblZahlungszieltexte.LandKz='" & r("RechnungsLandKz") & "' AND tblZahlungszieltexte.Text Is Not Null", "FMZOLL") + If ZZRLandKZ <> "" Then + strZahlbar = ZZRLandKZ & " " & strFälligkeitsdatum & "!" + End If + + End If + + varText &= strZahlbar & vbCrLf + + End If + End If + + ' Text bei Zoll oder EUSt drucken + Dim Zoll = SQL.getValueTxtBySql("Select LeistungsNr From dbo.RechnungsausgangPositionen Where RK_ID = " & r("RK_ID") & " And LeistungsNr In (10, 60, 70)", "FMZOLL") + If Not IsDBNull(Zoll) AndAlso Zoll <> "" Then + varText = varText & "Alle Zollbelege bitte sofort auf Richtigkeit prüfen da Einspruch gemäß § 355 AO nur 1 Monat nach Datum des Zollbescheides möglich." & vbCrLf + End If + + Case 71 'GUTSCHRIFT + If r("Lastschrift") Then + varText = varText & "Der Gutschriftsbetrag wurde mit erteilten Abbuchungsauftrag verrechnet." & vbCrLf + End If + End Select + + ok = SQL.doSQL("Update [Rechnungsausgang] Set [Text] = '" & varText & "', [Nettozahlungsziel] = " & varNettozahlungsziel & " WHERE [RK_ID] = " & r("RK_ID"), "FMZOLL") + If Not ok Then MsgBox("Fehler") : Exit Sub + + varText = "" + varNettozahlungsziel = 0 + strFälligkeitsdatum = "" + + Next + + End If + + ' Die Abfrage ermittelt aus den Rechnungspositonen, + ' das Vorkommen (Anzahl Porto/Papiere) pro RechnungsKundenNr + ' Status=0, Sammelrechnung=6, LeistungsNr=440. + + Dim sqlString = "SELECT + Rechnungsausgang.Firma_ID, + Rechnungsausgang.Status, + Rechnungsausgang.Sammelrechnung, + Rechnungsausgang.Sachbearbeiter, + Rechnungsausgang.RechnungsKundenNr, + Rechnungsausgang.BelegartenNr, + Rechnungsausgang.Währungscode, + isnull(Rechnungsausgang.[Steuersatz %],0) as [Steuersatz %], + cast(Rechnungsausgang.Lastschrift as bit) as Lastschrift, + SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) AS AnzahlPP, + SUM(CASE WHEN LeistungsNr = 440 THEN 0 ELSE SteuerpflichtigerBetrag + SteuerfreierBetrag END) AS BetragExclusivPP + FROM + Rechnungsausgang + INNER JOIN + RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID + WHERE + Rechnungsausgang.Status = 0 + AND Rechnungsausgang.Sammelrechnung = 6 + AND Rechnungsausgang.Sachbearbeiter = '" & Sachbearbeiter & "' + AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' + + GROUP BY + Rechnungsausgang.Firma_ID, + Rechnungsausgang.Status, + Rechnungsausgang.Sammelrechnung, + Rechnungsausgang.Sachbearbeiter, + Rechnungsausgang.RechnungsKundenNr, + Rechnungsausgang.BelegartenNr, + Rechnungsausgang.Währungscode, + Rechnungsausgang.[Steuersatz %], + Rechnungsausgang.Lastschrift + HAVING + SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) > 0 + ORDER BY + Rechnungsausgang.Firma_ID, + Rechnungsausgang.Status, + Rechnungsausgang.Sammelrechnung, + Rechnungsausgang.Sachbearbeiter, + Rechnungsausgang.RechnungsKundenNr, + Rechnungsausgang.BelegartenNr, + Rechnungsausgang.Währungscode, + Rechnungsausgang.[Steuersatz %], + Rechnungsausgang.Lastschrift" + + Dim dtPP As DataTable = SQL.loadDgvBySql(sqlString, "FMZOLL") + + If dtPP.Rows.Count > 0 Then + + For Each r In dtPP.Rows + + Dim intZlr As Integer = 0 + + ' Bei BetragExclusivPP kleiner als 150€ wird 1x P.P. verrechnet, bei grösser/gleich 150€ wird kein P.P. verrechnet. + ' Zähler auf die Anzahl der P.P. Löschungen einstellen. + + If Not IsDBNull(r("BetragExclusivPP")) AndAlso r("BetragExclusivPP") > 0 Then + + If r("BetragExclusivPP") < 150 Then + intZlr = r("AnzahlPP") - 1 + Else + intZlr = r("AnzahlPP") + End If + Else + If (0 - r("BetragExclusivPP")) < 150 Then + intZlr = r("AnzahlPP") - 1 + Else + intZlr = r("AnzahlPP") - 1 + End If + + End If + + + If intZlr > 0 Then + + Dim steuersatz As Double = Math.Round(r("Steuersatz %"), 2) + Dim SteuersatzString As String = steuersatz.ToString.Replace(",", ".") + + ' Die Abfrage liest in der Tabelle Rechnungsausgang, + ' passend zu den durch die vorherige Abfrage bereitgestellten Parametern. + + Dim sqlStringRechnungen As String = "Select DISTINCT + Rechnungsausgang.OffertenNr, + Rechnungsausgang.RK_ID, + Rechnungsausgang.SteuerpflichtigerGesamtbetrag, + Rechnungsausgang.SteuerfreierGesamtbetrag, + Rechnungsausgang.upsize_ts + FROM Rechnungsausgang + WHERE + Rechnungsausgang.Firma_ID = " & r("Firma_ID") & " + And Rechnungsausgang.Status = " & r("Status") & " + And Rechnungsausgang.Sammelrechnung = " & r("Sammelrechnung") & " + And Rechnungsausgang.Sachbearbeiter = '" & Sachbearbeiter & "' + And Rechnungsausgang.RechnungsKundenNr = " & r("RechnungsKundenNr") & " + And Rechnungsausgang.BelegartenNr = " & r("BelegartenNr") & " + And Rechnungsausgang.Währungscode = '" & r("Währungscode") & "' + And Rechnungsausgang.[Steuersatz %] = " & SteuersatzString & " + And Rechnungsausgang.Lastschrift = " & IIf(r("Lastschrift"), 1, 0) & " + AND cast(Rechnungsausgang.Abfertigungsdatum as Date) = '" & rechnungsdatum & "' + ORDER by + Rechnungsausgang.OffertenNr" + + + + + Dim dtRechnungen As DataTable = SQL.loadDgvBySql(sqlStringRechnungen, "FMZOLL") + + If dtRechnungen.Rows.Count > 0 Then + + For Each re In dtRechnungen.Rows + + + + Dim dtREPOSANZ As DataTable = SQL.loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing], Anzahl, SteuerpflichtigerBetrag, SteuerfreierBetrag,upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 440", "FMZOLL") + + If dtREPOSANZ.Rows.Count > 0 Then + + Dim stgesBetr = re("SteuerpflichtigerGesamtbetrag") + Dim stfregesBetr = re("SteuerfreierGesamtbetrag") + + Dim RECHNUNG As New cRechnungsausgang(re("RK_ID")) + + For Each row In dtREPOSANZ.Rows + + intZlr = intZlr - row("Anzahl") + stgesBetr = stgesBetr - row("SteuerpflichtigerBetrag") + stfregesBetr = stfregesBetr - row("SteuerfreierBetrag") + If RECHNUNG.DELETE_POSITIONEN(RECHNUNG.RK_ID, row("LeistungsNr"), row("Steuerpflichtig"), row("LeistungsBez"), row("IndexZkteing")) Then + RECHNUNG.SteuerfreierGesamtbetrag = stfregesBetr + RECHNUNG.SteuerpflichtigerGesamtbetrag = stgesBetr + RECHNUNG.SAVE() + End If + + If intZlr = 0 Then Exit For + + Next + End If + + + + Next + + End If + End If + + + + + + + Next + + End If + + + 'Berechnet Banküberweisung/Bankspesen. + + + Dim sqlBB = " Select Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift + From dbo.Rechnungsausgang + Where Status = 0 + And Sammelrechnung = 6 + And Sachbearbeiter ='" & Sachbearbeiter & "' + AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' + + Group By Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift + Order By Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift" + + + Dim dtBB As DataTable = SQL.loadDgvBySql(sqlBB, "FMZOLL") + + If dtBB.Rows.Count > 0 Then + + For Each r In dtBB.Rows + 'spSelectReDruSchnSumBS415 + Dim steuersatz As Double = Math.Round(r("Steuersatz %"), 2) + Dim SteuersatzString As String = steuersatz.ToString.Replace(",", ".") + + Dim sum As DataTable = SQL.loadDgvBySql("SELECT SUM(dbo.RechnungsausgangPositionen.Preis * dbo.RechnungsausgangPositionen.Anzahl) AS [Summe von Preis] + FROM dbo.Rechnungsausgang INNER JOIN + dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID INNER JOIN + dbo.Leistungen ON dbo.RechnungsausgangPositionen.LeistungsNr = dbo.Leistungen.LeistungsNr + WHERE (dbo.Rechnungsausgang.Firma_ID = " & r("Firma_ID") & ") + AND (dbo.Rechnungsausgang.Status = " & r("Status") & ") + AND (dbo.Rechnungsausgang.Sammelrechnung = " & r("Sammelrechnung") & ") + AND (dbo.Rechnungsausgang.Sachbearbeiter = '" & r("Sachbearbeiter") & "') + AND (dbo.Rechnungsausgang.RechnungsKundenNr = " & r("RechnungsKundenNr") & ") + AND (dbo.Rechnungsausgang.BelegartenNr =" & r("BelegartenNr") & ") + AND (dbo.Rechnungsausgang.Währungscode = '" & r("Währungscode") & "') + AND (dbo.Rechnungsausgang.[Steuersatz %] =" & SteuersatzString & ") + AND (dbo.Rechnungsausgang.Lastschrift =" & IIf(r("Lastschrift"), 1, 0) & ") + AND (dbo.Leistungen.BS415 = 1)", "FMZOLL",) + If sum.Rows.Count > 0 Then + + For Each rowsum In sum.Rows + + Dim sumCurrenRow As Double = rowsum("Summe von Preis") + + If sumCurrenRow <> 0 Then + + Dim dtBankspesen As DataTable = SQL.loadDgvBySql("SELECT KundenNr, [Bankspesen %], [Bankspesen Mindestbetrag] FROM dbo.Kunden where KundenNr = " & r("RechnungsKundenNr"), "FMZOLL") + + If dtBankspesen.Rows.Count > 0 Then + + For Each rowBS In dtBankspesen.Rows + + If rowBS("Bankspesen %") = 0 And rowBS("Bankspesen Mindestbetrag") = 0 Then + + Else + + Dim query As String = "SELECT DISTINCT OffertenNr, RK_ID, SteuerpflichtigerGesamtbetrag, SteuerfreierGesamtbetrag, upsize_ts FROM Rechnungsausgang + WHERE (dbo.Rechnungsausgang.Firma_ID = " & r("Firma_ID") & ") + AND (Status = " & r("Status") & ") + AND (Sammelrechnung = " & r("Sammelrechnung") & ") + AND (Sachbearbeiter = '" & r("Sachbearbeiter") & "') + AND (RechnungsKundenNr = " & r("RechnungsKundenNr") & ") + AND (BelegartenNr =" & r("BelegartenNr") & ") + AND (Währungscode = '" & r("Währungscode") & "') + AND ([Steuersatz %] =" & SteuersatzString & ") + AND (Lastschrift =" & IIf(r("Lastschrift"), 1, 0) & ") + ORDER BY OffertenNr" + + Dim dtRechnung As DataTable = SQL.loadDgvBySql(query, "FMZOLL") + + If dtRechnung.Rows.Count > 0 Then + + For Each re In dtRechnung.Rows + + Dim steuerpflichtigerGesamtbetrag = re("SteuerpflichtigerGesamtbetrag") + Dim steuerfreiegerGesamtbetrag = re("SteuerfreierGesamtbetrag") + + Dim dt415 As DataTable = SQL.loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing],SteuerpflichtigerBetrag, SteuerfreierBetrag, upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 415", "FMZOLL") + + If dt415.Rows.Count > 0 Then + + For Each r415 In dt415.Rows + + steuerpflichtigerGesamtbetrag -= dt415("SteuerpflichtigerBetrag") + steuerfreiegerGesamtbetrag -= dt415("SteuerfreierBetrag") + + Dim RECHNUNG As New cRechnungsausgang(re("RK_ID")) + + If RECHNUNG.DELETE_POSITIONEN(RECHNUNG.RK_ID, r415("LeistungsNr"), r415("Steuerpflichtig"), r415("LeistungsBez"), r415("IndexZkteing")) Then + RECHNUNG.SteuerfreierGesamtbetrag = steuerfreiegerGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag = steuerpflichtigerGesamtbetrag + RECHNUNG.SAVE() + End If + + + + Next + + + + End If + + + Next + + + If sumCurrenRow > 0 Then + Dim RElastEntry As DataRow = dtRechnung.Rows(dtRechnung.Rows.Count - 1) + + Dim NEWPOS As New cRechnungsausgangPositionen(RElastEntry("RK_ID")) + NEWPOS.Anzahl = 1 + NEWPOS.LeistungsNr = 415 + If steuersatz = 0 Then + NEWPOS.Steuerpflichtig = False + Else + NEWPOS.Steuerpflichtig = SQL.DLookup("Steuerpflichtig", "Leistungen", "LeistungsNr= 415", "FMZOLL") + End If + NEWPOS.LeistungsBez = "Überweisungs/Bankspesen" + + Dim preis As Double = 0 + If rowBS("Bankspesen %") > 0 Then + + If sumCurrenRow > 0 Then + + preis = Math.Floor(sumCurrenRow * rowBS("Bankspesen %") + 0.5) + Else + preis = Math.Floor(0 - sumCurrenRow * rowBS("Bankspesen %") + 0.5) + + End If + Else + preis = 0 + End If + + If preis < rowBS("Bankspesen Mindestbetrag") Then + preis = rowBS("Bankspesen Mindestbetrag") + End If + + If sumCurrenRow < 0 Then + preis = 0 - preis + End If + + Dim RECHNUNG As New cRechnungsausgang(RElastEntry("RK_ID")) + + If NEWPOS.Steuerpflichtig Then + NEWPOS.SteuerpflichtigerBetrag = preis + RECHNUNG.SteuerpflichtigerGesamtbetrag = +preis + + Else + NEWPOS.SteuerfreierBetrag = preis + RECHNUNG.SteuerfreierGesamtbetrag = +preis + + End If + + NEWPOS.Preis = preis + NEWPOS.INSERT(RElastEntry("RK_ID")) + RECHNUNG.SAVE() + + + + End If + + End If + + End If + + Next + + End If + End If + + Next + + End If + + + Next + + End If + + End Sub Private Sub Button16_Click(sender As Object, e As EventArgs) Handles btnContractdaten.Click @@ -986,7 +1524,7 @@ Public Class usrCntlMDMAuswertungen Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim frm As New Form Dim dgv As New DataGridView() - Dim dt As DataTable = SQL.loadDgvBySql("SELECT dbo.CLFBody.PKHistory, + Dim dt As DataTable = SQL.loadDgvBySql("Select dbo.CLFBody.PKHistory, dbo.CLFBody.PKFileName, dbo.CLFBody.PKLine, dbo.CLFBody.RecordType, @@ -1389,11 +1927,10 @@ Public Class usrCntlMDMAuswertungen Dim cnt = 1 - For Each r As DataRow In Table.Rows - + For Each r As DataRow In table.Rows If cnt Mod 10 = 0 Then - txtIDSEinarbeitung.Text = cnt & " / " & Table.Rows.Count - Dim proz As Double = (cnt / Table.Rows.Count) * 100 + txtIDSEinarbeitung.Text = cnt & " / " & table.Rows.Count + Dim proz As Double = (cnt / table.Rows.Count) * 100 ProgressBar.Value = proz lblProz.Text = proz.ToString("N2") & " %" GroupBox7.Refresh() @@ -1402,7 +1939,7 @@ Public Class usrCntlMDMAuswertungen cnt += 1 Next ProgressBar.Value = 100 - txtIDSEinarbeitung.Text = Table.Rows.Count & " / " & Table.Rows.Count + txtIDSEinarbeitung.Text = table.Rows.Count & " / " & table.Rows.Count lblProz.Text = "100.00 %" End If @@ -1419,6 +1956,10 @@ Public Class usrCntlMDMAuswertungen Private Sub UsrCntlMSE_KonvertCSV1_Load(sender As Object, e As EventArgs) Handles UsrCntlMSE_KonvertCSV1.Load End Sub + + Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click + + End Sub End Class diff --git a/SDL/mdm/usrcntlFremdrechnungen.vb b/SDL/mdm/usrcntlFremdrechnungen.vb index 515d1fc3..3570460e 100644 --- a/SDL/mdm/usrcntlFremdrechnungen.vb +++ b/SDL/mdm/usrcntlFremdrechnungen.vb @@ -60,7 +60,7 @@ Public Class usrcntlFremdrechnungen btnSDL_MautMSE.Visible = True 'dt.Select("SDLNr=208").Count > 0 btnSDL_FREJUS.Visible = False ' dt.Select("SDLNr=207").Count > 0 btnSDL_RMC.Visible = True - btnSDL_Alle.Visible = False + btnSDL_Alle.Visible = True 'End If SplitContainer1.Panel2Collapsed = False diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb b/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb index 3394f4c0..e8568007 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb @@ -327,7 +327,7 @@ Public Class cIDS End Function - Public Shared Function GET_Antraege_IDS(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Optional Archiv As Object = Nothing) As Boolean + Public Shared Function GET_Antraege_IDS(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Optional Archiv As Boolean = False) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -349,8 +349,8 @@ Public Class cIDS AND tblIDSTransactionsNew.KdNrVERAG = @AdressenNr AND tbl_IDS_Länder.[Lieferland_ISO2] = @LandKZ AND tblIDSTransactionsNew.[VATAmount] <> 0 - AND isnull(UStVAn_ID,0) " & IIf(Archiv IsNot Nothing AndAlso Archiv, " <> 0 ", " = 0 ") & - "GROUP BY + " & IIf(Archiv, " ", " AND isnull(UStVAn_ID,0) = 0 ") & " + GROUP BY tblIDSTransactionsNew.KdNrVERAG, tblIDSTransactionsNew.[YearMonthDay], ISNULL(tblIDSTransactionsNew.[OBONumber], @@ -365,7 +365,6 @@ Public Class cIDS cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@bis", bis) cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) - If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) Dim dr = cmd.ExecuteReader() dt.Load(dr) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cRMC.vb b/VERAG_PROG_ALLGEMEIN/Classes/cRMC.vb index 6acde783..98e2ec48 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cRMC.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cRMC.vb @@ -159,7 +159,7 @@ Public Class cRMC End Function - Public Shared Function GET_Antraege_RMC(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Optional Archiv As Object = Nothing) As Boolean + Public Shared Function GET_Antraege_RMC(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Optional Archiv As Boolean = False) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -168,7 +168,7 @@ Public Class cRMC Using cmd As New SqlCommand(" SELECT rmc_reDatum,rmc_kdNr,[rmc_reNr],sum([rmc_betragNetto])[rmc_betragNetto],sum([rmc_betragMWST])[rmc_betragMWST] ,sum([rmc_betragBrutto] )[rmc_betragBrutto], [rmc_waehrung], sum([rmc_euroBrutto])[rmc_euroBrutto], rmc_daId FROM [tblRMCImport] INNER JOIN Adressen as adr on rmc_kdNr=adr.[WölflKundenNr] where cast(rmc_reDatum as date) between @von and @bis and AdressenNr=@AdressenNr - AND rmc_landKZ ='" & LandKZ & "'" & If(Archiv, " And rmc_archiv =@Archiv ", "") & " + AND rmc_landKZ ='" & LandKZ & "'" & IIf(Not Archiv, " And rmc_archiv = 0 ", "") & " group by rmc_reDatum,rmc_kdNr,[rmc_reNr],[rmc_waehrung], rmc_daId having sum([rmc_betragMWST])>0 order by rmc_reDatum", conn) @@ -176,7 +176,6 @@ Public Class cRMC cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@bis", bis) cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) - If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) Dim dr = cmd.ExecuteReader() dt.Load(dr) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb index 92807cae..65315d52 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb @@ -1,6 +1,7 @@ Imports System.Data.SqlClient Imports System.Reflection Imports System.Windows.Forms +Imports com.sun.org.apache.xpath.internal.operations 'Imports DocumentFormat.OpenXml.Drawing.Charts 'Imports DocumentFormat.OpenXml.Spreadsheet @@ -563,14 +564,28 @@ Public Class cRechnungsausgang End If Return True End Function - Public Function SAVE_ANHAENGE(RK_ID) As Boolean - If DELETE_ANHAENGE() Then ' zuerst Einträge löschen... - 'ORDER_ANHAENGE() ' ... dann ordnen ... - For Each p In ANHAENGE - If Not p.INSERT(RK_ID) Then Return False ' ... dann insert - Next - Else : Return False - End If + Public Function SAVE_ANHAENGE(RK_ID As Integer, Optional delete As Boolean = True) As Boolean + + Select Case delete + + Case 1 + + If DELETE_ANHAENGE() Then + For Each p In ANHAENGE + If Not p.INSERT(RK_ID) Then Return False + Next + Else + Return False + End If + + Case Else + + For Each p In ANHAENGE + If Not p.INSERT(RK_ID) Then Return False + Next + + End Select + Return True End Function @@ -666,6 +681,11 @@ Public Class cRechnungsausgang Return SQL.doSQL(sqlstr, "FMZOLL") End Function + Public Function DELETE_POSITIONEN(RK_ID As Integer, LeistungsNr As Integer, Steuerpflichtig As Boolean, LeistungsBez As String, IndexZkteingang As Integer) As Boolean 'obj As Object, tablename As String, where As String) As Boolean + Dim sqlstr = " DELETE FROM [RechnungsausgangPositionen] WHERE RK_ID=" & RK_ID & " AND LeistungsNr = " & LeistungsNr & " and LeistungsBez = '" & LeistungsBez & "' And IndexZkteing = " & IndexZkteingang & " AND Steuerpflichtig =" & IIf(Steuerpflichtig, 1, 0) + Return SQL.doSQL(sqlstr, "FMZOLL") + End Function + Public Function DELETE_ANHAENGE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean Dim sqlstr = " DELETE FROM [RechnungsausgangAnhaenge] WHERE RK_ID=" & Me.RK_ID Return SQL.doSQL(sqlstr, "FMZOLL") diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb b/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb index fcfaad8c..c3621543 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cTrdInvoice.vb @@ -187,7 +187,7 @@ Public Class cTrdInvoice End Function - Public Shared Function GET_RECHNUNGEN(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, Optional Archiv As Object = Nothing) As Boolean + Public Shared Function GET_RECHNUNGEN(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, Optional Archiv As Boolean = False) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -195,13 +195,12 @@ Public Class cTrdInvoice Using cmd As New SqlCommand(" SELECT tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer, tblTrdinInvoice.SteuerbetragLokal, tblTrdinInvoice.UStVAn_ID FROM tblTrdinInvoice - WHERE tblTrdinInvoice.Rechnungsdatum Between @von And @bis AND tblTrdinInvoice.SteuerbetragLokal<>0 AND tblTrdinInvoice.RechnungsKundenNr=@AdressenNr AND tblTrdinInvoice.WährungLokal='EUR' AND isnull(tblTrdinInvoice.UStVAn_ID,0) = " & IIf(Archiv IsNot Nothing AndAlso Archiv, 1, 0) & " + WHERE tblTrdinInvoice.Rechnungsdatum Between @von And @bis AND tblTrdinInvoice.SteuerbetragLokal<>0 AND tblTrdinInvoice.RechnungsKundenNr=@AdressenNr AND tblTrdinInvoice.WährungLokal='EUR'" & IIf(Archiv, " ", " AND isnull(tblTrdinInvoice.UStVAn_ID,0) = 0 ") & " ORDER BY tblTrdinInvoice.Rechnungsdatum, tblTrdinInvoice.Rechnungsnummer", conn) cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@bis", bis) cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) - If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) Dim dr = cmd.ExecuteReader() dt.Load(dr) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb b/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb index a59b825d..5e25d5c7 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb @@ -1342,7 +1342,7 @@ Public Class cUTA End Function - Public Shared Function GET_Antraege_UTA(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Wahrungscode As String, Optional Archiv As Object = Nothing) As Boolean + Public Shared Function GET_Antraege_UTA(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Wahrungscode As String, Optional Archiv As Object = Nothing) As Boolean ' Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -1352,14 +1352,13 @@ Public Class cUTA Sum([Gesamtbetrag_Brutto_in_Lieferlandwährung]-[Gesamtbetrag_Netto_in_Lieferlandwährung]) AS Umsatzsteuerbetrag_in_Lieferlandwährung, Lieferlandwährung_ISO, Sum([Gesamtbetrag_Brutto_in_Darstellwährung]-[Gesamtbetrag_Netto_in_Darstellwährung]) AS Umsatzsteuerbetrag_in_Darstellwährung, Darstellwährung_ISO, daId FROM [tblUTAImportNew] INNER JOIN Adressen ON [tblUTAImportNew].Kundennummer = Adressen.UTAKundenNr - WHERE ([tblUTAImportNew].Rechnungsdatum Between '" & von.ToShortDateString & "' And '" & bis.ToShortDateString & "' AND [tblUTAImportNew].Lieferland_ISO2='" & LandKZ & "' AND [tblUTAImportNew].Lieferlandwährung_ISO='" & Wahrungscode & "' AND Adressen.AdressenNr=" & KundenNr & " AND charged = 1 AND isnull(tblUTAImportNew.UStVAn_ID,0) = " & IIf(Archiv IsNot Nothing AndAlso Archiv, 1, 0) & " ) + WHERE ([tblUTAImportNew].Rechnungsdatum Between '" & von.ToShortDateString & "' And '" & bis.ToShortDateString & "' AND [tblUTAImportNew].Lieferland_ISO2='" & LandKZ & "' AND [tblUTAImportNew].Lieferlandwährung_ISO='" & Wahrungscode & "' AND Adressen.AdressenNr=" & KundenNr & " AND charged = 1 " & IIf(Archiv, " ", " AND isnull(tblUTAImportNew.UStVAn_ID,0) = 0 ") & " ) GROUP BY [tblUTAImportNew].Rechnungsdatum, [tblUTAImportNew].Rechnungsnummer_pro_Lieferland, Lieferlandwährung_ISO ,Darstellwährung_ISO,Adressen.AdressenNr,[tblUTAImportNew].Kundennummer, daId HAVING (((Sum([Gesamtbetrag_Brutto_in_Lieferlandwährung]-[Gesamtbetrag_Netto_in_Lieferlandwährung]))<>0));", conn) cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@bis", bis) cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) - If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) Dim dr = cmd.ExecuteReader() dt.Load(dr) diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb index 95c248f2..f9cfe3b7 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/MSE/cMSEAPI.vb @@ -1359,7 +1359,7 @@ Public Class cMSEAPI End Sub - Public Shared Function GET_Antraege_MSE(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Wahrungscode As String, Optional Archiv As Object = Nothing) As Boolean + Public Shared Function GET_Antraege_MSE(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Wahrungscode As String, Optional Archiv As Boolean = False) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -1370,14 +1370,13 @@ Public Class cMSEAPI left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id] 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.customer_number = cust.customer_id and bills.invoice_date = inv.invoice_date and inv.country = trans.transaction_country - where bills.invoice_date Between '" & von & "' And '" & bis & "'and trans.charged = 1 and cust.[partner_customer_number] = " & KundenNr & " and trans.transaction_country = '" & LandKZ & "' and trans.original_currency = '" & Wahrungscode & "' AND isnull(UStVAn_ID,0) = " & IIf(Archiv IsNot Nothing AndAlso Archiv, 1, 0) & " + where bills.invoice_date Between '" & von & "' And '" & bis & "'and trans.charged = 1 and cust.[partner_customer_number] = " & KundenNr & " and trans.transaction_country = '" & LandKZ & "' and trans.original_currency = '" & Wahrungscode & "'" & IIf(Archiv, " ", " AND isnull(UStVAn_ID,0) = 0 ") & " group by bills.invoice_date, bills.invoice_number, cust.[customer_id], bills.specification_page_name, trans.original_currency, inv.daId) as temp where temp.UST <> 0", conn) cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@bis", bis) cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) - If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) Dim dr = cmd.ExecuteReader() dt.Load(dr)