diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 6fe131f8..ac9f5bb4 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -3187,7 +3187,7 @@ Public Class cFakturierung If RechnungsdruckArt <> 7 Then If Not SRDruckWiederholen And saveInTherefore Then If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then - If vbYes = MsgBox("TEST - in Therefore speichern?") Then + If vbYes = MsgBox("TEST - in Therefore speichern?", vbYesNo) Then VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(pathPDF, "SA " & RechnungsNr & " " & dt.Rows(0)("RechnungsName 1"), "", Firma_ID, False) End If Else diff --git a/SDL/USTV/frmMDM_USTVAntrag.Designer.vb b/SDL/USTV/frmMDM_USTVAntrag.Designer.vb index 2b0c91af..59c2a822 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.Designer.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.Designer.vb @@ -27,6 +27,7 @@ Partial Class frmMDM_USTVAntrag Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMDM_USTVAntrag)) Me.pnlBottom = New System.Windows.Forms.Panel() + Me.Button5 = New System.Windows.Forms.Button() Me.txtSumme = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.Label27 = New System.Windows.Forms.Label() Me.picExcel = New System.Windows.Forms.PictureBox() @@ -146,6 +147,7 @@ Partial Class frmMDM_USTVAntrag ' Me.pnlBottom.BackColor = System.Drawing.Color.FromArgb(CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(224, Byte), Integer)) Me.pnlBottom.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnlBottom.Controls.Add(Me.Button5) Me.pnlBottom.Controls.Add(Me.txtSumme) Me.pnlBottom.Controls.Add(Me.Label27) Me.pnlBottom.Controls.Add(Me.picExcel) @@ -162,6 +164,19 @@ Partial Class frmMDM_USTVAntrag Me.pnlBottom.Size = New System.Drawing.Size(1454, 100) Me.pnlBottom.TabIndex = 3 ' + 'Button5 + ' + Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.Button5.ForeColor = System.Drawing.Color.Black + Me.Button5.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.Button5.Location = New System.Drawing.Point(869, 17) + Me.Button5.Name = "Button5" + Me.Button5.Size = New System.Drawing.Size(103, 39) + Me.Button5.TabIndex = 50 + Me.Button5.Text = "Gutschrift" + Me.Button5.UseVisualStyleBackColor = True + Me.Button5.Visible = False + ' 'txtSumme ' Me.txtSumme._DateTimeOnly = False @@ -177,7 +192,7 @@ Partial Class frmMDM_USTVAntrag Me.txtSumme._Waehrung = True Me.txtSumme._WaehrungZeichen = True Me.txtSumme.ForeColor = System.Drawing.Color.Black - Me.txtSumme.Location = New System.Drawing.Point(1026, 63) + Me.txtSumme.Location = New System.Drawing.Point(1158, 67) Me.txtSumme.MaxLineLength = -1 Me.txtSumme.MaxLines_Warning = "" Me.txtSumme.MaxLines_Warning_Label = Nothing @@ -191,7 +206,7 @@ Partial Class frmMDM_USTVAntrag ' Me.Label27.AutoSize = True Me.Label27.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label27.Location = New System.Drawing.Point(975, 66) + Me.Label27.Location = New System.Drawing.Point(1107, 70) Me.Label27.Name = "Label27" Me.Label27.Size = New System.Drawing.Size(45, 13) Me.Label27.TabIndex = 48 @@ -200,7 +215,7 @@ Partial Class frmMDM_USTVAntrag 'picExcel ' Me.picExcel.Image = Global.SDL.My.Resources.Resources.Excel_logo - Me.picExcel.Location = New System.Drawing.Point(1026, 13) + Me.picExcel.Location = New System.Drawing.Point(1158, 17) Me.picExcel.Name = "picExcel" Me.picExcel.Size = New System.Drawing.Size(35, 35) Me.picExcel.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom @@ -212,7 +227,7 @@ Partial Class frmMDM_USTVAntrag Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button4.ForeColor = System.Drawing.Color.Black Me.Button4.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.Button4.Location = New System.Drawing.Point(1126, 13) + Me.Button4.Location = New System.Drawing.Point(979, 17) Me.Button4.Name = "Button4" Me.Button4.Size = New System.Drawing.Size(103, 39) Me.Button4.TabIndex = 28 @@ -222,7 +237,7 @@ Partial Class frmMDM_USTVAntrag 'picPDF ' Me.picPDF.Image = Global.SDL.My.Resources.Resources.pdf - Me.picPDF.Location = New System.Drawing.Point(1079, 13) + Me.picPDF.Location = New System.Drawing.Point(1211, 17) Me.picPDF.Name = "picPDF" Me.picPDF.Size = New System.Drawing.Size(35, 35) Me.picPDF.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom @@ -234,7 +249,7 @@ Partial Class frmMDM_USTVAntrag Me.btnMail.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnMail.ForeColor = System.Drawing.Color.Black Me.btnMail.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnMail.Location = New System.Drawing.Point(1126, 55) + Me.btnMail.Location = New System.Drawing.Point(979, 62) Me.btnMail.Name = "btnMail" Me.btnMail.Size = New System.Drawing.Size(103, 28) Me.btnMail.TabIndex = 26 @@ -1659,4 +1674,5 @@ Partial Class frmMDM_USTVAntrag Friend WithEvents btnAbfertigungsNrVergeben As Button Friend WithEvents Label15 As Label Friend WithEvents txtVZam As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents Button5 As Button End Class diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index b86ab828..55573829 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -269,11 +269,14 @@ Public Class frmMDM_USTVAntrag Dim spedBuch As New cSpeditionsbuch(USTV_ANTRAG.FilialenNr, USTV_ANTRAG.AbfertigungsNr, 0) If spedBuch.hasEntry Then Button4.Text = "Sped.-Buch anzeigen" + Button5.Visible = True Else Button4.Text = "Sped.-Buch eintragen" + Button5.Visible = False End If Else Button4.Text = "Sped.-Buch eintragen" + Button5.Visible = False End If End If @@ -432,6 +435,29 @@ Public Class frmMDM_USTVAntrag 'init() End Sub + Private Sub UstCntlUSTV_AntragErstattungen1_Changed(POSId) Handles UstCntlUSTV_AntragErstattungen1.CHANGED + + + Dim posIdinDGV As Boolean = False + + For Each r As DataGridViewRow In dgvErstattungspositionen.Rows + If r.Cells("UStVEr_ID").Value = POSId Then + posIdinDGV = True + Exit For + End If + Next + + If posIdinDGV Then + dgvUSTVPositionen.VALUE_CHANGED = True + initdgvErstattungen(POSId) + Else + initdgvErstattungen(dgvUSTVPositionen.Rows.Count + 1) + End If + + 'Dim dgvUSTVPositionen. + 'init() + End Sub + Private Sub usrCntlUSTVA_Antrag_Load(sender As Object, e As EventArgs) Handles MyBase.Load EnableDoubleBuffered(dgvUSTVPositionen) @@ -1283,6 +1309,8 @@ Public Class frmMDM_USTVAntrag dgvUSTVPositionen.SetOrder() End If + VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen_USTVA(USTV_ANTRAG.UStVAn_ID) + Else Dim USTV_ANTRAG = New VERAG_PROG_ALLGEMEIN.cUSTVAntrag() @@ -1307,10 +1335,10 @@ Public Class frmMDM_USTVAntrag Exit Sub End If - If cbxWahrung.SelectedValue Is Nothing Then + If cbxWahrung.SelectedItem Is Nothing Then USTV_ANTRAG.UStVAn_Währungscode = SQL.DLookup("Währungscode", "[Länderverzeichnis für die Außenhandelsstatistik]", "Landnr='" & USTV_ANTRAG.UStVAn_LandNr & "'", "FMZOLL") Else - USTV_ANTRAG.UStVAn_Währungscode = cbxWahrung.SelectedValue + USTV_ANTRAG.UStVAn_Währungscode = cbxWahrung.SelectedItem.Text End If If Not (IsDate(txtVon._value) AndAlso IsDate(txtBis._value)) Then @@ -1335,6 +1363,8 @@ Public Class frmMDM_USTVAntrag Me.UStVAn_ID = USTV_ANTRAG.SAVEID() + VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen_USTVA(USTV_ANTRAG.UStVAn_ID) + init() End If @@ -1949,7 +1979,7 @@ Public Class frmMDM_USTVAntrag For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index) Dim pdf As String = "" - pdf = getPDF(row.Cells("UStVPo_SchnittstellenNr").Value, row.Cells("UStVPo_ReNr").Value, row.Cells("UStVPo_ReDat").Value, row.Cells("UStVPo_daId").Value, IIf(nummerierung, row.Cells("UStVPo_ID").Value, -1), IIf(row.Cells("UStVPo_Leistender").Value.ToString.ToLower.Contains("wag") OrElse row.Cells("UStVPo_Leistender").Value.ToString.ToLower.Contains("dkv"), True, False)) + pdf = getPDF(row.Cells("UStVPo_SchnittstellenNr").Value, row.Cells("UStVPo_ReNr").Value, row.Cells("UStVPo_ReDat").Value, row.Cells("UStVPo_daId").Value, IIf(nummerierung, row.Cells("UStVPo_ID").Value, -1), True) If pdf <> "" Then list.Add(pdf) @@ -2380,7 +2410,13 @@ Public Class frmMDM_USTVAntrag Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click getValue(USTV_ANTRAG) - USTV_ANTRAG.SAVE() + + Dim id = USTV_ANTRAG.SAVEID() + + VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen_USTVA(id) + + USTV_ANTRAG = New cUSTVAntrag(id) + If IsDBNull(USTV_ANTRAG.FilialenNr) OrElse USTV_ANTRAG.FilialenNr Is Nothing OrElse USTV_ANTRAG.FilialenNr = 0 Then MsgBox("Für das Speditionsbuch muss die Filiale eingegeben werden.") : Exit Sub If IsDBNull(USTV_ANTRAG.AbfertigungsNr) OrElse USTV_ANTRAG.AbfertigungsNr Is Nothing OrElse USTV_ANTRAG.AbfertigungsNr <= 0 Then MsgBox("Für das Speditionsbuch muss die Abfertigungs-Nr eingegeben werden.") : Exit Sub @@ -2396,6 +2432,10 @@ Public Class frmMDM_USTVAntrag Exit Sub End If + If USTV_ANTRAG.UStVAn_ErstattungsbetragEUR = 0 Then + If Not vbYes = MsgBox("Der Erstattungsbetrag beträgt 0 EUR." & vbNewLine & "Fortfahren?", vbYesNo) Then Exit Sub + End If + With spedBuch .Abfertigungsdatum = Today() .AvisUhrzeit = Now() @@ -2406,6 +2446,7 @@ Public Class frmMDM_USTVAntrag .Abfertigungsanzahl = 1 .Packstücke = "Mehrwertsteuerrückerstattung " & Antrag_LandKz & " / " & USTV_ANTRAG.UStVAn_ReDatVon & " - " & USTV_ANTRAG.UStVAn_ReDatBis .VermittlerKundenNr = USTV_ANTRAG.UStVAn_KuNr + .Rechnungsbetrag = USTV_ANTRAG.UStVAn_ErstattungsbetragEUR * -1 If .SAVE() Then MsgBox("Sped-Eintrag wurde angelegt") init() @@ -2416,71 +2457,65 @@ Public Class frmMDM_USTVAntrag Private Sub picExcel_Click(sender As Object, e As EventArgs) Handles picExcel.Click - Dim dtNew As DataTable = cProgramFunctions.dgridViewTods(dgvUSTVPositionen, True, IIf(dgvUSTVPositionen.SelectedRows.Count > 0, True, False)) + 'Dim dtNew As DataTable = cProgramFunctions.dgridViewTods(dgvUSTVPositionen, True, IIf(dgvUSTVPositionen.SelectedRows.Count > 0, True, False)) + Dim posId As String = "" + Dim counter = 0 + For Each dgvRow As DataGridViewRow In dgvUSTVPositionen.SelectedRows + posId &= "'" & dgvRow.Cells("UStVPo_ID").Value & "'" + counter = counter + 1 + If (dgvUSTVPositionen.Rows.Count <> 0 And counter <> dgvUSTVPositionen.Rows.Count) Then posId &= "," + Next + Dim StringSQL = "SELECT [UStVPo_ID] as Number ,[UStVPo_ReDat] as 'Date of Invoice',[UStVPo_ReNr] as 'Number of invoice' ,[UStVPo_Leistungsbezeichnung] as 'Name of service',[UStVPo_Leistender] as 'Name of supplier',leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as Street, + leist.[UstV_Leistender_PLZ] as 'ZIP-Code',leist.[UstV_Leistender_Stadt] as City,leist.[UstV_Leistender_Land] as Country,leist.[UstV_Leistender_UstNr] as VAT,[UStVPo_USteuerbetrag] as 'Amount of tax refund' + FROM [tblUStVPositionen] + LEFT JOIN [tblUStVLeistender] as leist + ON ([tblUStVPositionen].[UStVPo_LeistenderId] > 0 + AND leist.[UStV_LeistenderId] = [tblUStVPositionen].[UStVPo_LeistenderId]) + OR ([tblUStVPositionen].[UStVPo_LeistenderId] <= 0 + AND leist.[UStV_Leistender] = [tblUStVPositionen].[UStVPo_Leistender]) + where UStVAn_ID=" & UStVAn_ID & " and UStVPo_ID in(" & posId & ") ORDER BY UStVPo_ID" + + Dim dtNew As DataTable = SQL.loadDgvBySql(StringSQL, "FMZOLL") + If dtNew IsNot Nothing AndAlso dtNew.Rows.Count > 0 Then - If dtNew.Columns.Contains("UStVPo_Schnittstelle") Then dtNew.Columns.Remove("UStVPo_Schnittstelle") - If dtNew.Columns.Contains("UStVPo_SchnittstellenNr") Then dtNew.Columns.Remove("UStVPo_SchnittstellenNr") - If dtNew.Columns.Contains("UStVPo_USteuerbetragEUR") Then dtNew.Columns.Remove("UStVPo_USteuerbetragEUR") - If dtNew.Columns.Contains("UStVPo_Umrechnungskurs") Then dtNew.Columns.Remove("UStVPo_Umrechnungskurs") - If dtNew.Columns.Contains("UStVPo_Sachbearbeiter") Then dtNew.Columns.Remove("UStVPo_Sachbearbeiter") - If dtNew.Columns.Contains("UStVPo_daId") Then dtNew.Columns.Remove("UStVPo_daId") - If dtNew.Columns.Contains("UStVAn_ID") Then dtNew.Columns.Remove("UStVAn_ID") - If dtNew.Columns.Contains("clmnPDF") Then dtNew.Columns.Remove("clmnPDF") - Dim sumVAT As Double = 0 For Each row In dtNew.Rows - If Not IsDBNull(row("UStVPo_USteuerbetrag")) AndAlso IsNumeric(row("UStVPo_USteuerbetrag")) Then sumVAT += CDbl(row("UStVPo_USteuerbetrag")) - If Not IsDBNull(row("UStVPo_USteuerbetrag")) AndAlso IsNumeric(row("UStVPo_USteuerbetrag")) Then row("UStVPo_USteuerbetrag") = CDbl(row("UStVPo_USteuerbetrag")) - If Not IsDBNull(row("UStVPo_Leistender")) AndAlso row("UStVPo_Leistender") <> "" AndAlso Not IsDBNull(row("UstV_Leistender_UstNr")) AndAlso row("UstV_Leistender_UstNr") <> "" Then - row("UStVPo_Leistender") = row("UStVPo_Leistender").ToString.Replace(" " & row("UstV_Leistender_UstNr").ToString.Substring(0, 2), "") + If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then sumVAT += CDbl(row("Amount of tax refund")) + If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then row("Amount of tax refund") = CDbl(row("Amount of tax refund")) + If Not IsDBNull(row("Name of supplier")) AndAlso row("Name of supplier") <> "" AndAlso Not IsDBNull(row("VAT")) AndAlso row("VAT") <> "" Then + row("Name of supplier") = row("Name of supplier").ToString.Replace(" " & row("VAT").ToString.Substring(0, 2), "") End If Next Dim drLast = dtNew.NewRow - If dtNew.Columns.Contains("UStVPo_ID") Then drLast.Item("UStVPo_ID") = DBNull.Value - If dtNew.Columns.Contains("UStVPo_ReDat") Then drLast.Item("UStVPo_ReDat") = DBNull.Value - If dtNew.Columns.Contains("UStVPo_ReNr") Then drLast.Item("UStVPo_ReNr") = DBNull.Value - If dtNew.Columns.Contains("UStVPo_USteuerbetrag") Then drLast.Item("UStVPo_USteuerbetrag") = sumVAT - If dtNew.Columns.Contains("UStVPo_Leistender") Then drLast.Item("UStVPo_Leistender") = DBNull.Value - If dtNew.Columns.Contains("UstV_Leistender_Strasse") Then drLast.Item("UstV_Leistender_Strasse") = DBNull.Value - If dtNew.Columns.Contains("UstV_Leistender_Stadt") Then drLast.Item("UstV_Leistender_Stadt") = DBNull.Value - If dtNew.Columns.Contains("UstV_Leistender_Land") Then drLast.Item("UstV_Leistender_Land") = DBNull.Value - If dtNew.Columns.Contains("UstV_Leistender_PLZ") Then drLast.Item("UstV_Leistender_PLZ") = DBNull.Value - If dtNew.Columns.Contains("UstV_Leistender_UstNr") Then drLast.Item("UstV_Leistender_UstNr") = "SUM" - If dtNew.Columns.Contains("UStVPo_Leistungsbezeichnung") Then drLast.Item("UStVPo_Leistungsbezeichnung") = DBNull.Value + If dtNew.Columns.Contains("Number") Then drLast.Item("Number") = dtNew.Rows.Count + 1 + If dtNew.Columns.Contains("Date of Invoice") Then drLast.Item("Date of Invoice") = DBNull.Value + If dtNew.Columns.Contains("Number of invoice") Then drLast.Item("Number of invoice") = DBNull.Value + If dtNew.Columns.Contains("Amount of tax refund") Then drLast.Item("Amount of tax refund") = sumVAT + If dtNew.Columns.Contains("Name of supplier") Then drLast.Item("Name of supplier") = DBNull.Value + If dtNew.Columns.Contains("Street") Then drLast.Item("Street") = DBNull.Value + If dtNew.Columns.Contains("City") Then drLast.Item("City") = DBNull.Value + If dtNew.Columns.Contains("Country") Then drLast.Item("Country") = DBNull.Value + If dtNew.Columns.Contains("ZIP-Code") Then drLast.Item("ZIP-Code") = DBNull.Value + If dtNew.Columns.Contains("VAT") Then drLast.Item("VAT") = "SUM" + If dtNew.Columns.Contains("Name of service") Then drLast.Item("Name of service") = DBNull.Value dtNew.Rows.InsertAt(drLast, dtNew.Rows.Count) - - For Each col As DataColumn In dtNew.Columns - - If col.ColumnName = "UStVPo_ID" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ID", "Number") - If col.ColumnName = "UStVPo_ReDat" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ReDat", "Date of invoice") - If col.ColumnName = "UStVPo_ReNr" Then col.ColumnName = col.ColumnName.Replace("UStVPo_ReNr", "Number of invoice") - If col.ColumnName = "UStVPo_USteuerbetrag" Then col.ColumnName = col.ColumnName.Replace("UStVPo_USteuerbetrag", "Amount of tax refund") - If col.ColumnName = "UStVPo_Leistender" Then col.ColumnName = col.ColumnName.Replace("UStVPo_Leistender", "Name of supplier") - If col.ColumnName = "UstV_Leistender_Strasse" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_Strasse", "Street") - If col.ColumnName = "UstV_Leistender_Stadt" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_Stadt", "City") - If col.ColumnName = "UstV_Leistender_Land" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_Land", "Country") - If col.ColumnName = "UstV_Leistender_PLZ" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_PLZ", "ZIP-Code") - If col.ColumnName = "UstV_Leistender_UstNr" Then col.ColumnName = col.ColumnName.Replace("UstV_Leistender_UstNr", "VAT") - If col.ColumnName = "UStVPo_Leistungsbezeichnung" Then col.ColumnName = col.ColumnName.Replace("UStVPo_Leistungsbezeichnung", "Name of service") - - Next - Dim AD As New cAdressen(USTV_ANTRAG.UStVAn_KuNr) - cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K1:K" & (dtNew.Rows.Count + 1)},, "Statement itemising VAT amounts relating to the period covered by this application", "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & AD.Name_1 & " " & AD.Name_2 & " " & "VAT in " & Antrag_LandKz & ": " & txtStNr.Text, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "€", ""), True, "K", True, True) + cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K4:K" & (dtNew.Rows.Count + 1)},, "Statement itemising VAT amounts relating to the period covered by this application", "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & AD.Name_1 & " " & AD.Name_2 & " " & "VAT in " & Antrag_LandKz & ": " & txtStNr.Text, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "€", ""), True, "J", True, True) + End If End Sub - Private Sub initdgvErstattungen() + Private Sub initdgvErstattungen(Optional posIndex As Integer = -1) With dgvErstattungspositionen @@ -2544,7 +2579,28 @@ Public Class frmMDM_USTVAntrag End If - If .RowCount < 1 Then initErstsattungsPosition(-1) + If .RowCount < 1 Then + initErstsattungsPosition(-1) + + Else + If posIndex > 0 Then + posIndex = posIndex - 1 + If posIndex > 0 And dgvErstattungspositionen.Rows.Count > posIndex Then + dgvErstattungspositionen.ClearSelection() + dgvErstattungspositionen.Rows(posIndex).Selected = True + For Each c As DataGridViewCell In dgvErstattungspositionen.Rows(posIndex).Cells + If c.Visible Then + dgvErstattungspositionen.CurrentCell = c 'Damit der Cursor in der DGV richtig steht + Exit For + End If + Next + + End If + + End If + + + End If End With @@ -2674,6 +2730,20 @@ Public Class frmMDM_USTVAntrag + End Sub + + Private Sub Button5_Click_1(sender As Object, e As EventArgs) Handles Button5.Click + + If IsDBNull(USTV_ANTRAG.FilialenNr) OrElse USTV_ANTRAG.FilialenNr Is Nothing OrElse USTV_ANTRAG.FilialenNr = 0 Then MsgBox("Für das Speditionsbuch muss die Filiale eingegeben werden.") : Exit Sub + If IsDBNull(USTV_ANTRAG.AbfertigungsNr) OrElse USTV_ANTRAG.AbfertigungsNr Is Nothing OrElse USTV_ANTRAG.AbfertigungsNr <= 0 Then MsgBox("Für das Speditionsbuch muss die Abfertigungs-Nr eingegeben werden.") : Exit Sub + + Dim f As New SDL.frmAbrechnungsMaskeEinzeln(USTV_ANTRAG.FilialenNr, USTV_ANTRAG.AbfertigungsNr) + f.Show(Me) + + End Sub + + Private Sub cbxWahrung_SelectedValueChanged(sender As Object, e As EventArgs) Handles cbxWahrung.SelectedValueChanged + End Sub Private Sub calcSumme() diff --git a/SDL/USTV/frmUSTVoffeneAntraege.vb b/SDL/USTV/frmUSTVoffeneAntraege.vb index 90134b07..5fd41b29 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.vb @@ -560,42 +560,49 @@ Public Class frmUSTVoffeneAntraege If dtkeineMWST.Rows.Count > 0 AndAlso kundenLandISO2 <> "" Then + Dim rows = dtkeineMWST.AsEnumerable().Where(Function(res) res.Field(Of String)("Land") = kundenLandISO2 And res.Field(Of String)("Lieferant") <> "IDS") - - Dim selectString As String = "Land = '" & kundenLandISO2 & "'" & " AND Lieferant <> 'IDS'" - Dim dtkeineMWST_ohneContraint As DataTable = dtkeineMWST.Select(selectString).CopyToDataTable - Dim counter = 0 - Dim landBez As String = "" - For Each row As DataRow In dtkeineMWST_ohneContraint.Rows - landBez &= "'" & row.Item("Erstattungsland") & "'" - counter = counter + 1 - If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= "," - Next - sqlwhereLand &= " AND Einreichland not in (" & landBez & ")" - - - 'eig soll nur PLOSE Datensätze bei nicht EU-Kunden angezeigt werden (also bei NICHT EU -> IDS weg (nur IDS-AT)!!!!!!!!!! - Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = kundenLandISO2).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault() - - If Not isEU Then - - Dim selectStringIDS As String = "Land = '" & kundenLandISO2 & "'" & " AND Lieferant = 'IDS'" - Dim dtkeineMWST_ohneContraintIDS As DataTable = dtkeineMWST.Select(selectStringIDS).CopyToDataTable - Dim counterIDS = 0 - Dim landBezIDS As String = "" - For Each row As DataRow In dtkeineMWST_ohneContraintIDS.Rows - landBezIDS &= "'" & row.Item("Erstattungsland") & "'" - counterIDS = counterIDS + 1 - If (dtkeineMWST_ohneContraintIDS.Rows.Count <> 0 And counterIDS <> dtkeineMWST_ohneContraintIDS.Rows.Count) Then landBezIDS &= "," + If (rows.Any()) Then + Dim dtkeineMWST_ohneContraint As DataTable = rows.CopyToDataTable + Dim counter = 0 + Dim landBez As String = "" + For Each row As DataRow In dtkeineMWST_ohneContraint.Rows + landBez &= "'" & row.Item("Erstattungsland") & "'" + counter = counter + 1 + If (dtkeineMWST_ohneContraint.Rows.Count <> 0 And counter <> dtkeineMWST_ohneContraint.Rows.Count) Then landBez &= "," Next - sqlwhereIDS &= " AND tbl_IDS_Länder.Lieferland_ISO2 not in (" & landBezIDS & ")" + sqlwhereLand &= " AND Einreichland not in (" & landBez & ")" + + + 'eig soll nur PLOSE Datensätze bei nicht EU-Kunden angezeigt werden (also bei NICHT EU -> IDS weg (nur IDS-AT)!!!!!!!!!! + Dim isEU As Boolean = dTLANDEU.AsEnumerable().Where(Function(res) res.Field(Of String)("LandKz") = kundenLandISO2).Select(Function(res) res.Field(Of Boolean)("MitgliedslandEU")).FirstOrDefault() + + If Not isEU Then + Dim rowsIDS = dtkeineMWST.AsEnumerable().Where(Function(res) res.Field(Of String)("Land") = kundenLandISO2 And res.Field(Of String)("Lieferant") = "IDS") + + If (rowsIDS.Any()) Then + Dim dtkeineMWST_ohneContraintIDS As DataTable = rowsIDS.CopyToDataTable + Dim counterIDS = 0 + Dim landBezIDS As String = "" + If dtkeineMWST_ohneContraintIDS.Rows.Count > 0 Then + For Each row As DataRow In dtkeineMWST_ohneContraintIDS.Rows + landBezIDS &= "'" & row.Item("Erstattungsland") & "'" + counterIDS = counterIDS + 1 + If (dtkeineMWST_ohneContraintIDS.Rows.Count <> 0 And counterIDS <> dtkeineMWST_ohneContraintIDS.Rows.Count) Then landBezIDS &= "," + Next + sqlwhereIDS &= " AND tbl_IDS_Länder.Lieferland_ISO2 not in (" & landBezIDS & ")" + End If + + End If + + End If End If - End If + If cbxKundenMWST.Checked Then If dtKundeMWST.Rows.Count > 0 Then Dim counter = 0 diff --git a/SDL/USTV/ustCntlUSTV_ErstattungPosition .vb b/SDL/USTV/ustCntlUSTV_ErstattungPosition .vb index b1ac9012..6a6c29e5 100644 --- a/SDL/USTV/ustCntlUSTV_ErstattungPosition .vb +++ b/SDL/USTV/ustCntlUSTV_ErstattungPosition .vb @@ -185,7 +185,7 @@ Public Class ustCntlUSTV_ErstattungPosition Private Sub txtUSTBetrag_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles txtUSTBetrag.PreviewKeyDown, txtUSTBetragEUR.PreviewKeyDown, txtBelegDatum.PreviewKeyDown, txtBelegNr.PreviewKeyDown, txtUmrechnungskurs.PreviewKeyDown - If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_USTVA_bearbeiten", Me.FindForm) Then Exit Sub + If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_USTVAErstattung_bearbeiten", Me.FindForm) Then Exit Sub If Me.FindForm IsNot Nothing Then @@ -235,28 +235,29 @@ Public Class ustCntlUSTV_ErstattungPosition End If + + + + ElseIf sender Is txtBelegDatum Then + + If txtBelegDatum.Text <> "" Then + txtBelegDatum.Text = txtBelegDatum.Text.Replace("-", ".") + End If + + ElseIf sender Is txtBerufungsdatum Then + + If txtBerufungsdatum.Text <> "" Then + txtBerufungsdatum.Text = txtBerufungsdatum.Text.Replace("-", ".") + End If + + ElseIf sender Is txtGuDatum Then + + If txtGuDatum.Text <> "" Then + txtGuDatum.Text = txtGuDatum.Text.Replace("-", ".") + End If + End If - - ElseIf sender Is txtBelegDatum Then - - If txtBelegDatum.Text <> "" Then - txtBelegDatum.Text = txtBelegDatum.Text.Replace("-", ".") - End If - - ElseIf sender Is txtBerufungsdatum Then - - If txtBerufungsdatum.Text <> "" Then - txtBerufungsdatum.Text = txtBerufungsdatum.Text.Replace("-", ".") - End If - - ElseIf sender Is txtGuDatum Then - - If txtGuDatum.Text <> "" Then - txtGuDatum.Text = txtGuDatum.Text.Replace("-", ".") - End If - - End If If txtChanged Then diff --git a/SDL/buchhaltung/frmBU_Mahnlauf.vb b/SDL/buchhaltung/frmBU_Mahnlauf.vb index b6373b4f..fee5dc56 100644 --- a/SDL/buchhaltung/frmBU_Mahnlauf.vb +++ b/SDL/buchhaltung/frmBU_Mahnlauf.vb @@ -1,4 +1,6 @@ Imports System.Globalization +Imports DocumentFormat.OpenXml.Bibliography +Imports GrapeCity.ActiveReports.ReportsCore.Tools Imports Microsoft.Office.Interop Imports VERAG_PROG_ALLGEMEIN @@ -1269,6 +1271,7 @@ Public Class frmBU_Mahnlauf Dim dt = MyDatagridview1.DataSource If cbxZahlungseingaenge.Checked Then + If dt.Columns.Contains("c_landid") Then dt.Columns.Remove("c_landid") cProgramFunctions.genExcelFromDT_NEW(dt, {"D1:D" & (dt.Rows.Count + 1)},,, "Zahlungseingänge vom " & txtZahlEingaenge._value,, True) Else cProgramFunctions.genExcelFromDT_NEW(dt, {"G1:G" & (dt.Rows.Count + 1), "J1:J" & (dt.Rows.Count + 1)}) @@ -1365,6 +1368,9 @@ Public Class frmBU_Mahnlauf Dim dt = MyDatagridview1.DataSource Dim desc = "Zahlungseingänge vom " & txtZahlEingaenge._value + + If dt.Columns.Contains("c_landid") Then dt.Columns.Remove("c_landid") + Dim attachment = cProgramFunctions.genExcelFromDT_NEW(dt, {"D1:D" & (dt.Rows.Count + 1)},,, desc,, True,,,, False) Dim outl As New Outlook.Application diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb index 37f27ded..24ba3f29 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb @@ -93,7 +93,7 @@ Public Class cMDMFunctionsAllgemein End Try End Function - Shared Function Update_UStVASummenNeuBerechnen() As Boolean + Shared Function Update_UStVASummenNeuBerechnen_USTVA(Optional UStVAn_ID As Integer = -1) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -103,19 +103,19 @@ Public Class cMDMFunctionsAllgemein UStVAn_USteuerbetrag = COALESCE( (SELECT SUM(UStVPo_USteuerbetrag) FROM tblUStVPositionen - WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), + WHERE UStVAn_ID = " & IIf(UStVAn_ID > 0, UStVAn_ID, "tblUStVAntrag.UStVAn_ID") & "), 0), UStVAn_Erstattungsbetrag = COALESCE( (SELECT SUM(UStVEr_USteuerbetrag) FROM tblUStVErstattung - WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), + WHERE UStVAn_ID = " & IIf(UStVAn_ID > 0, UStVAn_ID, "tblUStVAntrag.UStVAn_ID") & " ), 0), UStVAn_USteuerbetragEUR = COALESCE( (SELECT SUM(UStVPo_USteuerbetragEUR) FROM tblUStVPositionen - WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0), + WHERE UStVAn_ID = " & IIf(UStVAn_ID > 0, UStVAn_ID, "tblUStVAntrag.UStVAn_ID") & "), 0), UStVAn_ErstattungsbetragEUR = COALESCE( (SELECT SUM(UStVEr_USteuerbetragEUR) FROM tblUStVErstattung - WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0)" + WHERE UStVAn_ID = " & IIf(UStVAn_ID > 0, UStVAn_ID, "tblUStVAntrag.UStVAn_ID") & "), 0) " & IIf(UStVAn_ID > 0, "WHERE tblUStVAntrag.UStVAn_ID = " & UStVAn_ID, "") Return SQL.doSQL(sqltext, "FMZOLL")