This commit is contained in:
2021-06-24 23:05:48 +02:00
parent e625acc609
commit f2f992547d
134 changed files with 72921 additions and 2011 deletions

View File

@@ -552,7 +552,7 @@ Public Class cFakturierung
If SPEDBUCH_TMP Is Nothing Then Return False
Dim f As New frmFaktEmail(New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID), SPEDBUCH_TMP, Nothing)
f.Show(RG_TMP)
f.Show()
Return True
' Return doRechnungsDruck(New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID), RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, SammelrechnungAnlagendruck, printStbVdb)
End Function
@@ -1274,7 +1274,7 @@ Public Class cFakturierung
Case "IMEX" : firma = 20
Case "ATILLA" : firma = 7
Case "UNISPED" : firma = 21
Case "AMBAR" : firma = 22
Case "AMBAR" : firma = 24
Case "FRONTOFFICE" : firma = 17
Case Else : firma = 1
End Select
@@ -1318,6 +1318,10 @@ Public Class cFakturierung
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "IMEX-LOGO-AEO_sig.jpg""/>"
If displayFirmenmane Then getSignature &= "<br>Imex Customs Service GmbH<br>"
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Autobahngrenze 15 <br><b>T</b> +43 7711 31630 | <b>F</b> +43 7711 31630-1 | <b>@</b> " & If(individuell, emailindividuell, "info@imex-group.at") & " | www.imex-group.at | FN 410356s</div>"
Case 24 'AMBAR
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "ambar_simple.png""/>"
If displayFirmenmane Then getSignature &= "<br>AMBAR Logistic Services GmbH<br>"
getSignature &= "<div style=""font-size:12px"">D 83435 Bad Reichenhall, Reichenhallerstrasse 62<br><b>T</b> +49 8651 99624911 | <b>F</b> +49 8651 9962493 | <b>@</b> " & If(individuell, emailindividuell, "info@ambarlog.de") & " | www.ambarlog.com | DE309105428</div>"
Case 21 'UNISPED
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "Unisped_logo.jpg""/>"
If displayFirmenmane Then getSignature &= "<br>Unisped Speditions GmbH<br>"
@@ -1511,7 +1515,7 @@ Public Class cFakturierung
End Function
Public Shared Function doSAMMELRechnungsDruck(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Rechnungsdatum As Date, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional whereKdNr As String = "", Optional RechnungsdruckArt As Integer = -1, Optional ByRef listPDFs As List(Of String) = Nothing, Optional SB As String = "", ByRef Optional lastAktuelle_RgNr As Integer = -1, ByRef Optional DruckdatumUhrzeit As DateTime = Nothing, Optional AvisoIds As List(Of Integer) = Nothing, Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional vorschau As Boolean = False) As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean
Public Shared Function doSAMMELRechnungsDruck(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Rechnungsdatum As Date, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional whereKdNr As String = "", Optional RechnungsdruckArt As Integer = -1, Optional ByRef listPDFs As List(Of String) = Nothing, Optional SB As String = "", ByRef Optional lastAktuelle_RgNr As Integer = -1, ByRef Optional DruckdatumUhrzeit As DateTime = Nothing, Optional AvisoIds As List(Of Integer) = Nothing, Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional vorschau As Boolean = False, Optional AnlageExcelTransferry360 As Boolean = False) As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean
'If RECHNUNG Is Nothing Then MsgBox("Fehler beim Laden der Rechnungsdaten!") : Return False
Try
'If whereKdNr <> "" Then whereKdNr = " AND RechnungsKundenNr IN(" & whereKdNr & ") "
@@ -1564,7 +1568,7 @@ Public Class cFakturierung
If FIRMATmp < 0 Then FIRMATmp = RG.Firma_ID 'erstes Mal
If kdTmp <> RG.RechnungsKundenNr Or AvisoIdTmp <> RG.AvisoID Or FIRMATmp <> RG.Firma_ID Then 'Or FilialeTmp <> RG.FilialenNr
Dim path = ""
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID) 'hier wird auch die RG Nr erhöht!
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360) 'hier wird auch die RG Nr erhöht!
Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
If path <> "" Then listPDFs.Add(path)
End If
@@ -1578,7 +1582,7 @@ Public Class cFakturierung
If FIRMATmp < 0 Then FIRMATmp = RG.Firma_ID 'erstes Mal
If kdTmp <> RG.RechnungsKundenNr Or FIRMATmp <> RG.Firma_ID Then 'Or FilialeTmp <> RG.FilialenNr
Dim path = ""
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID)
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360)
Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
If path <> "" Then listPDFs.Add(path)
End If
@@ -1605,7 +1609,7 @@ Public Class cFakturierung
'Letzter Abschnitt:
If found Then
Dim path = ""
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID)
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360)
If path <> "" Then listPDFs.Add(path)
End If
lastAktuelle_RgNr = Aktuelle_RgNr
@@ -1624,7 +1628,7 @@ Public Class cFakturierung
RG_NR.CHECK_RGNR()
End Function
Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "") As Boolean
Public Shared Function doSAMMELRechnungsDruck_Abschnitt(ByRef RechnungsNr As Integer, Firma_ID As Integer, Buchungsjahr As Integer, DruckdatumUhrzeit As DateTime, PrinterName As String, Optional AnlageEinzelRg As Boolean = True, Optional Sammelrechnungsbericht As Boolean = True, Optional RechnungsdruckArt As Integer = -1, Optional ByRef pathPDF As String = "", Optional SRDruckWiederholen As Boolean = False, Optional SB As String = "", Optional AnlageExcelEvolog As Boolean = False, Optional ByRef SonstAnlagen As List(Of String) = Nothing, Optional VorschauID As String = "", Optional AnlageExcelTransferry360 As Boolean = False) As Boolean
'SB Nicht mehr benötigt, da RG-Nr und DruckdatumUhrzeit
Dim dt As DataTable
@@ -1643,6 +1647,7 @@ Public Class cFakturierung
Dim pathPDF_SammelRg = ""
Dim pathPDF_SammelBericht = ""
Dim xls_Evolog = ""
Dim xls_Transferry360 = ""
Dim pathPDF_Anlage As New List(Of String)
'-------------- ENDE --------------
@@ -1659,10 +1664,17 @@ Public Class cFakturierung
doSAMMELRechnungsDruck_Abschnitt = False
End If
End If
If AnlageExcelTransferry360 Then 'Sammelrechnungsbericht EVOLOG
If doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht_ExcelTransFerry360(RechnungsNr, DruckdatumUhrzeit, RechnungsdruckArt, xls_Transferry360, PrinterName, VorschauID) Then
If xls_Transferry360 <> "" Then SonstAnlagen.Add(xls_Transferry360)
Else
doSAMMELRechnungsDruck_Abschnitt = False
End If
End If
'ZOLLBELEGE:
If RechnungsdruckArt = 0 Or RechnungsdruckArt = 1 Then 'DRUCK
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("FAKTURIERUNG_PRINT_Zollbeleg") Then 'Sammelrechnungsbericht EVOLOG
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("FAKTURIERUNG_PRINT_Zollbeleg") Then
Try
Dim pathZollbeleg = getSpedBuchAnhaenge_Path(dt.Rows(0)("FilialenNr"), dt.Rows(0)("AbfertigungsNr"), dt.Rows(0)("SpeditionsbuchUnterNr"))
If pathZollbeleg <> "" Then SonstAnlagen.Add(pathZollbeleg)
@@ -1846,6 +1858,110 @@ Public Class cFakturierung
End Function
Shared Function doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht_ExcelTransFerry360(RechnungsNr As Integer, DruckdatumUhrzeit As Date, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional PrinterName As String = "", Optional VorschauID As String = "") As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean
Try
'Dim sqlStr = " SELECT [RechnungsName 1],[AbsenderName 1],[EmpfängerName 1],Abfertigungsarten.Abfertigungsart,RechnungsNr,RechnungsDatum,RechnungsKundenNr,Rechnungsausgang.Abfertigungsdatum,Rechnungsausgang.KdAuftragsNr,Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.FilialenNr,Rechnungsausgang.SpeditionsbuchUnterNr,Rechnungsausgang.[LKW Kennzeichen] as Kennzeichen,Abfertigungsarten.Abfertigungsbezeichnung, (SELECT SUM([SteuerpflichtigerBetrag]+[SteuerfreierBetrag]) FROM RechnungsausgangPositionen where RechnungsausgangPositionen.RK_ID=Rechnungsausgang.RK_ID) as Betrag
' ,isnull((SELECT cast(Sum(Anzahl)as varchar(5)) FROM RechnungsausgangPositionen AS POS2 where POS2.RK_ID=Rechnungsausgang.RK_ID and POS2.[BerechnungsartNr]=10),'') As POSAnz
' FROM Rechnungsausgang INNER JOIN Speditionsbuch on Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr
' INNER JOIN Abfertigungsarten ON Abfertigungsarten .Abfertigungsart=Speditionsbuch.Abfertigungsart
' WHERE 1=1 "
Dim sqlStr = " SELECT [RechnungsName 1],[AbsenderName 1],[EmpfängerName 1],Abfertigungsarten.Abfertigungsart,RechnungsNr,RechnungsDatum,RechnungsKundenNr,Rechnungsausgang.Abfertigungsdatum,Rechnungsausgang.KdAuftragsNr,
Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.FilialenNr,Rechnungsausgang.SpeditionsbuchUnterNr,Rechnungsausgang.[LKW Kennzeichen] as Kennzeichen,POS.LeistungsBez,([SteuerpflichtigerBetrag]+[SteuerfreierBetrag]) Betrag
,CASE WHEN [BerechnungsartNr]=10 THEN '' ELSE pos.Anzahl END as [Count],CASE WHEN [BerechnungsartNr]=10 THEN pos.Anzahl ELSE '' END as POSCnt
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen as POS ON pos.RK_ID=Rechnungsausgang.RK_ID INNER JOIN Speditionsbuch on Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr
INNER JOIN Abfertigungsarten ON Abfertigungsarten .Abfertigungsart=Speditionsbuch.Abfertigungsart
WHERE 1=1 "
If VorschauID = "" Then
sqlStr &= " AND Rechnungsausgang.Status IN(3) And CONVERT(datetime,DruckDatumZeit ,104)='" & DruckdatumUhrzeit.ToString("dd.MM.yyyy HH:mm:ss.fff") & "' and RechnungsNr='" & RechnungsNr & "' "
Else
sqlStr &= " AND RechnungsNr is null AND VorschauID='" & VorschauID & "' "
End If
'sqlStr &= " ORDER BY Rechnungsausgang.FilialenNr, Rechnungsausgang.AbfertigungsNr"
sqlStr &= " order by Rechnungsausgang.AvisoID desc, FilialenNr,AbfertigungsNr,POS.[BerechnungsartNr]"
Dim dt As DataTable = SQL.loadDgvBySql(sqlStr, "FMZOLL")
If dt IsNot Nothing And dt.Rows.Count > 0 Then
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SR\" ' My.Computer.FileSystem.GetTempFileName
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
My.Computer.FileSystem.CreateDirectory(sPath)
End If
Dim exclApp As Object 'as Application
Dim Datei As Object 'as WorkBook
Dim Blatt As Object 'Microsoft.Office.Interop.Excel.Worksheet 'As Object 'as Worksheet
exclApp = CreateObject("Excel.Application")
' Dim nWeek As Integer
' nWeek = DatePart(DateInterval.WeekOfYear, New Date(2004, 3, 22), _
' FirstDayOfWeek.Monday, FirstWeekOfYear.FirstFourDays)
With exclApp
.Visible = False
Try
Path = sPath & "SR_" & dt.Rows(0)("RechnungsKundenNr") & ".xlsx"
While System.IO.File.Exists(Path)
Path = sPath & "SR_" & dt.Rows(0)("RechnungsKundenNr") & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
End While
My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.SR_TransFerry360, False)
Catch ex As System.Exception
' MsgBox(ex.Message)
MsgBox("ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace)
Return False
End Try
Datei = .Workbooks.Open(Path) 'Anpassen
Blatt = Datei.Worksheets(1) 'Anpassen
Dim cnt = 2
For Each r In dt.Rows
Blatt.Range("A" & cnt).Value = cnt - 1
Blatt.Range("B" & cnt).Value = r("RechnungsNr")
Blatt.Range("C" & cnt).Value = r("RechnungsDatum")
Blatt.Range("D" & cnt).Value = r("FilialenNr")
Blatt.Range("E" & cnt).Value = r("AbfertigungsNr")
Blatt.Range("F" & cnt).Value = r("Abfertigungsdatum")
Blatt.Range("G" & cnt).Value = r("RechnungsName 1")
Blatt.Range("H" & cnt).Value = r("AbsenderName 1")
Blatt.Range("I" & cnt).Value = r("EmpfängerName 1")
Blatt.Range("J" & cnt).Value = r("Kennzeichen")
Blatt.Range("K" & cnt).Value = r("LeistungsBez")
Blatt.Range("L" & cnt).Value = If(r("Count") = "0", "", r("Count"))
Blatt.Range("M" & cnt).Value = If(r("POSCnt") = "0", "", r("POSCnt"))
Blatt.Range("N" & cnt).Value = r("Betrag")
Blatt.Range("O" & cnt).Value = r("KdAuftragsNr")
cnt += 1
Next
Datei.Save
If Rechnugnsdruck = -1 Then
Blatt.PrintOutEx()
ElseIf Rechnugnsdruck = 3 Then
'Process.Start(Path)
.Visible = True
End If
End With
Return True
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Shared Function doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht(RechnungsNr As Integer, DruckdatumUhrzeit As Date, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional PrinterName As String = "", Optional VorschauID As String = "") As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean
Try
@@ -2021,6 +2137,22 @@ Public Class cFakturierung
sumSteuerpflichtig += stPfl
sumSteuerfrei += stFrei
Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(RECHNUNG.RechnungsKundenNr)
If KUNDE_ERW.kde_FakturierungSR_Details Then
Dim subRpt = New rptSammelRechnungAnlagenDruck_Leistungen(rpt._LAN, RECHNUNG)
rpt.SubReport.Report = subRpt
rpt.lblSteuerfrei.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold)
rpt.lblSteuerpflichtig.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold)
'txtPackstuecke.Top += SubReport.Height
'txtKdAuftragsnummer.Top += SubReport.Height
'txtSendungsdetails.Top += SubReport.Height
Else
rpt.SubReport.Report = Nothing
End If
' rpt.Line10.AnchorBottom = True
' rpt.Line10.Height = rpt.Detail.Height
End If
End Sub