diff --git a/SDL/Fakturierung/cAutomailversand.vb b/SDL/Fakturierung/cAutomailversand.vb index 7ee77765..82b085ff 100644 --- a/SDL/Fakturierung/cAutomailversand.vb +++ b/SDL/Fakturierung/cAutomailversand.vb @@ -134,7 +134,7 @@ Public Class cAutomailversand Dim MailtoBCC As String = "" - setEmpfaengerMail_SR(SR_DT, AD, MailTo, MailtoCC, MailtoBCC, FirmaID, SammelrechungArt) + setandcheckEmpfaengerMail_SR(SR_DT, AD, MailTo, MailtoCC, MailtoBCC, FirmaID, SammelrechungArt) 'im TESTSYSTEM bewusst die Empfänger leeren! @@ -279,7 +279,7 @@ Public Class cAutomailversand FISKAL = New cFiskal_Daten(r.Item("RechnungsKundenNr")) - setEmpfaengerMail_ER(SPEDBUCH, AD, MailTo, MailtoCC, MailtoBCC, "") + setAndCheckEmpfaengerMail_ER(SPEDBUCH, AD, MailTo, MailtoCC, MailtoBCC, "") If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then @@ -1747,7 +1747,7 @@ Public Class cAutomailversand End Function - Private Function setEmpfaengerMail_ER(ByRef SPEDBUCH As cSpeditionsbuch, ByRef AD As cAdressen, ByRef EMAILTMP As String, ByRef EMAILTMPCC As String, ByRef EMAILTMPBCC As String, ByRef email_receipt As String) + Public Shared Function setAndCheckEmpfaengerMail_ER(ByRef SPEDBUCH As cSpeditionsbuch, ByRef AD As cAdressen, ByRef EMAILTMP As String, ByRef EMAILTMPCC As String, ByRef EMAILTMPBCC As String, ByRef email_receipt As String) As String If SPEDBUCH.FilialenNr = "4801" Or SPEDBUCH.FilialenNr = "4802" Then email_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(AD.AdressenNr, "Rechnung an (ATILLA)") @@ -1787,9 +1787,16 @@ Public Class cAutomailversand End If + If EMAILTMP = "" Then + If AD.E_Mail IsNot Nothing AndAlso AD.E_Mail <> "" Then EMAILTMP &= AD.E_Mail & ";" + If AD.E_Mail2 IsNot Nothing AndAlso AD.E_Mail2 <> "" Then EMAILTMP &= AD.E_Mail2 & ";" + End If + + Return EMAILTMP & EMAILTMPCC + End Function - Private Function setEmpfaengerMail_SR(ByRef SR_DT As DataTable, ByRef AD As cAdressen, ByRef EMAILTMP As String, ByRef EMAILTMPCC As String, ByRef EMAILTMPBCC As String, ByRef FirmaID As Integer, ByRef SammelrechungArt As String) + Public Shared Function setandcheckEmpfaengerMail_SR(ByRef SR_DT As DataTable, ByRef AD As cAdressen, ByRef EMAILTMP As String, ByRef EMAILTMPCC As String, ByRef EMAILTMPBCC As String, ByRef FirmaID As Integer, ByRef SammelrechungArt As String) As String If SammelrechungArt <> 6 Then @@ -1820,6 +1827,16 @@ Public Class cAutomailversand End If + If EMAILTMP = "" And EMAILTMPCC = "" And EMAILTMPBCC = "" Then + + If AD.E_Mail IsNot Nothing AndAlso AD.E_Mail <> "" Then EMAILTMP &= AD.E_Mail & ";" + If AD.E_Mail2 IsNot Nothing AndAlso AD.E_Mail2 <> "" Then EMAILTMP &= AD.E_Mail2 & ";" + + End If + + + Return EMAILTMP & EMAILTMPCC + End Function Private Function getAbertigungsNr(counter As Integer) As String diff --git a/SDL/Fakturierung/frmAbrechnungHandling.vb b/SDL/Fakturierung/frmAbrechnungHandling.vb index 105f4383..dbf626b6 100644 --- a/SDL/Fakturierung/frmAbrechnungHandling.vb +++ b/SDL/Fakturierung/frmAbrechnungHandling.vb @@ -23,6 +23,16 @@ Public Class frmAbrechnungHandling dgvHandling.DataSource = dt End If + For Each col As DataGridViewColumn In dgvHandling.Columns + If col.ValueType Is GetType(Double) Then + With col.DefaultCellStyle + .Alignment = DataGridViewContentAlignment.MiddleRight + .Format = "N2" + End With + End If + Next + + Me.Text = title End Sub diff --git a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb index 4d6a2cb9..8e95ca4c 100644 --- a/SDL/Fakturierung/frmFaktSammelRgDrucken.vb +++ b/SDL/Fakturierung/frmFaktSammelRgDrucken.vb @@ -676,6 +676,18 @@ Public Class frmFaktSammelRgDrucken Dim abfertigungsarten = getValues() + Dim func As New cAutomailversand + For Each r In MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Where(Function(x) x.Cells("RENR").Value Is Nothing OrElse IsDBNull(x.Cells("RENR").Value)) + Dim ADR As New cAdressen(r.Cells("RechnungsKundenNr").Value) + If func.setandcheckEmpfaengerMail_SR(Nothing, ADR, "", "", "", Firma, Sammelrechung) = "" Then + MsgBox("Bei Kunde " & r.Cells("RechnungsKundenNr").Value & " fehlt der Email-Empfänger!" & vbNewLine & "Vorgang wird abgebrochen") + Exit Sub + End If + + Next + + + For Each r In MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Where(Function(x) x.Cells("RENR").Value Is Nothing OrElse IsDBNull(x.Cells("RENR").Value)) Me.Enabled = False Me.Cursor = Cursors.WaitCursor diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index 075fd699..2672ea20 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -3484,6 +3484,12 @@ Public Class usrCntlFaktAbrechnung If cbxAUTOMailversand.Checked AndAlso (Not RECHNUNG.Automailversand Or RECHNUNG.RechnungsDatum Is Nothing) Then If cAutomailversand.automRechnungsversand_aktivieren(showMessageBox, RECHNUNG.Sammelrechnung = 0) Then + Dim fun As New cAutomailversand + Dim AD As VERAG_PROG_ALLGEMEIN.cAdressen = kdFirmaRechnungAn.KdData_ADRESSEN + If fun.setAndCheckEmpfaengerMail_ER(SPEDBUCH, AD, "", "", "", "") = "" Then + MsgBox("Bei diesem Kunden ist kein EMail-Empfänger hinterlegt!" & vbNewLine & "Automailversand kann nicht gesetzt werden.") : Exit Sub + End If + If RECHNUNG.RechnungsDatum Is Nothing Then 'LAUT AUSSAGE VON VERR. IMMER HEUTIGES DATUM! diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index 68ca9ea0..4783c019 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -3337,7 +3337,7 @@ Public Class frmMDM_USTVAntrag If UStVAn_ID <= 0 Then Exit Sub - .SET_SQL("SELECT [UStVAn_ID] ,[UStVEr_ID],[UStVEr_USteuerbetragEUR],[Belegdatum],[Belegnummer],[GutschriftsDatum],[GutschriftsNr],UStVEr_VZ,UStVEr_RZVZ,UStVEr_Bank,[Berufungsdatum],[Berufungshöhe],[Berufungsgrund],[Bemerkung],[UStVEr_Umrechnungskurs],[UStVEr_USteuerbetrag],[UStVEr_Sachbearbeiter],[UStVEr_Zeitstempel] + .SET_SQL("SELECT [UStVAn_ID] ,[UStVEr_ID],[UStVEr_USteuerbetragEUR],[Belegdatum],[Belegnummer],[GutschriftsDatum],[GutschriftsNr],UStVEr_VZ,UStVEr_RZVZ,UStVEr_Bank,UStVEr_Differenz,[Berufungsdatum],[Berufungshöhe],[Berufungsgrund],[Bemerkung],[UStVEr_Umrechnungskurs],[UStVEr_USteuerbetrag],[UStVEr_Sachbearbeiter],[UStVEr_Zeitstempel] FROM [tblUStVErstattung] where UStVAn_ID=" & UStVAn_ID & " ORDER BY UStVEr_ID", "FMZOLL") .LOAD() @@ -3362,8 +3362,8 @@ Public Class frmMDM_USTVAntrag .Columns("GutschriftsDatum").HeaderText = "GS-Datum" .Columns("GutschriftsNr").HeaderText = "GS-Nr" - .Columns("GutschriftsDatum").Width = 80 - .Columns("GutschriftsNr").Width = 130 + .Columns("GutschriftsDatum").Width = 70 + .Columns("GutschriftsNr").Width = 100 .Columns("Berufungsdatum").HeaderText = "BE-Datum" @@ -3373,8 +3373,21 @@ Public Class frmMDM_USTVAntrag .Columns("UStVEr_VZ").HeaderText = "VZ" .Columns("UStVEr_RZVZ").HeaderText = "RZVZ" .Columns("UStVEr_Bank").HeaderText = "Bank" + .Columns("UStVEr_Differenz").HeaderText = "Diff," - .Columns("Berufungsdatum").Width = 80 + .Columns("UStVEr_VZ").DefaultCellStyle.Format = "N2" + .Columns("UStVEr_VZ").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight + + .Columns("UStVEr_RZVZ").DefaultCellStyle.Format = "N2" + .Columns("UStVEr_RZVZ").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight + + .Columns("UStVEr_Bank").DefaultCellStyle.Format = "N2" + .Columns("UStVEr_Bank").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight + + .Columns("UStVEr_Differenz").DefaultCellStyle.Format = "N2" + .Columns("UStVEr_Differenz").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight + + .Columns("Berufungsdatum").Width = 70 .Columns("Berufungshöhe").Width = 80 .Columns("Berufungsgrund").Width = 100 .Columns("Bemerkung").Width = 200 diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb index 58584bc3..adfce006 100644 --- a/SDL/USTV/usrCntlUSTV.vb +++ b/SDL/USTV/usrCntlUSTV.vb @@ -1834,7 +1834,12 @@ Public Class usrCntlUSTV Dim dt = SQL.loadDgvBySql(sqlStr, "FMZOLL") If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then - cProgramFunctions.genExcelFromDT_NEW(dt, ,, "MWST-Eingang " & Today.ToShortDateString,,, True,,,,,, {"L1:Q" & (dt.Rows.Count + 1)}, {"D", "E", "I", "J", "M", "O", "N", "Q", "R", "S"}) + Dim formeln As New Dictionary(Of String, String) From { + {"U", "=T{0}-P{0}"}, + {"AB", "=W{0}-T{0}"} + } + + cProgramFunctions.genExcelFromDT_NEW(dt, ,, "MWST Eingänge " & Today.ToShortDateString,,, True,,,,,, {"L1:AB" & (dt.Rows.Count + 1)}, {"D", "E", "I", "J", "M", "O", "N", "Q", "R", "S"}, formeln) Else @@ -1874,13 +1879,13 @@ Public Class usrCntlUSTV dt.Columns.Add("AntragID", GetType(String)) dt.Columns.Add("BetragEUR", GetType(Double)) - dt.Columns.Add("Bank", GetType(String)) + dt.Columns.Add("Bank", GetType(Double)) dt.Columns.Add("BelegNr", GetType(String)) dt.Columns.Add("GS", GetType(String)) - dt.Columns.Add("VZ", GetType(String)) + dt.Columns.Add("VZ", GetType(Double)) dt.Columns.Add("RZVZ", GetType(String)) dt.Columns.Add("Info", GetType(String)) - dt.Columns.Add("Diff", GetType(String)) + dt.Columns.Add("Diff", GetType(Double)) dt.Columns.Add("3470", GetType(String)) End If @@ -1960,20 +1965,20 @@ Public Class usrCntlUSTV Dim USTAV_ID As String = getTrimedString(Convert.ToString(Blatt.Cells(row, headerMap("ID")).Value), 6) - Dim BetragEUR As String = - Convert.ToString(Blatt.Cells(row, headerMap("DifferenzbetragEUR")).Value) + Dim BetragEUR As Double = + Convert.ToDouble(Blatt.Cells(row, headerMap("DifferenzbetragEUR")).Value) Dim BelNr As String = getTrimedString(Convert.ToString(Blatt.Cells(row, headerMap("BelNr")).Value), 6) - Dim Bank As String = - Convert.ToString(Blatt.Cells(row, headerMap("BANK")).Value) + Dim Bank As Double = + Convert.ToDouble(Blatt.Cells(row, headerMap("BANK")).Value) Dim GS As String = Convert.ToString(Blatt.Cells(row, headerMap("GS")).Value) - Dim VZ As String = - Convert.ToString(Blatt.Cells(row, headerMap("VZ")).Value) + Dim VZ As Double = + Convert.ToDouble(Blatt.Cells(row, headerMap("VZ")).Value) Dim RZVZ As String = Convert.ToString(Blatt.Cells(row, headerMap("RZVZ")).Value) @@ -1984,14 +1989,14 @@ Public Class usrCntlUSTV Dim _3470 As String = Convert.ToString(Blatt.Cells(row, headerMap("3470")).Value) - Dim _Diff As String = - Convert.ToString(Blatt.Cells(row, headerMap("Diff")).Value) + Dim _Diff As Double = + Convert.ToDouble(Blatt.Cells(row, headerMap("Diff")).Value) If String.IsNullOrWhiteSpace(USTAV_ID) Then Continue For End If - If IsNumeric(USTAV_ID) AndAlso Bank <> "" AndAlso IsNumeric(Bank) Then + If IsNumeric(USTAV_ID) AndAlso IsNumeric(Bank) AndAlso IsNumeric(BetragEUR) Then Dim R As DataRow = dt.NewRow @@ -2004,6 +2009,7 @@ Public Class usrCntlUSTV R("RZVZ") = RZVZ R("Info") = INFO R("Diff") = _Diff + R("3470") = _3470 dt.Rows.Add(R) @@ -2038,104 +2044,109 @@ Public Class usrCntlUSTV Using frm As New frmAbrechnungHandling(dt, Nothing, "Import " & dt.Rows.Count & " Erstattungspositionen") + With frm + .btnPreisliste.Visible = False + .dgvHandling.RowHeadersVisible = False + .Button2.Text = "Importieren" - frm.btnPreisliste.Visible = False - frm.Button2.Text = "Importieren" + End With + + frm.ShowDialog() + + If frm.DialogResult = DialogResult.OK Then + For Each r As DataRow In dt.Rows - If frm.ShowDialog() = DialogResult.OK Then + Dim BelegNr = r.Item("BelegNr") + Dim USTV_ANTRAG = New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(r.Item("AntragID")) + If USTV_ANTRAG.hasEntry Then - For Each r As DataRow In dt.Rows - - Dim BelegNr = r.Item("BelegNr") - Dim USTV_ANTRAG = New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(r.Item("AntragID")) - - If USTV_ANTRAG.hasEntry Then - - Select Case r.Item("3470").ToString.ToLower - Case "ja" - If Not USTV_ANTRAG.UStVAn_3470 Then - USTV_ANTRAG.UStVAn_3470 = True - End If - - - - - End Select - - - Dim UStV_ERS = New VERAG_PROG_ALLGEMEIN.cUStVErstattungPositionen(Belegdatum, BelegNr, fd.FileName) - If Not UStV_ERS.hasEntry Then - - UStV_ERS.UStVEr_ID = USTV_ANTRAG.getMaxPosNrErst() - UStV_ERS.UStVEr_interneNr = USTV_ANTRAG.getMaxinternePosNrErst() - UStV_ERS.UStVAn_ID = USTV_ANTRAG.UStVAn_ID - UStV_ERS.Belegnummer = BelegNr - UStV_ERS.UStVEr_USteuerbetragEUR = r.Item("BetragEUR") - UStV_ERS.UStVEr_Importfilename = fd.SafeFileName - UStV_ERS.UStVEr_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME - UStV_ERS.UStVEr_Zeitstempel = Now - - If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" Then - Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode) - UStV_ERS.UStVEr_USteuerbetrag = System.Math.Round(kurs.EXCHANGE_EURTOCUR(UStV_ERS.UStVEr_USteuerbetragEUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(Belegdatum)), 2) - UStV_ERS.UStVEr_Umrechnungskurs = Math.floor((CDbl(UStV_ERS.UStVEr_USteuerbetrag) / CDbl(UStV_ERS.UStVEr_USteuerbetragEUR) * 100 + 0.5)) / 100 - Else - UStV_ERS.UStVEr_USteuerbetrag = r.Item("BetragEUR") - UStV_ERS.UStVEr_Umrechnungskurs = 1 - End If - - Dim Bemerkung As String = "" - - If Not String.IsNullOrWhiteSpace(r.Item("VZ")) AndAlso IsNumeric(r.Item("VZ")) AndAlso Not IsDBNull(r.Item("VZ")) Then - Bemerkung &= "VZ: " & CDbl(r.Item("VZ")).ToString("N2") & " " & USTV_ANTRAG.UStVAn_Währungscode - UStV_ERS.UStVEr_VZ = CDbl(r.Item("VZ")) - - If USTV_ANTRAG.UStVAn_VZBetrag Is Nothing OrElse IsNothing(USTV_ANTRAG.UStVAn_VZBetrag) Then - USTV_ANTRAG.UStVAn_VZBetrag = UStV_ERS.UStVEr_VZ - End If - - End If - - If Not String.IsNullOrWhiteSpace(r.Item("Bank")) AndAlso IsNumeric(r.Item("Bank")) AndAlso Not IsDBNull(r.Item("Bank")) Then - Bemerkung &= ", a.K. : " & CDbl(r.Item("Bank")).ToString("N2") & " " & USTV_ANTRAG.UStVAn_Währungscode - UStV_ERS.UStVEr_Bank = CDbl(r.Item("Bank")) - End If - - If Not String.IsNullOrWhiteSpace(r.Item("Diff")) AndAlso IsNumeric(r.Item("Diff")) AndAlso Not IsDBNull(r.Item("Diff")) Then - Bemerkung &= ", Diff: " & CDbl(r.Item("Diff")).ToString("N2") - End If - If Bemerkung <> "" Then - UStV_ERS.Bemerkung = Bemerkung - End If - - If Not String.IsNullOrWhiteSpace(r.Item("RZVZ")) AndAlso IsNumeric(r.Item("RZVZ")) AndAlso Not IsDBNull(r.Item("RZVZ")) Then - UStV_ERS.UStVEr_RZVZ = CDbl(r.Item("RZVZ")).ToString("N2") - If USTV_ANTRAG.UStVAn_RZBetragVZ Is Nothing OrElse IsDBNull(USTV_ANTRAG.UStVAn_RZBetragVZ) Then - USTV_ANTRAG.UStVAn_RZBetragVZ = UStV_ERS.UStVEr_RZVZ - End If - End If - - - If UStV_ERS.SAVE() Then - USTV_ANTRAG.UStVAn_MWSTEingang_offen = True - USTV_ANTRAG.SAVE() - counter += 1 - End If - + If r.Item("3470").ToString.ToLower = "ja" Then + USTV_ANTRAG.UStVAn_3470 = True End If - End If - Next + Dim UStV_ERS = New VERAG_PROG_ALLGEMEIN.cUStVErstattungPositionen(Belegdatum, BelegNr, fd.FileName) + If Not UStV_ERS.hasEntry Then - importiert = True - MsgBox(counter & " von " & dt.Rows.Count & " erfolgreich importiert!") + UStV_ERS.UStVEr_ID = USTV_ANTRAG.getMaxPosNrErst() + UStV_ERS.UStVEr_interneNr = USTV_ANTRAG.getMaxinternePosNrErst() + UStV_ERS.UStVAn_ID = USTV_ANTRAG.UStVAn_ID + UStV_ERS.Belegnummer = BelegNr + UStV_ERS.UStVEr_USteuerbetragEUR = r.Item("BetragEUR") + UStV_ERS.UStVEr_Importfilename = fd.SafeFileName + UStV_ERS.UStVEr_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + UStV_ERS.UStVEr_Zeitstempel = Now - End If + If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" Then + Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode) + UStV_ERS.UStVEr_USteuerbetrag = System.Math.Round(kurs.EXCHANGE_EURTOCUR(UStV_ERS.UStVEr_USteuerbetragEUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(Belegdatum)), 2) + UStV_ERS.UStVEr_Umrechnungskurs = Math.floor((CDbl(UStV_ERS.UStVEr_USteuerbetrag) / CDbl(UStV_ERS.UStVEr_USteuerbetragEUR) * 100 + 0.5)) / 100 + Else + UStV_ERS.UStVEr_USteuerbetrag = r.Item("BetragEUR") + UStV_ERS.UStVEr_Umrechnungskurs = 1 + End If + + Dim Bemerkung As String = "" + + If Not String.IsNullOrWhiteSpace(r.Item("VZ")) AndAlso IsNumeric(r.Item("VZ")) AndAlso Not IsDBNull(r.Item("VZ")) AndAlso CDbl(r.Item("VZ")) <> 0 Then + Bemerkung &= "VZ: " & CDbl(r.Item("VZ")).ToString("N2") & " " & USTV_ANTRAG.UStVAn_Währungscode + UStV_ERS.UStVEr_VZ = CDbl(r.Item("VZ")) + + If USTV_ANTRAG.UStVAn_VZBetrag Is Nothing OrElse IsNothing(USTV_ANTRAG.UStVAn_VZBetrag) Then + USTV_ANTRAG.UStVAn_VZBetrag = UStV_ERS.UStVEr_VZ + End If + + End If + + If Not String.IsNullOrWhiteSpace(r.Item("Bank")) AndAlso IsNumeric(r.Item("Bank")) AndAlso Not IsDBNull(r.Item("Bank")) AndAlso CDbl(r.Item("Bank")) <> 0 Then + Bemerkung &= ", a.K. : " & CDbl(r.Item("Bank")).ToString("N2") & " " & USTV_ANTRAG.UStVAn_Währungscode + UStV_ERS.UStVEr_Bank = CDbl(r.Item("Bank")) + End If + + If Not String.IsNullOrWhiteSpace(r.Item("Diff")) AndAlso IsNumeric(r.Item("Diff")) AndAlso Not IsDBNull(r.Item("Diff")) AndAlso CDbl(r.Item("Diff")) <> 0 Then + Bemerkung &= ", Diff: " & CDbl(r.Item("Diff")).ToString("N2") + UStV_ERS.UStVEr_Differenz = CDbl(r.Item("Diff")) + + End If + + If Not String.IsNullOrWhiteSpace(r.Item("RZVZ")) AndAlso IsNumeric(r.Item("RZVZ")) AndAlso Not IsDBNull(r.Item("RZVZ")) AndAlso CDbl(r.Item("RZVZ")) <> 0 Then + UStV_ERS.UStVEr_RZVZ = CDbl(r.Item("RZVZ")).ToString("N2") + If USTV_ANTRAG.UStVAn_RZBetragVZ Is Nothing OrElse IsDBNull(USTV_ANTRAG.UStVAn_RZBetragVZ) Then + USTV_ANTRAG.UStVAn_RZBetragVZ = UStV_ERS.UStVEr_RZVZ + End If + End If + + If Bemerkung <> "" Then + If Bemerkung.StartsWith(", ") Then + Bemerkung = Bemerkung.Remove(0, 2) + End If + + UStV_ERS.Bemerkung = Bemerkung + + End If + + + If UStV_ERS.SAVE() Then + USTV_ANTRAG.UStVAn_MWSTEingang_offen = True + USTV_ANTRAG.SAVE() + counter += 1 + End If + + End If + + + End If + + Next + + importiert = True + MsgBox(counter & " von " & dt.Rows.Count & " erfolgreich importiert!") + + End If End Using diff --git a/SDL/USTV/ustCntlUSTV_ErstattungPosition .Designer.vb b/SDL/USTV/ustCntlUSTV_ErstattungPosition .Designer.vb index 3767c614..8be0d1d3 100644 --- a/SDL/USTV/ustCntlUSTV_ErstattungPosition .Designer.vb +++ b/SDL/USTV/ustCntlUSTV_ErstattungPosition .Designer.vb @@ -42,6 +42,8 @@ Partial Class ustCntlUSTV_ErstattungPosition Me.lblAenderungsdatum = New System.Windows.Forms.Label() Me.lblSachbearbeiter = New System.Windows.Forms.Label() Me.pnl = New System.Windows.Forms.Panel() + Me.Label22 = New System.Windows.Forms.Label() + Me.txtDiff = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtRZVZ = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.Label21 = New System.Windows.Forms.Label() Me.txtVZ = New VERAG_PROG_ALLGEMEIN.MyTextBox() @@ -279,6 +281,8 @@ Partial Class ustCntlUSTV_ErstattungPosition 'pnl ' Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.Controls.Add(Me.Label22) + Me.pnl.Controls.Add(Me.txtDiff) Me.pnl.Controls.Add(Me.txtRZVZ) Me.pnl.Controls.Add(Me.Label21) Me.pnl.Controls.Add(Me.txtVZ) @@ -322,12 +326,47 @@ Partial Class ustCntlUSTV_ErstattungPosition Me.pnl.Size = New System.Drawing.Size(1307, 235) Me.pnl.TabIndex = 1 ' + 'Label22 + ' + Me.Label22.AutoSize = True + Me.Label22.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.5!) + Me.Label22.Location = New System.Drawing.Point(807, 188) + Me.Label22.Name = "Label22" + Me.Label22.Size = New System.Drawing.Size(56, 15) + Me.Label22.TabIndex = 42 + Me.Label22.Text = "Differenz" + ' + 'txtDiff + ' + Me.txtDiff._DateTimeOnly = False + Me.txtDiff._numbersOnly = True + Me.txtDiff._numbersOnlyKommastellen = "2" + Me.txtDiff._numbersOnlyTrennzeichen = True + Me.txtDiff._Prozent = False + Me.txtDiff._ShortDateNew = False + Me.txtDiff._ShortDateOnly = False + Me.txtDiff._TimeOnly = False + Me.txtDiff._TimeOnly_Seconds = False + Me.txtDiff._value = "" + Me.txtDiff._Waehrung = True + Me.txtDiff._WaehrungZeichen = False + Me.txtDiff.ForeColor = System.Drawing.Color.Red + Me.txtDiff.Location = New System.Drawing.Point(810, 204) + Me.txtDiff.MaxLength = 15 + Me.txtDiff.MaxLineLength = -1 + Me.txtDiff.MaxLines_Warning = "" + Me.txtDiff.MaxLines_Warning_Label = Nothing + Me.txtDiff.Name = "txtDiff" + Me.txtDiff.Size = New System.Drawing.Size(99, 20) + Me.txtDiff.TabIndex = 41 + Me.txtDiff.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' 'txtRZVZ ' Me.txtRZVZ._DateTimeOnly = False - Me.txtRZVZ._numbersOnly = False - Me.txtRZVZ._numbersOnlyKommastellen = "" - Me.txtRZVZ._numbersOnlyTrennzeichen = False + Me.txtRZVZ._numbersOnly = True + Me.txtRZVZ._numbersOnlyKommastellen = "2" + Me.txtRZVZ._numbersOnlyTrennzeichen = True Me.txtRZVZ._Prozent = False Me.txtRZVZ._ShortDateNew = False Me.txtRZVZ._ShortDateOnly = False @@ -345,6 +384,7 @@ Partial Class ustCntlUSTV_ErstattungPosition Me.txtRZVZ.Name = "txtRZVZ" Me.txtRZVZ.Size = New System.Drawing.Size(105, 20) Me.txtRZVZ.TabIndex = 40 + Me.txtRZVZ.TextAlign = System.Windows.Forms.HorizontalAlignment.Right ' 'Label21 ' @@ -359,9 +399,9 @@ Partial Class ustCntlUSTV_ErstattungPosition 'txtVZ ' Me.txtVZ._DateTimeOnly = False - Me.txtVZ._numbersOnly = False - Me.txtVZ._numbersOnlyKommastellen = "" - Me.txtVZ._numbersOnlyTrennzeichen = False + Me.txtVZ._numbersOnly = True + Me.txtVZ._numbersOnlyKommastellen = "2" + Me.txtVZ._numbersOnlyTrennzeichen = True Me.txtVZ._Prozent = False Me.txtVZ._ShortDateNew = False Me.txtVZ._ShortDateOnly = False @@ -379,6 +419,7 @@ Partial Class ustCntlUSTV_ErstattungPosition Me.txtVZ.Name = "txtVZ" Me.txtVZ.Size = New System.Drawing.Size(105, 20) Me.txtVZ.TabIndex = 38 + Me.txtVZ.TextAlign = System.Windows.Forms.HorizontalAlignment.Right ' 'Label20 ' @@ -393,9 +434,9 @@ Partial Class ustCntlUSTV_ErstattungPosition 'txtBank ' Me.txtBank._DateTimeOnly = False - Me.txtBank._numbersOnly = False - Me.txtBank._numbersOnlyKommastellen = "" - Me.txtBank._numbersOnlyTrennzeichen = False + Me.txtBank._numbersOnly = True + Me.txtBank._numbersOnlyKommastellen = "2" + Me.txtBank._numbersOnlyTrennzeichen = True Me.txtBank._Prozent = False Me.txtBank._ShortDateNew = False Me.txtBank._ShortDateOnly = False @@ -405,7 +446,7 @@ Partial Class ustCntlUSTV_ErstattungPosition Me.txtBank._Waehrung = True Me.txtBank._WaehrungZeichen = False Me.txtBank.ForeColor = System.Drawing.Color.Red - Me.txtBank.Location = New System.Drawing.Point(468, 203) + Me.txtBank.Location = New System.Drawing.Point(468, 204) Me.txtBank.MaxLength = 15 Me.txtBank.MaxLineLength = -1 Me.txtBank.MaxLines_Warning = "" @@ -413,6 +454,7 @@ Partial Class ustCntlUSTV_ErstattungPosition Me.txtBank.Name = "txtBank" Me.txtBank.Size = New System.Drawing.Size(105, 20) Me.txtBank.TabIndex = 36 + Me.txtBank.TextAlign = System.Windows.Forms.HorizontalAlignment.Right ' 'Label17 ' @@ -676,9 +718,9 @@ Partial Class ustCntlUSTV_ErstattungPosition 'txtUSTBetragEUR ' Me.txtUSTBetragEUR._DateTimeOnly = False - Me.txtUSTBetragEUR._numbersOnly = False - Me.txtUSTBetragEUR._numbersOnlyKommastellen = "" - Me.txtUSTBetragEUR._numbersOnlyTrennzeichen = False + Me.txtUSTBetragEUR._numbersOnly = True + Me.txtUSTBetragEUR._numbersOnlyKommastellen = "2" + Me.txtUSTBetragEUR._numbersOnlyTrennzeichen = True Me.txtUSTBetragEUR._Prozent = False Me.txtUSTBetragEUR._ShortDateNew = False Me.txtUSTBetragEUR._ShortDateOnly = False @@ -696,6 +738,7 @@ Partial Class ustCntlUSTV_ErstattungPosition Me.txtUSTBetragEUR.Name = "txtUSTBetragEUR" Me.txtUSTBetragEUR.Size = New System.Drawing.Size(154, 20) Me.txtUSTBetragEUR.TabIndex = 7 + Me.txtUSTBetragEUR.TextAlign = System.Windows.Forms.HorizontalAlignment.Right ' 'txtUmrechnungskurs ' @@ -720,13 +763,14 @@ Partial Class ustCntlUSTV_ErstattungPosition Me.txtUmrechnungskurs.Name = "txtUmrechnungskurs" Me.txtUmrechnungskurs.Size = New System.Drawing.Size(108, 20) Me.txtUmrechnungskurs.TabIndex = 6 + Me.txtUmrechnungskurs.TextAlign = System.Windows.Forms.HorizontalAlignment.Right ' 'txtUSTBetrag ' Me.txtUSTBetrag._DateTimeOnly = False - Me.txtUSTBetrag._numbersOnly = False - Me.txtUSTBetrag._numbersOnlyKommastellen = "" - Me.txtUSTBetrag._numbersOnlyTrennzeichen = False + Me.txtUSTBetrag._numbersOnly = True + Me.txtUSTBetrag._numbersOnlyKommastellen = "2" + Me.txtUSTBetrag._numbersOnlyTrennzeichen = True Me.txtUSTBetrag._Prozent = False Me.txtUSTBetrag._ShortDateNew = False Me.txtUSTBetrag._ShortDateOnly = False @@ -744,6 +788,7 @@ Partial Class ustCntlUSTV_ErstattungPosition Me.txtUSTBetrag.Name = "txtUSTBetrag" Me.txtUSTBetrag.Size = New System.Drawing.Size(154, 20) Me.txtUSTBetrag.TabIndex = 5 + Me.txtUSTBetrag.TextAlign = System.Windows.Forms.HorizontalAlignment.Right ' 'Panel1 ' @@ -990,4 +1035,6 @@ Partial Class ustCntlUSTV_ErstattungPosition Friend WithEvents Label21 As Label Friend WithEvents txtVZ As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents Label20 As Label + Friend WithEvents Label22 As Label + Friend WithEvents txtDiff As VERAG_PROG_ALLGEMEIN.MyTextBox End Class diff --git a/SDL/USTV/ustCntlUSTV_ErstattungPosition .vb b/SDL/USTV/ustCntlUSTV_ErstattungPosition .vb index 9bbed559..48fa14af 100644 --- a/SDL/USTV/ustCntlUSTV_ErstattungPosition .vb +++ b/SDL/USTV/ustCntlUSTV_ErstattungPosition .vb @@ -40,6 +40,7 @@ Public Class ustCntlUSTV_ErstattungPosition txtVZ._value = 0 txtRZVZ._value = 0 txtBank._value = 0 + txtDiff._value = 0 End Sub @@ -63,6 +64,7 @@ Public Class ustCntlUSTV_ErstattungPosition txtVZ._value = If(UStV_ERS.UStVEr_VZ, "") txtRZVZ._value = If(UStV_ERS.UStVEr_RZVZ, "") txtBank._value = If(UStV_ERS.UStVEr_Bank, "") + txtDiff._value = If(UStV_ERS.UStVEr_Differenz, "") lblSachbearbeiter.Text = If(UStV_ERS.UStVEr_Sachbearbeiter, "") @@ -111,6 +113,8 @@ Public Class ustCntlUSTV_ErstattungPosition UStV_ERS.UStVEr_RZVZ = cProgramFunctions.isLeerNothingDbl(txtRZVZ.Text) UStV_ERS.UStVEr_VZ = cProgramFunctions.isLeerNothingDbl(txtVZ.Text) UStV_ERS.UStVEr_Bank = cProgramFunctions.isLeerNothingDbl(txtBank.Text) + UStV_ERS.UStVEr_Bank = cProgramFunctions.isLeerNothingDbl(txtBank.Text) + UStV_ERS.UStVEr_Differenz = cProgramFunctions.isLeerNothingDbl(txtDiff.Text) diff --git a/SDL/cProgramFunctions.vb b/SDL/cProgramFunctions.vb index 723d2615..d5e544e7 100644 --- a/SDL/cProgramFunctions.vb +++ b/SDL/cProgramFunctions.vb @@ -1232,7 +1232,7 @@ Public Class cProgramFunctions Return "" End Function - Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional waehrungsZeichen As String = "€", Optional fitCellsToContent As Boolean = False, Optional mergeHeadersToCell As Char = "", Optional Landscape As Boolean = False, Optional fitToOnePage As Boolean = False, Optional openFile As Boolean = True, Optional fitWideToOnePage As Boolean = False, Optional rangeAsBuchhaltung() As String = Nothing, Optional hideRange() As String = Nothing) As String + Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional waehrungsZeichen As String = "€", Optional fitCellsToContent As Boolean = False, Optional mergeHeadersToCell As Char = "", Optional Landscape As Boolean = False, Optional fitToOnePage As Boolean = False, Optional openFile As Boolean = True, Optional fitWideToOnePage As Boolean = False, Optional rangeAsBuchhaltung() As String = Nothing, Optional hideRange() As String = Nothing, Optional formeln As Dictionary(Of String, String) = Nothing) As String Try Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName @@ -1277,6 +1277,23 @@ Public Class cProgramFunctions Next End If + If formeln.Count > 0 Then + + For row As Integer = 2 To dt.Rows.Count + 1 + + For Each formel In formeln + + Dim col = formel.Key + Dim expr = formel.Value.Replace("{0}", row.ToString()) + + wb.Worksheets(0).Cell($"{col}{row}").FormulaA1 = expr + + Next + + Next + End If + + If HeaderTxt <> "" Then wb.Worksheets(0).FirstRow.InsertRowsAbove(2) wb.Worksheets(0).Range("A1").Value = HeaderTxt @@ -1304,10 +1321,8 @@ Public Class cProgramFunctions End If - 'If fitCellsToContent Then - ' wb.Worksheets(0).Columns().AdjustToContents() - ' ' wb.Worksheets(0).Rows().AdjustToContents() ' weglassen - 'End If + + If fitCellsToContent Then Dim ws = wb.Worksheets(0) For i As Integer = 0 To dt.Columns.Count - 1 diff --git a/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb b/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb index 66730f28..0be16096 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/USTV/cUSTVAntrag.vb @@ -587,6 +587,7 @@ Public Class cUStVErstattungPositionen Property UStVEr_VZ As Object = Nothing Property UStVEr_RZVZ As Object = Nothing Property UStVEr_Bank As Object = Nothing + Property UStVEr_Differenz As Object = Nothing Public hasEntry = False @@ -617,6 +618,7 @@ Public Class cUStVErstattungPositionen list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVEr_VZ", UStVEr_VZ)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVEr_RZVZ", UStVEr_RZVZ)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVEr_Bank", UStVEr_Bank)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVEr_Differenz", UStVEr_Differenz)) Return list End Function