From 89a88e30d5bbb7118067792b20fcadcbe95a2b8a Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 9 Nov 2026 15:07:58 +0100 Subject: [PATCH] cbam, etc. --- .../cVERAG_CustomsDeclarations.vb | 16 +-- VERAG_PROG_ALLGEMEIN/cAllgemein.vb | 97 ++++++++++++++++++- 2 files changed, 104 insertions(+), 9 deletions(-) diff --git a/VERAG_PROG_ALLGEMEIN/VERAG_Zollanmeldung/cVERAG_CustomsDeclarations.vb b/VERAG_PROG_ALLGEMEIN/VERAG_Zollanmeldung/cVERAG_CustomsDeclarations.vb index dd588227..b9df298e 100644 --- a/VERAG_PROG_ALLGEMEIN/VERAG_Zollanmeldung/cVERAG_CustomsDeclarations.vb +++ b/VERAG_PROG_ALLGEMEIN/VERAG_Zollanmeldung/cVERAG_CustomsDeclarations.vb @@ -519,7 +519,7 @@ Public Class cVERAG_CustomsDeclarations Return ZA End Function - Public Sub checkfreshCBAMWarning() + Public Sub checkfreshCBAMWarning(hasValidCBAMDocNr_VERAG As Boolean) Try Dim CBAM_ITEMS As New List(Of cVERAG_CustomsDeclarations_Item) @@ -543,7 +543,7 @@ Public Class cVERAG_CustomsDeclarations If AD IsNot Nothing Then - ImporterString = AD.Name_1 & " " & If(AD.Name_2, "") & "
" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") + ImporterString = AD.AdressenNr & "
" & AD.Name_1 & " " & If(AD.Name_2, "") & "
" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "") End If Dim KD_EX As cKunde = Nothing @@ -555,7 +555,7 @@ Public Class cVERAG_CustomsDeclarations End If If AD_EX IsNot Nothing Then - ExporterString = AD_EX.Name_1 & " " & If(AD_EX.Name_2, "") & "
" & If(AD_EX.LandKz, "") & " " & If(AD_EX.PLZ, "") & " " & If(AD_EX.Ort, "") + ExporterString = AD_EX.AdressenNr & "
" & AD_EX.Name_1 & " " & If(AD_EX.Name_2, "") & "
" & If(AD_EX.LandKz, "") & " " & If(AD_EX.PLZ, "") & " " & If(AD_EX.Ort, "") End If @@ -582,7 +582,7 @@ Public Class cVERAG_CustomsDeclarations End If If AD_IND IsNot Nothing Then - vertretenerString = AD_IND.Name_1 & " " & If(AD_IND.Name_2, "") & "
" & If(AD_IND.LandKz, "") & " " & If(AD_IND.PLZ, "") & " " & If(AD_IND.Ort, "") + vertretenerString = AD_IND.AdressenNr & "
" & AD_IND.Name_1 & " " & If(AD_IND.Name_2, "") & "
" & If(AD_IND.LandKz, "") & " " & If(AD_IND.PLZ, "") & " " & If(AD_IND.Ort, "") ERW_IND = New cKundenErweitert(AD.AdressenNr) VERTR_IND = cKundenVertraege.LOAD_LISTOF(AD.AdressenNr) End If @@ -602,7 +602,7 @@ Public Class cVERAG_CustomsDeclarations Dim quarter As Integer = Math.Ceiling(dateCBAM.Month / 3.0) Dim ImportCountry As String = If(za_CountryImport, "") - createOrUpdateKundenSicherheitseintrag(KD, ImportCountry, vertretenerEORI, quarter, dateCBAM.Year) + If hasValidCBAMDocNr_VERAG Then createOrUpdateKundenSicherheitseintrag(KD, ImportCountry, vertretenerEORI, quarter, dateCBAM.Year) 'Prüft, ob Vertrag vorliegt: @@ -660,8 +660,8 @@ Public Class cVERAG_CustomsDeclarations "" - Dim empfanegerMail As String = "" - empfanegerMail = cMitarbeiter.GetEMailRecipientForEmailNotification("CBAM-WARNUNG") + Dim empfanegerMail As String = "cbam@verag.ag;" + empfanegerMail &= cMitarbeiter.GetEMailRecipientForEmailNotification("CBAM-WARNUNG") If empfanegerMail <> "" Then VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfanegerMail, "CBAM WARNUNG - " & Me.za_MRN, bodyHtml, "cbam@verag.ag") End If @@ -688,7 +688,7 @@ Public Class cVERAG_CustomsDeclarations Dim ImportCountry As String = If(za_CountryImport, "") Dim quarter As Integer = Math.Ceiling(dateCBAM.Month / 3.0) - createOrUpdateKundenSicherheitseintrag(KD, ImportCountry, importerEORI, quarter, dateCBAM.Year) + If hasValidCBAMDocNr_VERAG Then createOrUpdateKundenSicherheitseintrag(KD, ImportCountry, importerEORI, quarter, dateCBAM.Year) Dim eigenmasseSumme_Shipment As Decimal = CBAM_ITEMS.Sum(Function(i) If(i.zaItem_NetMass, 0D)) / 1000 Dim eigenmasseSumme_YEAR As Decimal = getCBAM_KG(importerEORI, CDate("01.01." & dateCBAM.Year), CDate("31.12." & dateCBAM.Year)) / 1000 diff --git a/VERAG_PROG_ALLGEMEIN/cAllgemein.vb b/VERAG_PROG_ALLGEMEIN/cAllgemein.vb index a04d9d27..c2124779 100644 --- a/VERAG_PROG_ALLGEMEIN/cAllgemein.vb +++ b/VERAG_PROG_ALLGEMEIN/cAllgemein.vb @@ -1,5 +1,6 @@ Imports System.Data.SqlClient Imports System.IO +Imports System.Windows.Forms Public Class cAllgemein Public Shared FIRMA As String Public Shared NIEDERLASSUNG As String 'SUB, WAI, ... @@ -152,7 +153,7 @@ Public Class cAllgemein Try 'DRUCKER LADEN Dim sPrinters As New ArrayList For Each sPrinter As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters - sPrinters.add(sPrinter) + sPrinters.Add(sPrinter) Next VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_LIST = sPrinters Catch ex As Exception @@ -2031,3 +2032,97 @@ Public Class cSpeditionsbuchReport End Class + +Public Class cInvoiceReport + + Public Function RunReport_VERAG_INVOICE(KDNR As Integer, ReDatVon As Date, ReDatBis As Date) As String + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim dt As DataTable = SQL.loadDgvBySql("SELECT + CAST(RechnungsDatum AS DATE) AS InvoiceDate, + RechnungsNr AS InvoiceNumber, + FilialenNr AS BranchNo, + AbfertigungsNr AS CustomsDeclarationNo, + Abfertigungsdatum AS CustomsDeclarationDate, + AvisoID AS TruckID, + CASE + WHEN RechnungsKundenNr = 770931 + AND CHARINDEX('/', KdAuftragsNr) > 0 + THEN LTRIM(RTRIM( + LEFT( + KdAuftragsNr, + CHARINDEX('/', KdAuftragsNr) - 1 + ))) + ELSE KdAuftragsNr + END AS CustomerOrderNo, + RechnungsKundenNr AS CustomerNo, + [RechnungsName 1] AS CustomerName, + RechnungsLandKz AS CountryCode, + RechnungsUstIdNr AS CustomerVATNo, + LeistungsNr AS ServiceCode, + LeistungsBez AS ServiceDescription, + RechnungsausgangPositionen.Anzahl AS Quantity, + RechnungsausgangPositionen.Preis AS UnitPrice, + RechnungsausgangPositionen.SteuerfreierBetrag AS NetAmountTaxFree, + RechnungsausgangPositionen.SteuerpflichtigerBetrag AS NetAmountTaxable, + -- Umsatzsteuerbetrag + RechnungsausgangPositionen.SteuerpflichtigerBetrag * + ([Steuersatz %] - 1) AS VATAmount, + -- Bruttobetrag steuerpflichtiger Teil + RechnungsausgangPositionen.SteuerpflichtigerBetrag * + [Steuersatz %] AS GrossAmountTaxable, + -- Gesamtbetrag + RechnungsausgangPositionen.SteuerfreierBetrag + + (RechnungsausgangPositionen.SteuerpflichtigerBetrag * + [Steuersatz %]) AS GrossAmountTotal, + [Steuersatz %] AS VATRate, + Währungscode AS CurrencyCode, + CASE + WHEN ROW_NUMBER() OVER ( + PARTITION BY Rechnungsausgang.RK_ID + ORDER BY RechnungsausgangPositionen.LeistungsNr + ) = 1 + THEN Wert + END AS GoodsValue, + RechnungsausgangPositionen.AufschubkontoNr AS DefermentAccountNo, + RechnungsausgangPositionen.Weitere_Reg_Nr AS AdditionalReferenceNo, + [LKW Kennzeichen] AS VehicleRegistrationNo, + Grenze AS BorderCrossing + FROM [VERAG].[dbo].[Rechnungsausgang] + inner join Adressen on RechnungsKundenNr=AdressenNr + inner join RechnungsausgangPositionen on Rechnungsausgang.RK_ID= RechnungsausgangPositionen.rk_id + where 1=1 AND Rechnungsausgang.[RechnungsDatum] BETWEEN '" & ReDatVon.ToShortDateString & "' AND '" & ReDatBis.ToShortDateString & "' and RechnungsKundenNr = " & KDNR & " order by rechnungsdatum,RechnungsNr,CustomerNo, LeistungsNr ", "FMZOLL") + + + + If dt IsNot Nothing And dt.Rows.Count > 0 Then + Dim lastRow As Integer = dt.Rows.Count + 1 + + Dim fileName As String = cProgramFunctions.genExcelFromDT_NEW(dt, + rangeAsWaehrung:={ + "N2:N" & lastRow, ' UnitPrice + "O2:O" & lastRow, ' NetAmountTaxFree + "P2:P" & lastRow, ' NetAmountTaxable + "Q2:Q" & lastRow, ' VATAmount + "R2:R" & lastRow, ' GrossAmountTaxable + "S2:S" & lastRow, ' GrossAmountTotal + "V2:V" & lastRow ' GoodsValue + }, ShowAutoFilter:=True, HeaderTxt:="",, False, "REPORT_INVOICE_" & KDNR & "_" & ReDatVon.Month & "-" & ReDatBis.Month & "/" & ReDatBis.Year) + + If fileName <> "" Then + Return fileName + End If + + Else + Return "" + + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + Return "" + + End Function +End Class