From 755df1e8ec50c2866a9cfa1973769f842997b659 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 26 Mar 2025 08:05:29 +0100 Subject: [PATCH] Fakt. Druckroutine, Ustva --- SDL/Fakturierung/cFakturierung.vb | 10 ++- SDL/My Project/AssemblyInfo.vb | 4 +- SDL/USTV/frmMDM_USTVAntrag.vb | 71 ++++++++++--------- SDL/seriendruck/usrCntlFakturierung.vb | 30 +++++--- .../DATENSERVER/cDATENSERVER.vb | 5 +- 5 files changed, 71 insertions(+), 49 deletions(-) diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 2f7ac0da..200ffaf1 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -9,6 +9,7 @@ Imports GrapeCity.ActiveReports.SectionReportModel Imports GrapeCity.ActiveReports Imports System.ComponentModel Imports VERAG_PROG_ALLGEMEIN.TESTJSON +Imports System.Web.UI.WebControls.Expressions Public Class cFakturierung @@ -2960,7 +2961,10 @@ Public Class cFakturierung Dim Aktuelle_RgNr As Integer = -1 If Not vorschau Then - Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr) 'Nimmt die aktuelle RgNr und zählt eine Pos. hoch. + If Not MDMRENrvoarhanden Then + Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr) 'Nimmt die aktuelle RgNr und zählt eine Pos. hoch. nur wenn keine Vorschau oder keine Re.Nr vergeben!!! + End If + End If @@ -3027,10 +3031,10 @@ Public Class cFakturierung Else If SammelrechungArt = 6 Then - If RechnungsdruckArt = 7 Then + If RechnungsdruckArt = 7 Then 'RechnungsdruckArt = 7 ist die Erstellung per MDM-Sammelabrechnung! RG.[Status] = 2 'Bei MDM Abrechnung; Druck später!! Else - RG.[Status] = 4 ' Beim finalen Versenden der Sammelrechnung + RG.[Status] = 4 ' Beim finalen Versenden der Sammelrechnung keine neue ReNr vergeben. If RG.RechnungsNr >= 0 Then Aktuelle_RgNr = RG.RechnungsNr End If diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index b46da4c4..f1b45f8d 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index e22adef5..b769d9f1 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -2,6 +2,7 @@ Imports System.IO Imports System.Reflection Imports System.Windows.Documents +Imports com.sun.tools.corba.se.idl.constExpr Imports itextsharp.text.pdf Imports itextsharp.text.pdf.parser Imports Microsoft.Office.Interop @@ -315,39 +316,39 @@ Public Class frmMDM_USTVAntrag If txtEingereichtAm.Text = "" Then USTV_ANTRAG.UStVAn_AntragEingereichtAm = Nothing If ADR IsNot Nothing Then - USTV_ANTRAG.UStVAn_KuNr = ADR.AdressenNr - USTV_ANTRAG.UStVAn_Name = ADR.Name_1 - USTV_ANTRAG.UStVAn_Straße = ADR.Straße - USTV_ANTRAG.UStVAn_LandKz = ADR.LandKz - USTV_ANTRAG.UStVAn_Ort = ADR.Ort - USTV_ANTRAG.UStVAn_Steuernummer = ADR.Steuernummer - End If + USTV_ANTRAG.UStVAn_KuNr = ADR.AdressenNr + USTV_ANTRAG.UStVAn_Name = ADR.Name_1 + USTV_ANTRAG.UStVAn_Straße = ADR.Straße + USTV_ANTRAG.UStVAn_LandKz = ADR.LandKz + USTV_ANTRAG.UStVAn_Ort = ADR.Ort + USTV_ANTRAG.UStVAn_Steuernummer = ADR.Steuernummer + End If - If FIRMA IsNot Nothing Then - USTV_ANTRAG.UStVAn_Kontoinhaber = FIRMA.Firma_Bez & "; " & FIRMA.Firma_Straße & ";" & FIRMA.Firma_Ort - USTV_ANTRAG.UStVAn_Bankverbindung = FIRMA.Firma_Bankverbindung1 - USTV_ANTRAG.UStVAn_BLZ = FIRMA.Firma_BLZ1 - USTV_ANTRAG.UStVAn_KTO = FIRMA.Firma_KTO1 + If FIRMA IsNot Nothing Then + USTV_ANTRAG.UStVAn_Kontoinhaber = FIRMA.Firma_Bez & "; " & FIRMA.Firma_Straße & ";" & FIRMA.Firma_Ort + USTV_ANTRAG.UStVAn_Bankverbindung = FIRMA.Firma_Bankverbindung1 + USTV_ANTRAG.UStVAn_BLZ = FIRMA.Firma_BLZ1 + USTV_ANTRAG.UStVAn_KTO = FIRMA.Firma_KTO1 - 'fallback laut FM-ZOLL - If USTV_ANTRAG.UStVAn_Kontoinhaber Is Nothing Then USTV_ANTRAG.UStVAn_Kontoinhaber = "VERAG 360 GmbH; 4975 Suben" - If USTV_ANTRAG.UStVAn_Bankverbindung Is Nothing Then USTV_ANTRAG.UStVAn_Bankverbindung = "Raiba Suben" - If USTV_ANTRAG.UStVAn_KTO Is Nothing Then USTV_ANTRAG.UStVAn_KTO = "4210225" - If USTV_ANTRAG.UStVAn_BLZ Is Nothing Then USTV_ANTRAG.UStVAn_BLZ = "34620" - If USTV_ANTRAG.UStVAn_Gewerbe Is Nothing Then USTV_ANTRAG.UStVAn_Gewerbe = "Transportunternehmer" - If USTV_ANTRAG.UStVAn_Erklärung_9_a Is Nothing Then USTV_ANTRAG.UStVAn_Erklärung_9_a = "Warentransport" - If USTV_ANTRAG.UStVAn_Ausstellungsort Is Nothing Then USTV_ANTRAG.UStVAn_Ausstellungsort = "Suben" + 'fallback laut FM-ZOLL + If USTV_ANTRAG.UStVAn_Kontoinhaber Is Nothing Then USTV_ANTRAG.UStVAn_Kontoinhaber = "VERAG 360 GmbH; 4975 Suben" + If USTV_ANTRAG.UStVAn_Bankverbindung Is Nothing Then USTV_ANTRAG.UStVAn_Bankverbindung = "Raiba Suben" + If USTV_ANTRAG.UStVAn_KTO Is Nothing Then USTV_ANTRAG.UStVAn_KTO = "4210225" + If USTV_ANTRAG.UStVAn_BLZ Is Nothing Then USTV_ANTRAG.UStVAn_BLZ = "34620" + If USTV_ANTRAG.UStVAn_Gewerbe Is Nothing Then USTV_ANTRAG.UStVAn_Gewerbe = "Transportunternehmer" + If USTV_ANTRAG.UStVAn_Erklärung_9_a Is Nothing Then USTV_ANTRAG.UStVAn_Erklärung_9_a = "Warentransport" + If USTV_ANTRAG.UStVAn_Ausstellungsort Is Nothing Then USTV_ANTRAG.UStVAn_Ausstellungsort = "Suben" - If USTV_ANTRAG.UStVAn_Erklärung_9_b_1 Is Nothing Then USTV_ANTRAG.UStVAn_Erklärung_9_b_1 = False - If USTV_ANTRAG.UStVAn_Erklärung_9_b_2 Is Nothing Then USTV_ANTRAG.UStVAn_Erklärung_9_b_2 = False - If USTV_ANTRAG.UStVAn_Erklärung_9_b_3 Is Nothing Then USTV_ANTRAG.UStVAn_Erklärung_9_b_3 = False + If USTV_ANTRAG.UStVAn_Erklärung_9_b_1 Is Nothing Then USTV_ANTRAG.UStVAn_Erklärung_9_b_1 = False + If USTV_ANTRAG.UStVAn_Erklärung_9_b_2 Is Nothing Then USTV_ANTRAG.UStVAn_Erklärung_9_b_2 = False + If USTV_ANTRAG.UStVAn_Erklärung_9_b_3 Is Nothing Then USTV_ANTRAG.UStVAn_Erklärung_9_b_3 = False - End If - End If + End If + End Sub Function Me_Validate() As Boolean If Not IsDate(txtVon._value) Then MsgBox("Datumsformat: Von") : Return False @@ -743,8 +744,14 @@ Public Class frmMDM_USTVAntrag USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME USTV_POS.UStVPo_Zeitstempel = Now() - USTV_POS.UStVPo_daId = sql.getValueTxtBySql("SELECT TOP(1) RK_ID FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum as Date) ='" & USTV_POS.UStVPo_ReDat & "' and Rechnungsausgang.RechnungsNr='" & USTV_POS.UStVPo_ReNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL") - If USTV_POS.UStVPo_daId > 0 Then USTV_POS.UStVPo_daId_loeschbar = False + USTV_POS.UStVPo_daId = 0 + Dim rkID = sql.getValueTxtBySql("SELECT TOP(1) isnull(RK_ID,0) FROM Rechnungsausgang where cast(Rechnungsausgang.RechnungsDatum as Date) ='" & USTV_POS.UStVPo_ReDat & "' and Rechnungsausgang.RechnungsNr='" & USTV_POS.UStVPo_ReNr & "' AND FilialenNr = 4814 AND RK_ID is not null", "FMZOLL") + If rkID <> "" AndAlso IsNumeric(rkID) Then USTV_POS.UStVPo_daId = rkID + If USTV_POS.UStVPo_daId > 0 Then + USTV_POS.UStVPo_daId_loeschbar = False + Else + USTV_POS.UStVPo_daId_loeschbar = True + End If Dim dt_Prod As New DataTable @@ -1694,15 +1701,15 @@ Public Class frmMDM_USTVAntrag For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index) - Dim pdf As String = "" + 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)) If pdf <> "" Then list.Add(pdf) - Next - End If + Next + End If - If list.Count = 0 Then Me.Cursor = Cursors.Default : Exit Sub + If list.Count = 0 Then Me.Cursor = Cursors.Default : Exit Sub If list.Count > 1 Then Dim pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("RG_" & Now.ToString("ddMMyyyyHHmmss") & ".pdf", ".pdf", False, False) @@ -1760,7 +1767,7 @@ Public Class frmMDM_USTVAntrag If dsID < 0 Then Return "" 'Anschrift Nummerierung: - Dim x = 200 + Dim x = 100 Dim y = 10 Dim width = 300 Dim height = 10 diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index 83e5e4b7..41f842de 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -937,21 +937,33 @@ Public Class usrcntlFakturierung End If End If - If Not vbYes = MsgBox("Möchten Sie die Rechnungsnummern setzen?" & vbNewLine & "Es wird eine Rechnungsnummer vergeben, die Rechnungen gelten somit als gedruckt und können nicht mehr bearbeitet werden.", vbYesNoCancel) Then Exit Sub + Dim listPDFs As New List(Of String) - Dim SQLString = "SELECT [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[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 UPPER([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]" + 'Dim SQLString = "SELECT [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr] + ' FROM Rechnungsausgang + ' WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' + ' GROUP BY [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr] + ' ORDER BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr]" - Dim dtSammelrechnungen As DataTable = (New SQL).loadDgvBySql(SQLString, "FMZOLL") + Dim SQLString ="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 UPPER([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] + ORDER BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr]" - If dtSammelrechnungen.Rows.Count > 0 Then - Dim reNrisSet = setStatus2(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen) + + + Dim dtSammelrechnungenGruppiert As DataTable = (New SQL).loadDgvBySql(SQLString, "FMZOLL") + + If dtSammelrechnungenGruppiert.Rows.Count > 0 Then + + If Not vbYes = MsgBox("Möchten Sie die Rechnungsnummern für " & dtSammelrechnungenGruppiert.Rows.Count & " Rechnungen setzen?" & vbNewLine & "Es wird eine Rechnungsnummer vergeben, die Rechnungen gelten somit als gedruckt und können nicht mehr bearbeitet werden.", vbYesNoCancel) Then Exit Sub + + Dim reNrisSet = setStatus2(Sachbearbeiter, rechnungsdatum, dtSammelrechnungenGruppiert) showPic(reNrisSet, PictureBox7) @@ -1036,8 +1048,6 @@ Public Class usrcntlFakturierung End If cnt += 1 - 'todo nach test auskommentieren!!! - 'If cnt > 3 Then Exit For Next diff --git a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb index d20d341c..79d04ec5 100644 --- a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb +++ b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb @@ -1365,8 +1365,9 @@ Public Class cFormularManager If VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD <> String.Empty Then For i As Integer = 0 To sPrinters.Count - 1 - If i.ToString.ToLower.Contains(VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD.ToLower) Then - printerName = i + Dim printer As String = sPrinters(i).ToString.ToLower + If printer.Contains(VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD.ToLower) Then + printerName = printer End If Next End If