6163 lines
395 KiB
VB.net
6163 lines
395 KiB
VB.net
|
||
Imports System.Globalization
|
||
Imports System.IO
|
||
Imports System.Net
|
||
Imports System.Web.UI.WebControls.Expressions
|
||
Imports Microsoft.Office.Interop
|
||
Imports s2industries.ZUGFeRD
|
||
Imports VERAG_PROG_ALLGEMEIN
|
||
|
||
Public Class cFakturierung
|
||
|
||
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
|
||
Public Shared Function fktSVSRVS(firmaId As Integer, varWert As Object, Optional varWährungscode As Object = "EUR") As Object
|
||
Select Case firmaId
|
||
Case 21, 22, 23
|
||
fktSVSRVS_UNISPED(varWert, varWährungscode)
|
||
Case Else
|
||
fktSVSRVS(varWert, varWährungscode)
|
||
End Select
|
||
End Function
|
||
Public Shared Function fktSVSRVS(varWert As Object, Optional varWährungscode As Object = "EUR") As Object
|
||
|
||
Dim varVersicherungssumme As Object
|
||
Dim varRechnungswährung As Object
|
||
|
||
' Versicherungssumme prüfen
|
||
|
||
varVersicherungssumme = varWert
|
||
If varVersicherungssumme Is Nothing OrElse varVersicherungssumme = 0 Then
|
||
MsgBox("Die SVS/RVS-Prämie kann nicht ermittelt werden. Der Warenwert zur Bestimmung der Versicherungssumme ist nicht bekannt.", , "fktSVSRVS")
|
||
fktSVSRVS = Nothing
|
||
Exit Function
|
||
ElseIf varVersicherungssumme < 0 Then
|
||
varVersicherungssumme = 0 - varVersicherungssumme
|
||
End If
|
||
|
||
' Die SVS/RVS-Tabelle ist in der Währung ATS geführt.
|
||
' Wenn der Wert zur Bestimmung der Versicherungssumme auf einer anderen Währung basiert,
|
||
' wird der Wert in ATS umgerechnet.
|
||
' Die Versicherungsprämie ist in der Währung ATS angegeben. Lautet die Rechnung auf eine
|
||
' andere Währung, wird die Versicherungsprämie auf diese Währung umgerechnet.
|
||
|
||
varRechnungswährung = varWährungscode
|
||
Select Case VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(varVersicherungssumme, varRechnungswährung, "EUR")
|
||
Case Is <= 2500
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(2.5, "EUR", varRechnungswährung)
|
||
Case Is <= 3750
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(3.8, "EUR", varRechnungswährung)
|
||
Case Is <= 5000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(5, "EUR", varRechnungswährung)
|
||
Case Is <= 6250
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(6.1, "EUR", varRechnungswährung)
|
||
Case Is <= 7500
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(7.45, "EUR", varRechnungswährung)
|
||
Case Is <= 10000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(9.75, "EUR", varRechnungswährung)
|
||
Case Is <= 15000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(13.95, "EUR", varRechnungswährung)
|
||
Case Is <= 20000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(18.15, "EUR", varRechnungswährung)
|
||
Case Is <= 25000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(22.15, "EUR", varRechnungswährung)
|
||
Case Is <= 50000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(39.15, "EUR", varRechnungswährung)
|
||
Case Is <= 100000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(64.6, "EUR", varRechnungswährung)
|
||
Case Is <= 150000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(91.8, "EUR", varRechnungswährung)
|
||
Case Is <= 200000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(117.3, "EUR", varRechnungswährung)
|
||
Case Is <= 300000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(140.8, "EUR", varRechnungswährung)
|
||
Case Is <= 1500000
|
||
fktSVSRVS = Int((varVersicherungssumme * 0.00039) * 100 + 0.5) / 100
|
||
Case Else 'ab V.193 auf Veranlassung von Andreas Luxbauer.
|
||
fktSVSRVS = Int((1500000 * 0.00039) * 100 + 0.5) / 100
|
||
End Select
|
||
|
||
If False Then
|
||
|
||
Select Case VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(varVersicherungssumme, varRechnungswährung, "ATS")
|
||
Case Is <= 20000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(18, "ATS", varRechnungswährung)
|
||
Case Is <= 40000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(28, "ATS", varRechnungswährung)
|
||
Case Is <= 60000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(39, "ATS", varRechnungswährung)
|
||
Case Is <= 80000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(50, "ATS", varRechnungswährung)
|
||
Case Is <= 100000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(61, "ATS", varRechnungswährung)
|
||
Case Is <= 120000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(78, "ATS", varRechnungswährung)
|
||
Case Is <= 140000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(89, "ATS", varRechnungswährung)
|
||
Case Is <= 160000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(100, "ATS", varRechnungswährung)
|
||
Case Is <= 180000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(111, "ATS", varRechnungswährung)
|
||
Case Is <= 200000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(122, "ATS", varRechnungswährung)
|
||
Case Is <= 250000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(138, "ATS", varRechnungswährung)
|
||
Case Is <= 300000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(160, "ATS", varRechnungswährung)
|
||
Case Is <= 350000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(182, "ATS", varRechnungswährung)
|
||
Case Is <= 400000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(204, "ATS", varRechnungswährung)
|
||
Case Is <= 450000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(226, "ATS", varRechnungswährung)
|
||
Case Is <= 500000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(248, "ATS", varRechnungswährung)
|
||
Case Is <= 550000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(282, "ATS", varRechnungswährung)
|
||
Case Is <= 600000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(304, "ATS", varRechnungswährung)
|
||
Case Is <= 650000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(326, "ATS", varRechnungswährung)
|
||
Case Is <= 700000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(348, "ATS", varRechnungswährung)
|
||
Case Is <= 750000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(370, "ATS", varRechnungswährung)
|
||
Case Is <= 800000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(392, "ATS", varRechnungswährung)
|
||
Case Is <= 850000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(409, "ATS", varRechnungswährung)
|
||
Case Is <= 900000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(426, "ATS", varRechnungswährung)
|
||
Case Is <= 950000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(443, "ATS", varRechnungswährung)
|
||
Case Is <= 1000000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(460, "ATS", varRechnungswährung)
|
||
Case Is <= 1050000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(489, "ATS", varRechnungswährung)
|
||
Case Is <= 1100000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(506, "ATS", varRechnungswährung)
|
||
Case Is <= 1150000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(523, "ATS", varRechnungswährung)
|
||
Case Is <= 1200000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(540, "ATS", varRechnungswährung)
|
||
Case Is <= 1250000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(557, "ATS", varRechnungswährung)
|
||
Case Is <= 1300000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(574, "ATS", varRechnungswährung)
|
||
Case Is <= 1350000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(591, "ATS", varRechnungswährung)
|
||
Case Is <= 1400000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(608, "ATS", varRechnungswährung)
|
||
Case Is <= 1450000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(625, "ATS", varRechnungswährung)
|
||
Case Is <= 1500000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(642, "ATS", varRechnungswährung)
|
||
Case Is <= 1600000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(669, "ATS", varRechnungswährung)
|
||
Case Is <= 1700000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(696, "ATS", varRechnungswährung)
|
||
Case Is <= 1800000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(723, "ATS", varRechnungswährung)
|
||
Case Is <= 1900000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(750, "ATS", varRechnungswährung)
|
||
Case Is <= 2000000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(777, "ATS", varRechnungswährung)
|
||
Case Is <= 2200000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(823, "ATS", varRechnungswährung)
|
||
Case Is <= 2400000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(857, "ATS", varRechnungswährung)
|
||
Case Is <= 2600000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(891, "ATS", varRechnungswährung)
|
||
Case Is <= 2800000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(925, "ATS", varRechnungswährung)
|
||
Case Is <= 3000000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(959, "ATS", varRechnungswährung)
|
||
Case Is <= 3200000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(993, "ATS", varRechnungswährung)
|
||
Case Is <= 3400000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(1027, "ATS", varRechnungswährung)
|
||
Case Is <= 3600000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(1061, "ATS", varRechnungswährung)
|
||
Case Is <= 3800000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(1095, "ATS", varRechnungswährung)
|
||
Case Is <= 4000000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(1129, "ATS", varRechnungswährung)
|
||
Case Is <= 4500000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(1163, "ATS", varRechnungswährung)
|
||
Case Is <= 5000000
|
||
fktSVSRVS = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(1268, "ATS", varRechnungswährung)
|
||
Case Else
|
||
fktSVSRVS = Int((varVersicherungssumme * 0.00024) * 100 + 0.5) / 100
|
||
End Select
|
||
End If
|
||
|
||
End Function
|
||
|
||
Public Shared Function fktSVSRVS_UNISPED(varWert As Object, Optional varWährungscode As Object = "EUR") As Object
|
||
|
||
Dim varVersicherungssumme As Object
|
||
Dim varRechnungswährung As Object
|
||
|
||
' Versicherungssumme prüfen
|
||
|
||
varVersicherungssumme = varWert
|
||
If varVersicherungssumme Is Nothing OrElse varVersicherungssumme = 0 Then
|
||
MsgBox("Die SVS/RVS-Prämie kann nicht ermittelt werden. Der Warenwert zur Bestimmung der Versicherungssumme ist nicht bekannt.", , "fktSVSRVS")
|
||
fktSVSRVS_UNISPED = Nothing
|
||
Exit Function
|
||
ElseIf varVersicherungssumme < 0 Then
|
||
varVersicherungssumme = 0 - varVersicherungssumme
|
||
End If
|
||
|
||
' Die SVS/RVS-Tabelle ist in der Währung ATS geführt.
|
||
' Wenn der Wert zur Bestimmung der Versicherungssumme auf einer anderen Währung basiert,
|
||
' wird der Wert in ATS umgerechnet.
|
||
' Die Versicherungsprämie ist in der Währung ATS angegeben. Lautet die Rechnung auf eine
|
||
' andere Währung, wird die Versicherungsprämie auf diese Währung umgerechnet.
|
||
|
||
varRechnungswährung = varWährungscode
|
||
Select Case VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(varVersicherungssumme, varRechnungswährung, "EUR")
|
||
Case Is <= 2500
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(2.91, "EUR", varRechnungswährung)
|
||
Case Is <= 3750
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(4.42, "EUR", varRechnungswährung)
|
||
Case Is <= 5000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(5.82, "EUR", varRechnungswährung)
|
||
Case Is <= 6250
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(7.1, "EUR", varRechnungswährung)
|
||
Case Is <= 7500
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(8.67, "EUR", varRechnungswährung)
|
||
Case Is <= 10000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(11.34, "EUR", varRechnungswährung)
|
||
Case Is <= 15000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(16.24, "EUR", varRechnungswährung)
|
||
Case Is <= 20000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(21.13, "EUR", varRechnungswährung)
|
||
Case Is <= 25000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(25.3, "EUR", varRechnungswährung)
|
||
Case Is <= 50000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(44.73, "EUR", varRechnungswährung)
|
||
Case Is <= 100000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(73.8, "EUR", varRechnungswährung)
|
||
Case Is <= 150000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(104.87, "EUR", varRechnungswährung)
|
||
Case Is <= 200000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(134, "EUR", varRechnungswährung)
|
||
Case Is <= 300000
|
||
fktSVSRVS_UNISPED = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(160.85, "EUR", varRechnungswährung)
|
||
Case Is <= 1500000
|
||
fktSVSRVS_UNISPED = Int((varVersicherungssumme * 0.00055) * 100 + 0.5) / 100
|
||
Case Else
|
||
fktSVSRVS_UNISPED = Int((1500000 * 0.00055) * 100 + 0.5) / 100
|
||
End Select
|
||
|
||
End Function
|
||
|
||
Shared Sub setGesamtBetraege(ByRef RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional Steuersatz_Proz As Object = Nothing, Optional useNettogesatbetrag As Boolean = False)
|
||
Dim steuerPflichtigerBetrag As Double = 0
|
||
Dim steuerFreierBetrag As Double = 0
|
||
Dim Abfertigungskosten As Double = 0
|
||
Dim vorzeichen = 1 'If(RECHNUNG.Vorzeichen = "-", -1, 1)
|
||
If Steuersatz_Proz IsNot Nothing Then
|
||
RECHNUNG.Steuersatz_Proz = CDbl(Steuersatz_Proz)
|
||
End If ' RECHNUNG.Steuersatz_Proz = If(txtSteuersatz._value, 0)
|
||
|
||
For Each POS In RECHNUNG.POSITIONEN
|
||
If POS.Anzahl > 0 And POS.Preis <> 0 Then 'HIER WIRD GEFILTERT --> Nur wo etwas zu verrechnen ist!
|
||
If CBool(POS.Steuerpflichtig) Then
|
||
steuerPflichtigerBetrag += POS.SteuerpflichtigerBetrag
|
||
Else
|
||
steuerFreierBetrag += POS.SteuerfreierBetrag
|
||
End If
|
||
|
||
If CBool(SQL.DLookup("[Abfertigungskosten]", "Leistungen", "[LeistungsNr]=" & POS.[LeistungsNr], "FMZOLL", False)) Then
|
||
|
||
Abfertigungskosten += VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(POS.[SteuerpflichtigerBetrag], RECHNUNG.Währungscode, "EUR")
|
||
Abfertigungskosten += VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(POS.[SteuerfreierBetrag], RECHNUNG.Währungscode, "EUR")
|
||
|
||
End If
|
||
End If
|
||
Next
|
||
|
||
RECHNUNG.Abfertigungskosten = Abfertigungskosten * vorzeichen
|
||
|
||
steuerFreierBetrag *= vorzeichen
|
||
steuerPflichtigerBetrag *= vorzeichen
|
||
steuerFreierBetrag *= vorzeichen
|
||
|
||
Dim steuerBetrag As Double = 0
|
||
If RECHNUNG.Steuersatz_Proz <> 0 Then
|
||
steuerBetrag = steuerPflichtigerBetrag * RECHNUNG.Steuersatz_Proz
|
||
RECHNUNG.SteuerpflichtigerGesamtbetrag = steuerPflichtigerBetrag + IIf(Not useNettogesatbetrag, steuerBetrag, 0) '+ steuerBetrag
|
||
RECHNUNG.SteuerfreierGesamtbetrag = steuerFreierBetrag
|
||
Else
|
||
RECHNUNG.SteuerpflichtigerGesamtbetrag = 0
|
||
RECHNUNG.SteuerfreierGesamtbetrag = steuerFreierBetrag + steuerPflichtigerBetrag
|
||
End If
|
||
End Sub
|
||
|
||
|
||
Shared Function przRechnungstextZZ(ByRef RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As String ', ByRef strZahlbar As String, ByRef strText As String)
|
||
|
||
If RECHNUNG Is Nothing Then Exit Function
|
||
|
||
Dim strZahlbar As String = ""
|
||
Dim strText As String = ""
|
||
' Dim varPos As Object
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
|
||
' Dim Nettozahlungsziel
|
||
|
||
Dim ZZTage = 10
|
||
If RECHNUNG.RechnungsKundenNr > 0 Then
|
||
|
||
Dim RECHNUNG_AD As New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr)
|
||
Dim RECHNUNG_KD As New VERAG_PROG_ALLGEMEIN.cKunde(RECHNUNG.RechnungsKundenNr)
|
||
|
||
If RECHNUNG_KD.Zahlungsziel IsNot Nothing AndAlso IsNumeric(RECHNUNG_KD.Zahlungsziel) Then
|
||
ZZTage = RECHNUNG_KD.Zahlungsziel
|
||
If ZZTage > 14 AndAlso RECHNUNG.Firma_ID = 19 AndAlso RECHNUNG.FilialenNr = 8001 Then
|
||
ZZTage = 14
|
||
End If
|
||
End If
|
||
|
||
Select Case RECHNUNG.[BelegartenNr]
|
||
Case 70 'RECHNUNG
|
||
|
||
Dim VK = VERAG_PROG_ALLGEMEIN.cVorauskasse.LOADByFilialeAbfNr(RECHNUNG.FilialenNr, RECHNUNG.AbfertigungsNr)
|
||
Dim VK_Tmp = False
|
||
|
||
If RECHNUNG.[Vorkasse] Then
|
||
VK_Tmp = (VK IsNot Nothing)
|
||
End If
|
||
|
||
If Not VK_Tmp Then
|
||
If RECHNUNG.Lastschrift Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText & "The invoice amount was collected by direct debit order." & vbCrLf
|
||
Case "RO" : strText = strText & "Suma facturii a fost incasata prin ordin de debitare directa." & vbCrLf
|
||
Case Else : strText = strText & "Der Rechnungsbetrag wurde durch erteilten Abbuchungsauftrag eingezogen." & vbCrLf
|
||
End Select
|
||
Else
|
||
If checkIfKreditaufwendungen(RECHNUNG) Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
'Case "EN" : strZahlbar = "Payable within " & ZZTage & " days less pos. 750; due net from " & ZZTage & " days."
|
||
'Case Else : strZahlbar = "Zahlbar innerhalb " & ZZTage & " Tagen abzüglich Pos. 750; ab " & ZZTage & " Tagen netto fällig."
|
||
Case "EN" : strZahlbar = "Terms of Payment: " & ZZTage & " days from invoice date; Pos. 750 is deductible within the payment term."
|
||
Case "RO" : strZahlbar = "Payment term: " & ZZTage & " days from invoice date; Pos. 750 is deductible within the payment term."
|
||
Case Else : strZahlbar = "Zahlungsziel: " & ZZTage & " Tage ab Rechnungsdatum; Pos. 750 ist innerhalb des Zahlungsziels abzugfähig."
|
||
End Select
|
||
Else
|
||
'Zahlungsziel allgemein.
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strZahlbar = "Terms of Payment: " & ZZTage & " days as of document date"
|
||
Case "RO" : strZahlbar = "Termen de plata: " & ZZTage & " zile de la data emiterii facturii"
|
||
Case Else : strZahlbar = "Zahlungsziel: " & ZZTage & " Tage ab Rechnungsdatum"
|
||
'Case "EN" : strZahlbar = "Payable within " & ZZTage & " days from date of invoice."
|
||
'Case Else : strZahlbar = "Zahlbar innerhalb " & ZZTage & " Tagen ab Rechnungsdatum."
|
||
End Select
|
||
End If
|
||
|
||
If RECHNUNG.Firma_ID = 4 Then
|
||
strZahlbar &= " (<Rechnungsdatum+ZZ>)"
|
||
End If
|
||
'
|
||
|
||
'Zahlungsziel bei Maut/Diesel.
|
||
'DA STIMMT WAS NICHT::::::
|
||
'If RECHNUNG.OffertenNr IsNot Nothing And RECHNUNG.RechnungsKundenNr > 0 And RECHNUNG.RechnungsLandKz IsNot Nothing Then
|
||
' Dim ZahlungszielOffert As String = SQL.getValueTxtBySql("SELECT isnull(Zahlungsziel,'') FROM Offertenstamm WHERE OffertenNr='" & RECHNUNG.OffertenNr & "' AND Zahlungsziel Is Not Null", "FMZOLL")
|
||
' Dim ZahlungszielKunde As String = If(RECHNUNG_KD.Zahlungsziel, "")
|
||
' Dim ZahlungszielText As String = SQL.getValueTxtBySql("SELECT isnull(tblZahlungszieltexte.Text,'') FROM tblZahlungszieltexte WHERE tblZahlungszieltexte.LandKz='" & RECHNUNG.RechnungsLandKz & "' AND tblZahlungszieltexte.Text Is Not Null", "FMZOLL")
|
||
|
||
' If ZahlungszielKunde <> "" Then 'Zahlungsziel für Kunde verwenden
|
||
' RECHNUNG.Nettozahlungsziel = ZahlungszielKunde
|
||
' strZahlbar = If(ZahlungszielText <> "", ZahlungszielText, "Rechnung zahlbar spätestens bis") & " " & ZahlungszielKunde & "!"
|
||
' ElseIf ZahlungszielOffert <> "" Then 'Zahlungsziel für Offerte verwenden
|
||
' RECHNUNG.Nettozahlungsziel = ZahlungszielOffert
|
||
' strZahlbar = If(ZahlungszielText <> "", ZahlungszielText, "Rechnung zahlbar spätestens bis") & " " & ZahlungszielOffert & "!"
|
||
' End If
|
||
'End If
|
||
|
||
|
||
'' Text bei Zoll oder EUSt drucken --> UNTEN IM TEXT
|
||
'If checkIfcheckIfZollbelege(RECHNUNG) Then
|
||
' Select Case RECHNUNG.RechnungSprache
|
||
' Case "EN" : strText = strText & "Please check all customs documents immediately for correctness, as objections are only possible 1 month after the date of the customs notification." & vbCrLf
|
||
' Case Else : strText = strText & "Alle Zollbelege bitte sofort auf Richtigkeit prüfen da Einspruch gemäß § 355 AO nur 1 Monat nach Datum des Zollbescheides möglich." & vbCrLf
|
||
' End Select
|
||
'End If
|
||
|
||
End If
|
||
Else
|
||
If VK IsNot Nothing AndAlso CDbl(VK.vk_Betrag) > 0 Then
|
||
If VK.vk_GeldEingetroffen Then ' Wenn 0 dann Fehler
|
||
|
||
|
||
Dim diff As Double = CDbl(VK.vk_Betrag) - CDbl(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
|
||
If diff < 0.5 And diff > 0.5 Then ' If diff = 0 Then --> 50ct spielraum ok für diff
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText & "The invoice was balanced by payment in advance." & vbCrLf
|
||
Case "RO" : strText = strText & "Suma facturii a fost stinsa prin plata in avans." & vbCrLf
|
||
Case Else : strText = strText & "Der Rechnungsbetrag wurde bereits per Vorauszahlung beglichen." & vbCrLf
|
||
End Select
|
||
Else
|
||
If diff > 0 Then 'Guthaben
|
||
'Select Case RECHNUNG.RechnungSprache
|
||
' Case "EN" : strText = strText & "An advance payment has already been made for this invoice, resulting in a credit balance of " & diff.ToString("C2") & "." & vbCrLf
|
||
' Case Else : strText = strText & "Zu dieser Rechnung wurde bereits eine Vorauszahlung geleistet, daraus ergibt sich ein Guthaben von " & diff.ToString("C2") & "." & vbCrLf
|
||
'End Select
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText & "Advanced payment to this invoice has already been made." & vbCrLf
|
||
Case "RO" : strText = strText & "Pentru aceasta factura a fost efectuata deja o plata in avans." & vbCrLf
|
||
Case Else : strText = strText & "Zu dieser Rechnung wurde bereits eine Vorauszahlung geleistet." & vbCrLf
|
||
End Select
|
||
Else 'Nachzahlung
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText & "Partial payment has already been in advance. Please remit the respective balance." & vbCrLf
|
||
Case "RO" : strText = strText & "Pentru aceasta factura a fost efectuata deja o plata in avans. Va rugam achitati diferenta." & vbCrLf
|
||
Case Else : strText = strText & "Zu dieser Rechnung wurde bereits eine Vorauszahlung geleistet, bitte überweisen Sie ggf. den Differenzbetrag." & vbCrLf
|
||
End Select
|
||
End If
|
||
End If
|
||
End If
|
||
End If
|
||
End If
|
||
Case 71 'GS
|
||
If RECHNUNG.Lastschrift Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText & "The credit note is being balanced against direct debit order." & vbCrLf
|
||
Case "RO" : strText = strText & "Creditul a fost compensat cu ordinul de debitare emis." & vbCrLf
|
||
Case Else : strText = strText & "Der Gutschriftsbetrag wurde mit erteilten Abbuchungsauftrag verrechnet." & vbCrLf
|
||
End Select
|
||
Else
|
||
If RECHNUNG.Firma_ID = 19 Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strZahlbar = "Terms of Payment: " & ZZTage & " days"
|
||
Case "RO" : strZahlbar = "Termen de plata: " & ZZTage & " zile"
|
||
Case Else : strZahlbar = "Zahlungsziel: " & ZZTage & " Tage"
|
||
End Select
|
||
End If
|
||
|
||
End If
|
||
End Select
|
||
|
||
strText = (strZahlbar & vbNewLine & strText).Trim
|
||
|
||
If strText = "" Then
|
||
RECHNUNG.TextZZ = Nothing
|
||
Else
|
||
strText.Replace("<EMailAdresse>", If(RECHNUNG_AD.E_Mail, " - "))
|
||
|
||
RECHNUNG.TextZZ = strText
|
||
End If
|
||
|
||
|
||
End If
|
||
|
||
|
||
Return strText.Trim
|
||
|
||
|
||
End Function
|
||
Shared Function checkAnlage_Orig(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang)
|
||
If RECHNUNG IsNot Nothing Then
|
||
If RECHNUNG.Anlage_1 IsNot Nothing Then If (RECHNUNG.Anlage_1.contains("ATR") Or RECHNUNG.Anlage_1.contains("ATR") Or RECHNUNG.Anlage_1.contains("Präf")) And Not (RECHNUNG.Anlage_1.contains("Kopie") Or RECHNUNG.Anlage_1.contains("Copy")) Then Return True
|
||
If RECHNUNG.Anlage_2 IsNot Nothing Then If (RECHNUNG.Anlage_2.contains("ATR") Or RECHNUNG.Anlage_2.contains("ATR") Or RECHNUNG.Anlage_2.contains("Präf")) And Not (RECHNUNG.Anlage_2.contains("Kopie") Or RECHNUNG.Anlage_2.contains("Copy")) Then Return True
|
||
If RECHNUNG.Anlage_3 IsNot Nothing Then If (RECHNUNG.Anlage_3.contains("ATR") Or RECHNUNG.Anlage_3.contains("ATR") Or RECHNUNG.Anlage_3.contains("Präf")) And Not (RECHNUNG.Anlage_3.contains("Kopie") Or RECHNUNG.Anlage_3.contains("Copy")) Then Return True
|
||
If RECHNUNG.Anlage_4 IsNot Nothing Then If (RECHNUNG.Anlage_4.contains("ATR") Or RECHNUNG.Anlage_4.contains("ATR") Or RECHNUNG.Anlage_4.contains("Präf")) And Not (RECHNUNG.Anlage_4.contains("Kopie") Or RECHNUNG.Anlage_4.contains("Copy")) Then Return True
|
||
If RECHNUNG.Anlage_5 IsNot Nothing Then If (RECHNUNG.Anlage_5.contains("ATR") Or RECHNUNG.Anlage_5.contains("ATR") Or RECHNUNG.Anlage_5.contains("Präf")) And Not (RECHNUNG.Anlage_5.contains("Kopie") Or RECHNUNG.Anlage_5.contains("Copy")) Then Return True
|
||
If RECHNUNG.Anlage_6 IsNot Nothing Then If (RECHNUNG.Anlage_6.contains("ATR") Or RECHNUNG.Anlage_6.contains("ATR") Or RECHNUNG.Anlage_6.contains("Präf")) And Not (RECHNUNG.Anlage_6.contains("Kopie") Or RECHNUNG.Anlage_6.contains("Copy")) Then Return True
|
||
End If
|
||
Return False
|
||
End Function
|
||
|
||
'Shared Function przRechnungstext(ByRef RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As String ', ByRef strZahlbar As String, ByRef strText As String)
|
||
' Dim txtZZ = przRechnungstextTXT(RECHNUNG)
|
||
' Dim txtTXT = przRechnungstextZZ(RECHNUNG)
|
||
' Return (txtZZ & vbNewLine & txtTXT).Trim
|
||
'End Function
|
||
Shared Function przRechnungstextTXT(ByRef RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch) As String ', ByRef strZahlbar As String, ByRef strText As String)
|
||
|
||
If RECHNUNG Is Nothing Then Exit Function
|
||
|
||
' Dim strZahlbar As String = ""
|
||
Dim strText As String = ""
|
||
' Dim varPos As Object
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
|
||
|
||
' Dim Nettozahlungsziel
|
||
|
||
|
||
If RECHNUNG.RechnungsKundenNr > 0 Then
|
||
|
||
Select Case RECHNUNG.[BelegartenNr]
|
||
Case 70 'RECHNUNG
|
||
|
||
' Text bei Zoll oder EUSt drucken
|
||
If checkIfcheckIfZollbelege(RECHNUNG) Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText & "Please check all customs documents immediately for correctness, as objections are only possible 1 month after the date of the customs notification." & vbCrLf
|
||
Case Else : strText = strText & "Alle Zollbelege bitte sofort auf Richtigkeit prüfen da Einspruch gemäß § 355 AO nur 1 Monat nach Datum des Zollbescheides möglich." & vbCrLf
|
||
End Select
|
||
End If
|
||
|
||
End Select
|
||
'strText = przRechnungstextZZ(RECHNUNG)
|
||
|
||
Dim RECHNUNG_AD As New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr)
|
||
Dim RECHNUNG_KD As New VERAG_PROG_ALLGEMEIN.cKunde(RECHNUNG.RechnungsKundenNr)
|
||
|
||
|
||
|
||
If getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, RECHNUNG.Firma_ID, RECHNUNG.RechnungsLandKz, RECHNUNG.OffertenNr, True) Then
|
||
ElseIf getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, RECHNUNG.Firma_ID, RECHNUNG.RechnungsLandKz, , True) Then
|
||
ElseIf getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, RECHNUNG.Firma_ID, ,, True) Then
|
||
ElseIf getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, , RECHNUNG.RechnungsLandKz, , True) Then
|
||
ElseIf getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, RECHNUNG.Firma_ID, ,, ) Then
|
||
ElseIf getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, ,,, True) Then
|
||
ElseIf getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, ,,, False) Then
|
||
End If
|
||
|
||
'Fixtexte die immer angefügt werden (ImmerAnfuegen=1):
|
||
getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, RECHNUNG.Firma_ID, RECHNUNG.RechnungsLandKz, RECHNUNG.OffertenNr, True, True)
|
||
getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, RECHNUNG.Firma_ID, RECHNUNG.RechnungsLandKz, , True, True)
|
||
getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, RECHNUNG.Firma_ID, ,, True, True)
|
||
getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, , RECHNUNG.RechnungsLandKz, , True, True)
|
||
getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, ,,, True, True)
|
||
getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, ,,, False, True)
|
||
getRTXT_SQL(strText, RECHNUNG, RECHNUNG_AD, ,,, False, True)
|
||
|
||
|
||
'' Informations- und Werbetexte drucken
|
||
'Dim sqlStr = "SELECT * FROM Rechnungstexte WHERE 1=1"
|
||
'If RECHNUNG.Firma_ID > 0 Then sqlStr &= " AND (Firma_ID='" & RECHNUNG.Firma_ID & "' or Firma_ID is null) "
|
||
'If If(RECHNUNG_AD.LandKz, "") <> "" Then sqlStr &= " AND (LandKz='" & RECHNUNG_AD.LandKz & "' or LandKz is null) "
|
||
'If If(RECHNUNG.OffertenNr, 0) > 0 Then sqlStr &= " AND (OffertenNr='" & RECHNUNG.OffertenNr & "' or OffertenNr is null) "
|
||
|
||
''Wennn Rechnung als Email geschickt werden sollte Rechnungsdruck=2
|
||
'If If(RECHNUNG_AD.Rechnungsdruck, -1) = 2 And If(RECHNUNG_AD.E_Mail, "") <> "" Then sqlStr &= " AND EMailRechnung=1 "
|
||
|
||
'Select Case RECHNUNG.[BelegartenNr]
|
||
' Case 70
|
||
' sqlStr &= " AND (DrucksteuerungsKz='R' OR DrucksteuerungsKz='') "
|
||
' Case 71
|
||
' sqlStr &= " AND (DrucksteuerungsKz='G' OR DrucksteuerungsKz='') "
|
||
'End Select
|
||
|
||
'Dim dt_RechnungsTexte As DataTable = SQL.loadDgvBySql(sqlStr & " order by Firma_ID desc,LandKz desc,Offertennr desc", "FMZOLL")
|
||
'If dt_RechnungsTexte.Rows.Count > 0 Then
|
||
' strText &= dt_RechnungsTexte.Rows(0)("Text") & vbCrLf
|
||
' ' MsgBox(dt_RechnungsTexte.Rows(0)("Text") & vbCrLf)
|
||
'End If
|
||
|
||
Select Case RECHNUNG.Firma_ID
|
||
Case 4
|
||
Dim PARK = RECHNUNG.POSITIONEN.FindAll(Function(x) (x.LeistungsNr = 313 Or x.LeistungsNr = 312))
|
||
If PARK IsNot Nothing AndAlso PARK.Count > 0 Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText & "Place of fulfilment: DE-94152 Neuhaus am Inn " & vbCrLf & "The tax was paid at the tax office DE-94032 Passau under the tax number 153/105/80268 (UID:DE245897610)" & vbCrLf
|
||
Case Else : strText = strText & "Leistungsort: DE-94152 Neuhaus am Inn " & vbCrLf & "Die Steuer wurde beim Finanzamt DE-94032 Passau unter der Steuernummer 153/105/80268 abgeführt (UID:DE245897610)" & vbCrLf
|
||
End Select
|
||
End If
|
||
Case 21, 22, 23
|
||
Dim VORL = RECHNUNG.POSITIONEN.FindAll(Function(x) (x.LeistungsNr = 700 Or x.LeistungsNr = 710))
|
||
' If ZZKdZahlungszielVL <> ZZKdZahlungsziel Then
|
||
If VORL IsNot Nothing AndAlso VORL.Count > 0 Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText.Replace("<Vorlageprovision>", "If payment is received by <Rechnungsdatum+ZZVL>, you can deduct the template commission charged. " & vbCrLf)
|
||
Case Else : strText = strText.Replace("<Vorlageprovision>", "Bei Zahlungseingang bis zum <Rechnungsdatum+ZZVL> können Sie die verrechnete Vorlageprovision in Abzug bringen. " & vbCrLf)
|
||
End Select
|
||
End If
|
||
' End If
|
||
End Select
|
||
|
||
'strText = strZahlbar & vbNewLine & strText
|
||
' Text in Rechnungskopfsatz übernehmen.
|
||
strText = strText.Replace("<Vorlageprovision>", "")
|
||
|
||
If strText = "" Then
|
||
RECHNUNG.Text = Nothing
|
||
Else
|
||
strText.Replace("<EMailAdresse>", If(RECHNUNG_AD.E_Mail, " - "))
|
||
|
||
RECHNUNG.Text = strText
|
||
End If
|
||
|
||
End If
|
||
|
||
'Select Case RECHNUNG.Firma_ID
|
||
' Case "21", "22", "23"
|
||
' strText = strText.Replace("", "")
|
||
'End Select
|
||
|
||
If SPEDBUCH IsNot Nothing Then
|
||
|
||
'CBAM!
|
||
Select Case SPEDBUCH.Abfertigungsart
|
||
Case 1, 2, 3, 4, 23, 28, 26, 38, 39, 47
|
||
'If checkAnlage_Orig(RECHNUNG) Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText & "IMPORTANT INFORMATION: From 01.10.2023, a reporting obligation (CBAM) was introduced for the import of certain goods from third countries into EU. The importer is responsible for this notification." & vbCrLf & "Information at www.zoll.de or www.customs-consulting.at keyword CBAM" & vbCrLf & vbCrLf
|
||
Case Else : strText = strText & "WICHTIGE INFORMATION: Ab 01.10.2023 wurde eine Meldepflicht (CBAM) beim Import bestimmter Waren aus Drittländern in die EU eingeführt. Der Importeur ist für diese Meldung eigenverantwortlich." & vbCrLf & "Informationen unter www.zoll.de oder www.customs-consulting.at Stichwort CBAM" & vbCrLf & vbCrLf
|
||
End Select
|
||
'End If
|
||
End Select
|
||
|
||
Select Case SPEDBUCH.Abfertigungsart
|
||
Case 1, 2, 3, 4, 23, 28, 39, 47
|
||
If checkAnlage_Orig(RECHNUNG) Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : strText = strText & "Please keep the original documents (e.g. ATR, EUR1) carefully for at least 7 years, as these will be required for any inspections by the customs authorities!" & vbCrLf
|
||
Case Else : strText = strText & "Bitte bewahren Sie die Original Dokumente (zB ATR, EUR1) mind. 7 Jahre sorgfältig auf, diese werden bei etwaigen Prüfungen durch die Zollbehörde benötigt!" & vbCrLf
|
||
End Select
|
||
End If
|
||
End Select
|
||
|
||
End If
|
||
|
||
|
||
'MsgBox("Firma:" & RECHNUNG.Firma_ID & " - Land:" & "" & RECHNUNG.RechnungsLandKz & " - OffertenNr:" & RECHNUNG.OffertenNr & " - TXT: " & strText)
|
||
|
||
|
||
|
||
Return strText
|
||
|
||
|
||
End Function
|
||
|
||
|
||
|
||
Shared Function getRTXT_SQL(ByRef strText, RECHNUNG, RECHNUNG_AD, Optional FIRMA_ID = Nothing, Optional LandKz = Nothing, Optional OffertenNr = Nothing, Optional EMailRechnung = Nothing, Optional ImmerAnfuegen = False) As Boolean
|
||
' Informations- und Werbetexte drucken
|
||
Dim sqlStr = "SELECT * FROM Rechnungstexte WHERE 1=1"
|
||
If FIRMA_ID IsNot Nothing Then
|
||
sqlStr &= " AND Firma_ID='" & RECHNUNG.Firma_ID & "' "
|
||
Else
|
||
sqlStr &= " AND Firma_ID is null"
|
||
End If
|
||
If LandKz IsNot Nothing Then
|
||
sqlStr &= " AND LandKz='" & LandKz & "' "
|
||
Else
|
||
sqlStr &= " AND LandKz is null"
|
||
End If
|
||
If OffertenNr IsNot Nothing Then
|
||
sqlStr &= " AND OffertenNr='" & OffertenNr & "' "
|
||
Else
|
||
sqlStr &= " AND OffertenNr is null"
|
||
End If
|
||
If ImmerAnfuegen Then
|
||
sqlStr &= " AND ImmerAnfuegen=1 "
|
||
Else
|
||
sqlStr &= " AND ImmerAnfuegen=0 "
|
||
End If
|
||
If EMailRechnung IsNot Nothing Then
|
||
'Wennn Rechnung als Email geschickt werden sollte Rechnungsdruck=2
|
||
If If(RECHNUNG_AD.Rechnungsdruck, -1) = 2 And If(RECHNUNG_AD.E_Mail, "") <> "" Then sqlStr &= " AND EMailRechnung=1 "
|
||
End If
|
||
|
||
Select Case RECHNUNG.[BelegartenNr]
|
||
Case 70
|
||
sqlStr &= " AND (DrucksteuerungsKz='R' OR DrucksteuerungsKz='') "
|
||
Case 71
|
||
sqlStr &= " AND (DrucksteuerungsKz='G' OR DrucksteuerungsKz='') "
|
||
End Select
|
||
' MsgBox(sqlStr & " order by Firma_ID desc,LandKz desc,Offertennr desc")
|
||
|
||
If RECHNUNG.[Vorkasse] Then
|
||
sqlStr &= " AND (Textschlüssel<>16) " 'Bei Vorkasse soll dieser Text nicht aufscheinen (AMBAR)
|
||
End If
|
||
Dim dt_RechnungsTexte As DataTable = SQL.loadDgvBySql(sqlStr & " order by Firma_ID desc,LandKz desc,Offertennr desc", "FMZOLL")
|
||
|
||
|
||
If dt_RechnungsTexte.Rows.Count > 0 Then
|
||
strText &= dt_RechnungsTexte.Rows(0)("Text") & vbCrLf
|
||
Return True
|
||
End If
|
||
Return False
|
||
End Function
|
||
|
||
Shared Function checkIfcheckIfZollbelege(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Boolean
|
||
For Each POS In RECHNUNG.POSITIONEN
|
||
If (POS.LeistungsNr = 10 Or POS.LeistungsNr = 60 Or POS.LeistungsNr = 70) Then
|
||
Return True
|
||
End If
|
||
Next
|
||
Return False
|
||
End Function
|
||
|
||
|
||
|
||
Shared Function checkIfKreditaufwendungen(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Boolean
|
||
For Each POS In RECHNUNG.POSITIONEN
|
||
If POS.LeistungsNr = 750 And POS.BerechnungsartNr = 9 Then
|
||
Return True
|
||
End If
|
||
Next
|
||
Return False
|
||
End Function
|
||
|
||
|
||
Shared Function getRgDatInput(txt As String, ByRef RechnungsDatum As Date) As Boolean
|
||
Dim f As New frmRechnungsdatum()
|
||
f.ShowDialog()
|
||
RechnungsDatum = f.Datum
|
||
Return True
|
||
|
||
'If txt <> "" Then txt &= vbNewLine & vbNewLine
|
||
'Dim RechnungsDatumText = InputBox(txt & "Bitte geben Sie das Rechnungsdatum an: ", "Rechnungsdatum", Now.ToShortDateString)
|
||
'If IsDate(RechnungsDatumText) Then
|
||
' RechnungsDatum = CDate(CDate(RechnungsDatumText).ToShortDateString & Now.ToString(" HH:mm:ss"))
|
||
' Return True
|
||
'End If
|
||
'Return False
|
||
End Function
|
||
|
||
'Shared Function Datum_Per_Inpubox(txt) As String
|
||
' Datum_Per_Inpubox = InputBox(txt & "Bitte geben Sie das Rechnungsdatum an: ", "Rechnungsdatum", Now.ToShortDateString)
|
||
|
||
' If Not IsDate(CDate(Datum_Per_Inpubox)) Then Return ""
|
||
|
||
'End Function
|
||
|
||
|
||
Public Shared Function doRechnungsDruck_SRorER(RK_ID As Integer, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional printStbVdb As Boolean = False, Optional AnlageEinzelRg As Boolean = False, Optional sammelrechnungKopie As Boolean = False, Optional onlyAsfinagAttach As Boolean = False) As Boolean
|
||
If RK_ID <= 0 Then Return False
|
||
Dim RG_TMP As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID)
|
||
If RG_TMP.Sammelrechnung = 0 Then
|
||
Return doRechnungsDruck(New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID), RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, , printStbVdb)
|
||
ElseIf RG_TMP.Sammelrechnung = 6 Then
|
||
Return cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", AnlageEinzelRg, True, Rechnugnsdruck, Path, False,,,,,,,, True, True, sammelrechnungKopie,,, onlyAsfinagAttach, True)
|
||
Else
|
||
Return cFakturierung.doSAMMELRechnungsDruck_Abschnitt(RG_TMP.RechnungsNr, -1, -1, RG_TMP.DruckDatumZeit, "", AnlageEinzelRg, , Rechnugnsdruck, Path, True)
|
||
End If
|
||
End Function
|
||
|
||
Public Shared Function doRechnungsDruck(RK_ID As Integer, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional ByRef printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False) As Boolean
|
||
If RK_ID <= 0 Then Return False
|
||
Return doRechnungsDruck(New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID), RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, printOriginalRg, SammelrechnungAnlagendruck, printStbVdb)
|
||
End Function
|
||
|
||
Public Shared Function doRechnungsDruck_MAIL(RK_ID As Integer, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False, Optional printRgCopy As Boolean = False) As Boolean
|
||
If RK_ID <= 0 Then Return False
|
||
|
||
Dim RG_TMP = New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID)
|
||
If RG_TMP Is Nothing Then Return False
|
||
Dim SPEDBUCH_TMP = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(RG_TMP.FilialenNr, RG_TMP.AbfertigungsNr, RG_TMP.SpeditionsbuchUnterNr)
|
||
|
||
If Rechnugnsdruck <= 0 Then Rechnugnsdruck = 3 ' Default Mail
|
||
If SPEDBUCH_TMP Is Nothing Then Return False
|
||
Dim f As New frmFaktEmail(RG_TMP, SPEDBUCH_TMP, Nothing, Rechnugnsdruck, RG_TMP.Firma_ID, RechnungsDatum)
|
||
f.Show()
|
||
Return True
|
||
' Return doRechnungsDruck(New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(RK_ID), RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, SammelrechnungAnlagendruck, printStbVdb)
|
||
End Function
|
||
|
||
Shared Sub initRgFirma(ByRef rpt As rptRechnungDruck, FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, Rechnung As VERAG_PROG_ALLGEMEIN.cRechnungsausgang)
|
||
|
||
rpt.lblFirmaOrt.Text = If(FIRMA.Firma_Ort, "")
|
||
rpt.lblFirmaStrasse.Text = If(FIRMA.Firma_Straße, "")
|
||
rpt.lblFirmaTel.Text = If(FIRMA.Firma_Telefon, "")
|
||
rpt.lblFirmaFax.Text = If(FIRMA.Firma_Telefax, "")
|
||
rpt.lblFirmaEmail.Text = If(FIRMA.Firma_E_Mail, "")
|
||
rpt.lblFirmaWeb.Text = If(FIRMA.Firma_Webadresse, "")
|
||
rpt.lblFirma.Text = (If(FIRMA.Firma_Bez, "") & ", " & If(FIRMA.Firma_Ort, "")).ToString.Replace(" (DE)", "")
|
||
If FIRMA.Firma_ID = 1 Then rpt.lblFirma.Text &= vbNewLine & "D-94152 Neuhaus/Inn, Hartham 6"
|
||
|
||
rpt.lblFirmenbuch.Text = If(FIRMA.Firma_Firmenbuch, "").ToString.Replace("Firmenbuch:", "").Trim
|
||
rpt.lblUID.Text = If(FIRMA.Firma_UID, "").ToString.Replace("UID:", "").Trim
|
||
rpt.lblEORI.Text = If(FIRMA.Firma_EORI, "").ToString.Replace("EORI:", "").Trim
|
||
|
||
If FIRMA.Firma_ID = 4 Then
|
||
rpt.lblEORIUeberschrift.Text = "St-Nr.:"
|
||
rpt.lblFirma.Visible = False
|
||
rpt.Line15.Visible = False
|
||
End If
|
||
|
||
rpt.txtBank3.Visible = False
|
||
|
||
Select Case FIRMA.Firma_ID'VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||
Case 21 '"UNISPED"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
rpt.picVERAG.Size = New SizeF(2.712, 0.61)
|
||
Case 22 '"UNISPED DE"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
rpt.picVERAG.Size = New SizeF(2.712, 0.61)
|
||
rpt.lblFirma.Text = If(FIRMA.Firma_Bez, "") ' Ohne Ort gewünscht!
|
||
Case 23 '"UNISPED ZS"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
rpt.picVERAG.Size = New SizeF(2.712, 0.61)
|
||
Case 24 '"AMBAR DE"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
rpt.txtBank3.Visible = True
|
||
|
||
'Änderung Ticket_Nr.: 6983
|
||
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR67 0006 2000 5440 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
'Änderung Ticket Nr.: 18615
|
||
rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: 60 0006 2001 6750 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
rpt.picVERAG.Size = New SizeF(2.712, 0.61)
|
||
rpt.txtDisclaimer.Text = rpt.txtDisclaimer.Text.Replace("Schärding oder Passau", "Bad Reichenhall")
|
||
Case 26
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
rpt.picVERAG.Size = New SizeF(2.712, 0.61)
|
||
Case 20 '"IMEX"
|
||
If Rechnung.RechnungsLandKz = "TR" Then
|
||
'rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Beykent Ticari - Hesap: 9098713"
|
||
' rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR21 0006 2000 5440 0009 0818 67" & vbNewLine & "BLZ Sube.: 544 - Beykent Ticari - Hesap: 9081867"
|
||
'OLD:rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Hadimköy Ticari - Hesap: 9098713"
|
||
rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR14 0006 2001 6750 0009 0818 67 " & vbNewLine & "BLZ Sube.: 1675 - Hadimköy Ticari - Hesap: 9081867"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
If hasVK(Rechnung) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT35 4480 0365 7822 0002" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
If hasEUSTZOLL(Rechnung) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT62 4480 0365 7822 0001" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT89 4480 0365 7822 0000" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
End If
|
||
End If
|
||
End If
|
||
Case 7 ' ATILLA
|
||
|
||
If Rechnung.RechnungsLandKz = "TR" Then
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
If Not hasEUSTZOLL(Rechnung) Then
|
||
|
||
'falscher IBAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||
'rpt.txtBank1.Text = "Türkei:" & vbNewLine & "Garanti Bank Hadimköy" & vbNewLine & "EUR-IBAN: TR08 6 2000 5440 0009 0603 73" & vbNewLine & "Hesap Numarası: 544-9060373"
|
||
rpt.txtBank1.Text = "Türkei:" & vbNewLine & "Garanti Bank Hadimköy" & vbNewLine & "EUR-IBAN: TR08 0006 2000 5440 0009 0603 73" & vbNewLine & "Hesap Numarası: 544-9060373"
|
||
|
||
End If
|
||
Else
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
End If
|
||
|
||
Case Else 'VERAG
|
||
|
||
If Rechnung.RechnungsLandKz = "TR" Then
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
If Not hasEUSTZOLL(Rechnung) Then
|
||
|
||
rpt.txtBank1.Text = "Türkei:" & vbNewLine & "Garanti Bank Hadimköy " & vbNewLine & "EUR-IBAN: TR96 0006 2000 5440 0009 0672 28" & vbNewLine & "SWIFT: TGBATRISXXX | Kto: 544"
|
||
|
||
End If
|
||
Else
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
End If
|
||
|
||
|
||
|
||
'TR Bankverbindung
|
||
'Dim RgBetrag = (Rechnung.SteuerfreierGesamtbetrag + Rechnung.SteuerpflichtigerGesamtbetrag)
|
||
'If Rechnung.RechnungsLandKz = "TR" And RgBetrag <= 500 And RgBetrag >= -500 Then
|
||
' rpt.txtBank2.Text = "Garanti Bank " & vbNewLine & "Eur Iban: TR 96 0006 2000 5440 0009 0672 28" & vbNewLine & "Kto: 544 Swift kodu: TGBATRISXXX"
|
||
'End If
|
||
|
||
End Select
|
||
|
||
|
||
End Sub
|
||
|
||
|
||
Shared Sub initRgFirma_MDM(ByRef rpt As rptRechnungDruck_MDM, FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, Rechnung As VERAG_PROG_ALLGEMEIN.cRechnungsausgang)
|
||
|
||
rpt.lblFirmaOrt.Text = If(FIRMA.Firma_Ort, "")
|
||
rpt.lblFirmaStrasse.Text = If(FIRMA.Firma_Straße, "")
|
||
rpt.lblFirmaTel.Text = If(FIRMA.Firma_Telefon, "")
|
||
rpt.lblFirmaFax.Text = If(FIRMA.Firma_Telefax, "")
|
||
rpt.lblFirmaEmail.Text = If(FIRMA.Firma_E_Mail, "")
|
||
rpt.lblFirmaWeb.Text = If(FIRMA.Firma_Webadresse, "")
|
||
rpt.lblFirma.Text = (If(FIRMA.Firma_Bez, "") & ", " & If(FIRMA.Firma_Ort, "")).ToString.Replace(" (DE)", "")
|
||
If FIRMA.Firma_ID = 1 Then rpt.lblFirma.Text &= vbNewLine & "D-94152 Neuhaus/Inn, Hartham 6"
|
||
|
||
rpt.lblFirmenbuch.Text = If(FIRMA.Firma_Firmenbuch, "").ToString.Replace("Firmenbuch:", "").Trim
|
||
rpt.lblUID.Text = If(FIRMA.Firma_UID, "").ToString.Replace("UID:", "").Trim
|
||
rpt.lblEORI.Text = If(FIRMA.Firma_EORI, "").ToString.Replace("EORI:", "").Trim
|
||
|
||
If FIRMA.Firma_ID = 4 Then
|
||
rpt.lblEORIUeberschrift.Text = "St-Nr.:"
|
||
rpt.lblFirma.Visible = False
|
||
rpt.Line15.Visible = False
|
||
End If
|
||
|
||
rpt.txtBank3.Visible = False
|
||
|
||
|
||
|
||
If hasVK(Rechnung) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT35 4480 0365 7822 0002" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
If hasEUSTZOLL(Rechnung) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT62 4480 0365 7822 0001" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT89 4480 0365 7822 0000" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
End If
|
||
End If
|
||
|
||
Select Case FIRMA.Firma_ID
|
||
|
||
Case 19 'MDM
|
||
|
||
rpt.txtDisclaimer.Text = "Wir arbeiten ausschließlich aufgrund der Allgemeinen Spediteurbedingungen in der jeweils geltenden Fassung. Zahlungen werden zunächst auf unsere Rechnungen, Spesen und Zinsen, zuletzt auf Zölle angerechnet. Zahlbar und klagbar in Schärding. Steuer-, Zoll- und Tarifauskünfte sind unverbindlich."
|
||
|
||
If Rechnung.RechnungsLandKz = "TR" Then
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
If Not hasEUSTZOLL(Rechnung) Then
|
||
|
||
rpt.txtBank1.Text = "Türkei:" & vbNewLine & "Garanti Bank Hadimköy " & vbNewLine & "EUR-IBAN: TR96 0006 2000 5440 0009 0672 28" & vbNewLine & "SWIFT: TGBATRISXXX | Kto: 544"
|
||
|
||
End If
|
||
Else
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
End If
|
||
|
||
Case Else 'VERAG
|
||
|
||
If Rechnung.RechnungsLandKz = "TR" Then
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
If Not hasEUSTZOLL(Rechnung) Then
|
||
|
||
rpt.txtBank1.Text = "Türkei:" & vbNewLine & "Garanti Bank Hadimköy " & vbNewLine & "EUR-IBAN: TR96 0006 2000 5440 0009 0672 28" & vbNewLine & "SWIFT: TGBATRISXXX | Kto: 544"
|
||
|
||
End If
|
||
Else
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
End If
|
||
|
||
End Select
|
||
|
||
|
||
End Sub
|
||
|
||
Shared Sub initRgFirmaSammelRg(ByRef rpt As rptSammelRechnungDruck, FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RechnungsNr As Integer, RechnungsLandKz As String, Buchungsjahr As Object)
|
||
|
||
rpt.lblFirmaOrt.Text = If(FIRMA.Firma_Ort, "")
|
||
rpt.lblFirmaStrasse.Text = If(FIRMA.Firma_Straße, "")
|
||
rpt.lblFirmaTel.Text = If(FIRMA.Firma_Telefon, "")
|
||
rpt.lblFirmaFax.Text = If(FIRMA.Firma_Telefax, "")
|
||
rpt.lblFirmaEmail.Text = If(FIRMA.Firma_E_Mail, "")
|
||
rpt.lblFirmaWeb.Text = If(FIRMA.Firma_Webadresse, "")
|
||
rpt.lblFirma.Text = (If(FIRMA.Firma_Bez, "") & ", " & If(FIRMA.Firma_Ort, "")).ToString.Replace(" (DE)", "")
|
||
If FIRMA.Firma_ID = 1 Then rpt.lblFirma.Text &= vbNewLine & "D-94152 Neuhaus/Inn, Hartham 6"
|
||
|
||
rpt.lblFirmenbuch.Text = If(FIRMA.Firma_Firmenbuch, "").ToString.Replace("Firmenbuch:", "").Trim
|
||
rpt.lblUID.Text = If(FIRMA.Firma_UID, "")
|
||
rpt.lblEORI.Text = If(FIRMA.Firma_EORI, "")
|
||
|
||
'Für Vorschau:
|
||
If Buchungsjahr Is DBNull.Value Then Buchungsjahr = Now.Year
|
||
If Buchungsjahr Is Nothing Then Buchungsjahr = Now.Year
|
||
|
||
rpt.txtBank3.Visible = False
|
||
|
||
' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||
Select Case FIRMA.Firma_ID
|
||
Case 21, 22, 23 '"UNISPED"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
Case 24 '"AMABR"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
rpt.txtBank3.Visible = True
|
||
|
||
'Änderung Ticket_Nr.: 6983
|
||
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR67 0006 2000 5440 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
'Änderung Ticket Nr.: 18615
|
||
rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: 60 0006 2001 6750 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
rpt.txtDisclaimer.Text = rpt.txtDisclaimer.Text.Replace("Schärding oder Passau", "Bad Reichenhall")
|
||
Case 26 'VERAG-UNISPED"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
|
||
Case 20 '"IMEX"
|
||
If RechnungsLandKz = "TR" Then
|
||
'rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Beykent Ticari - Hesap: 9098713"
|
||
'OLD:rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Hadimköy Ticari - Hesap: 9098713"
|
||
rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR14 0006 2001 6750 0009 0818 67 " & vbNewLine & "BLZ Sube.: 1675 - Hadimköy Ticari - Hesap: 9081867"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
If hasVK(RechnungsNr, Buchungsjahr) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT35 4480 0365 7822 0002" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
If hasEUSTZOLL(RechnungsNr) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT62 4480 0365 7822 0001" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT89 4480 0365 7822 0000" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
End If
|
||
End If
|
||
End If
|
||
Case Else 'VERAG,ATILLA
|
||
|
||
If RechnungsLandKz = "TR" Then
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
If Not hasEUSTZOLL(RechnungsNr) Then
|
||
|
||
rpt.txtBank1.Text = "Türkei:" & vbNewLine & "Garanti Bank Hadimköy " & vbNewLine & "EUR-IBAN: TR96 0006 2000 5440 0009 0672 28" & vbNewLine & "SWIFT: TGBATRISXXX | Kto: 544"
|
||
|
||
End If
|
||
Else
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
End If
|
||
|
||
End Select
|
||
|
||
|
||
End Sub
|
||
Shared Sub initRgFirmaSammelRg_Bericht(ByRef rpt As rptSammelRechnungAnlagenDruck, FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RechnungsNr As Integer, RechnungsLandKz As String, Buchungsjahr As Object)
|
||
|
||
rpt.lblFirmaOrt.Text = If(FIRMA.Firma_Ort, "")
|
||
rpt.lblFirmaStrasse.Text = If(FIRMA.Firma_Straße, "")
|
||
rpt.lblFirmaTel.Text = If(FIRMA.Firma_Telefon, "")
|
||
rpt.lblFirmaFax.Text = If(FIRMA.Firma_Telefax, "")
|
||
rpt.lblFirmaEmail.Text = If(FIRMA.Firma_E_Mail, "")
|
||
rpt.lblFirmaWeb.Text = If(FIRMA.Firma_Webadresse, "")
|
||
rpt.lblFirma.Text = (If(FIRMA.Firma_Bez, "") & ", " & If(FIRMA.Firma_Straße, "").ToString & ", " & If(FIRMA.Firma_Ort, "")).ToString.Replace(" (DE)", "")
|
||
|
||
If FIRMA.Firma_ID = 1 Then rpt.lblFirma.Text &= vbNewLine & "D-94152 Neuhaus/Inn, Hartham 6"
|
||
|
||
'If FIRMA.Firma_ID = 19 Then rpt.lblFirma.Text &= vbNewLine & "VERAG Spedition GmbH, Hartham 6, D-94152 Neuhaus/Inn"
|
||
|
||
|
||
rpt.lblFirmenbuch.Text = If(FIRMA.Firma_Firmenbuch, "").ToString.Replace("Firmenbuch:", "").Trim
|
||
rpt.lblUID.Text = If(FIRMA.Firma_UID, "")
|
||
rpt.lblEORI.Text = If(FIRMA.Firma_EORI, "")
|
||
|
||
'Für Vorschau:
|
||
If Buchungsjahr Is DBNull.Value Then Buchungsjahr = Now.Year
|
||
If Buchungsjahr Is Nothing Then Buchungsjahr = Now.Year
|
||
|
||
rpt.txtBank3.Visible = False
|
||
|
||
' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||
Select Case FIRMA.Firma_ID
|
||
Case 21, 22, 23 '"UNISPED"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
Case 26 'VERAG-UNISPED"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
Case 24 'AMBAR"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
rpt.txtBank3.Visible = True
|
||
'Änderung Ticket_Nr.: 6983
|
||
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR67 0006 2000 5440 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: 60 0006 2001 6750 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
rpt.txtDisclaimer.Text = rpt.txtDisclaimer.Text.Replace("Schärding oder Passau", "Bad Reichenhall")
|
||
|
||
Case 20 '"IMEX"
|
||
If RechnungsLandKz = "TR" Then
|
||
' rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Beykent Ticari - Hesap: 9098713"
|
||
'OLD:rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Hadimköy Ticari - Hesap: 9098713"
|
||
rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR14 0006 2001 6750 0009 0818 67 " & vbNewLine & "BLZ Sube.: 1675 - Hadimköy Ticari - Hesap: 9081867"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
If hasVK(RechnungsNr, Buchungsjahr) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT35 4480 0365 7822 0002" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
If hasEUSTZOLL(RechnungsNr) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT62 4480 0365 7822 0001" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT89 4480 0365 7822 0000" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
End If
|
||
End If
|
||
End If
|
||
Case Else 'VERAG,ATILLA, VERAG360
|
||
|
||
|
||
If RechnungsLandKz = "TR" Then
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
If Not hasEUSTZOLL(RechnungsNr) Then
|
||
|
||
rpt.txtBank1.Text = "Türkei:" & vbNewLine & "Garanti Bank Hadimköy " & vbNewLine & "EUR-IBAN: TR96 0006 2000 5440 0009 0672 28" & vbNewLine & "SWIFT: TGBATRISXXX | Kto: 544"
|
||
|
||
End If
|
||
Else
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
End If
|
||
End Select
|
||
|
||
|
||
End Sub
|
||
|
||
Shared Sub initRgFirmaSammelRg_MDM_Bericht(ByRef rpt As rptSammelRechnungAnlagenDruck_MDM, FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RechnungsNr As Integer, RechnungsLandKz As String, Buchungsjahr As Object)
|
||
|
||
'ACHTUNG MDM verwedet auch AG und GMBH!!!
|
||
|
||
rpt.lblFirmaOrt.Text = If(FIRMA.Firma_Ort, "")
|
||
rpt.lblFirmaStrasse.Text = If(FIRMA.Firma_Straße, "")
|
||
rpt.lblFirmaTel.Text = If(FIRMA.Firma_Telefon, "")
|
||
rpt.lblFirmaFax.Text = If(FIRMA.Firma_Telefax, "")
|
||
rpt.lblFirmaEmail.Text = If(FIRMA.Firma_E_Mail, "")
|
||
rpt.lblFirmaWeb.Text = If(FIRMA.Firma_Webadresse, "")
|
||
rpt.lblFirma.Text = (If(FIRMA.Firma_Bez, "") & ", " & If(FIRMA.Firma_Straße, "").ToString & ", " & If(FIRMA.Firma_Ort, "")).ToString.Replace(" (DE)", "")
|
||
|
||
If FIRMA.Firma_ID = 1 Then rpt.lblFirma.Text &= vbNewLine & "D-94152 Neuhaus/Inn, Hartham 6"
|
||
|
||
'If FIRMA.Firma_ID = 19 Then rpt.lblFirma.Text &= vbNewLine & "VERAG Spedition GmbH, Hartham 6, D-94152 Neuhaus/Inn"
|
||
|
||
|
||
rpt.lblFirmenbuch.Text = If(FIRMA.Firma_Firmenbuch, "").ToString.Replace("Firmenbuch:", "").Trim
|
||
rpt.lblUID.Text = If(FIRMA.Firma_UID, "")
|
||
rpt.lblEORI.Text = If(FIRMA.Firma_EORI, "")
|
||
|
||
'Für Vorschau:
|
||
If Buchungsjahr Is DBNull.Value Then Buchungsjahr = Now.Year
|
||
If Buchungsjahr Is Nothing Then Buchungsjahr = Now.Year
|
||
|
||
rpt.txtBank3.Visible = False
|
||
|
||
' Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||
Select Case FIRMA.Firma_ID
|
||
Case 21, 22, 23 '"UNISPED"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
Case 26 'VERAG-UNISPED"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
Case 24 'AMBAR"
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
rpt.txtBank3.Visible = True
|
||
|
||
'Änderung Ticket_Nr.: 6983
|
||
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
'rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: TR90 0006 2001 6040 0009 0804 66" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
rpt.txtBank3.Text = "Garanti Bank Türkei – Euro Konto" & vbNewLine & "IBAN: 60 0006 2001 6750 0009 0513 57" & vbNewLine & "BIC/SWIFT: TGBATRISXXX".ToString.Trim
|
||
rpt.txtDisclaimer.Text = rpt.txtDisclaimer.Text.Replace("Schärding oder Passau", "Bad Reichenhall")
|
||
|
||
Case 20 '"IMEX"
|
||
If RechnungsLandKz = "TR" Then
|
||
' rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Beykent Ticari - Hesap: 9098713"
|
||
'OLD:rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Hadimköy Ticari - Hesap: 9098713"
|
||
rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR14 0006 2001 6750 0009 0818 67 " & vbNewLine & "BLZ Sube.: 1675 - Hadimköy Ticari - Hesap: 9081867"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
If hasVK(RechnungsNr, Buchungsjahr) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT35 4480 0365 7822 0002" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
If hasEUSTZOLL(RechnungsNr) Then
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT62 4480 0365 7822 0001" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
Else
|
||
rpt.txtBank1.Text = "Volksbank Oberösterreich AG" & vbNewLine & "IBAN:AT89 4480 0365 7822 0000" & vbNewLine & "BIC: VBOEATWWOOE"
|
||
rpt.txtBank2.Text = ""
|
||
End If
|
||
End If
|
||
End If
|
||
Case Else 'VERAG,ATILLA, VERAG360
|
||
rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "Deutschland:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
End Select
|
||
|
||
|
||
End Sub
|
||
|
||
Shared Function hasEUSTZOLL(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Boolean
|
||
For Each pos In RECHNUNG.POSITIONEN
|
||
Select Case pos.LeistungsNr
|
||
Case 10, 20, 60, 67, 66 : Return True
|
||
End Select
|
||
Next
|
||
Return False
|
||
End Function
|
||
|
||
|
||
Shared Function hasEUSTZOLL(RechnungsNr As Integer) As Boolean
|
||
' MsgBox(SQL.getValueTxtBySql("SELECT top 1 isnull(count(*),0) FROM [VERAG].[dbo].[RechnungsausgangPositionen] as POS inner join Rechnungsausgang as RA on Ra.RK_ID=pos.RK_ID where RechnungsNr='" & RechnungsNr & "' AND LeistungsNr IN (10, 20, 60, 67, 66 )", "FMZOLL"))
|
||
Return CBool(CInt(SQL.getValueTxtBySql("SELECT top 1 isnull(count(*),0) FROM [VERAG].[dbo].[RechnungsausgangPositionen] as POS inner join Rechnungsausgang as RA on Ra.RK_ID=pos.RK_ID where RechnungsNr='" & RechnungsNr & "' AND LeistungsNr IN (10, 20, 60, 67, 66 )", "FMZOLL")) > 0)
|
||
End Function
|
||
|
||
Shared Function hasVK(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Boolean
|
||
Return CBool(CInt(SQL.getValueTxtBySql("SELECT TOP 1 isnull(count(*),0) FROM [tblVorauskassen] WHERE [vk_FilialeNr]='" & RECHNUNG.FilialenNr & "' AND [vk_AbfertigungsNr]='" & RECHNUNG.AbfertigungsNr & "' AND [vk_KdNr]='" & RECHNUNG.RechnungsKundenNr & "'", "FMZOLL")) > 0)
|
||
End Function
|
||
|
||
Shared Function hasVK(RechnungsNr As Integer, Buchungsjahr As Integer) As Boolean
|
||
Return CBool(CInt(SQL.getValueTxtBySql("SELECT TOP 1 isnull(count(*),0) FROM [tblVorauskassen] inner join Rechnungsausgang ON [vk_FilialeNr]=FilialenNr AND [vk_AbfertigungsNr]=AbfertigungsNr AND [vk_KdNr]=RechnungsKundenNr WHERE RechnungsNr='" & RechnungsNr & "' AND Buchungsjahr='" & Buchungsjahr & "'", "FMZOLL")) > 0)
|
||
End Function
|
||
|
||
Public Shared Function doRechnungsDruck(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False) As Boolean
|
||
' MsgBox(Rechnugnsdruck)
|
||
If RECHNUNG Is Nothing Then MsgBox("Fehler beim Laden der Rechnungsdaten!") : Return False
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
|
||
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(RECHNUNG.Firma_ID)
|
||
If FIRMA Is Nothing Then MsgBox("Keine Firma gewählt!") : Return False
|
||
|
||
Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr)
|
||
|
||
If Not SammelrechnungAnlagendruck Then
|
||
If vorschau = False And RECHNUNG.Sammelrechnung <> "0" Then MsgBox("Nur bei Einzelrechnung möglich!") : Return False
|
||
End If
|
||
|
||
If Not vorschau Then
|
||
Select Case RECHNUNG.Rechnungsart
|
||
Case "RU" : MsgBox("Unvollständige Rechnungen können nur mit einem Rechnungskopf in der Sammelrechnung gedruckt werden! Siehe Rechnungsart.") : Return False
|
||
Case "RK" : MsgBox("Ein Rechnungskopf kann nur mit zumindest einer unvollständigen Rechnung gedruckt werden! Siehe Rechnungsart.") : Return False
|
||
End Select
|
||
End If
|
||
|
||
If FIRMA.Firma_ID <> 19 Then
|
||
Return doRechnungsdruck_allgemein(RECHNUNG, FIRMA, KD_RG, RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, printOriginalRg, SammelrechnungAnlagendruck, printStbVdb)
|
||
Else
|
||
Return doRechnungsdruck_MDM(RECHNUNG, FIRMA, KD_RG, RechnungsDatum, vorschau, Rechnugnsdruck, Path, PrinterName, printOriginalRg, SammelrechnungAnlagendruck, printStbVdb)
|
||
End If
|
||
|
||
Return False
|
||
End Function
|
||
|
||
|
||
Public Shared Function doRechnungsdruck_allgemein(Rechnung As cRechnungsausgang, firma As cFirmen, KD_RG As cAdressen, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False)
|
||
|
||
Try
|
||
Dim rpt As New rptRechnungDruck(Rechnung.RechnungSprache)
|
||
|
||
|
||
If Rechnung.POSITIONEN.Count = 0 Then MsgBox("Keine Daten vorhanden!") : Return False
|
||
Dim dtDataSource As New DataTable
|
||
|
||
dtDataSource.Columns.Add("LeistungsNr")
|
||
dtDataSource.Columns.Add("LeistungsBez")
|
||
dtDataSource.Columns.Add("Anzahl")
|
||
dtDataSource.Columns.Add("SteuerpflichtigerBetrag")
|
||
dtDataSource.Columns.Add("SteuerfreierBetrag")
|
||
dtDataSource.Columns.Add("Belegdaten")
|
||
|
||
Dim gsBetrTmp As Double = 0
|
||
For Each r In Rechnung.POSITIONEN
|
||
' dtDataSource.Rows.Add(r.LeistungsNr, r.LeistungsBez, r.Anzahl, r.SteuerpflichtigerBetrag, r.SteuerfreierBetrag, (If(r.Belegdaten, "") & " " & If(r.Aufschubfälligkeit, "")).ToString.Trim)
|
||
|
||
dtDataSource.Rows.Add(r.LeistungsNr, r.LeistungsBez, r.Anzahl, r.SteuerpflichtigerBetrag, r.SteuerfreierBetrag, If(r.Belegdaten, "").ToString.Trim)
|
||
|
||
gsBetrTmp += CDbl(r.SteuerpflichtigerBetrag + r.SteuerfreierBetrag)
|
||
Next
|
||
|
||
If gsBetrTmp = 0 Then MsgBox("Rechnungsbetrag ist EUR 0,- ") : Return False
|
||
|
||
|
||
Dim dataView As New DataView(dtDataSource)
|
||
dataView.Sort = " LeistungsNr "
|
||
Dim dtTmp As DataTable = dataView.ToTable()
|
||
|
||
' rpt.DataSource = SQL.loadDgvBySql("SELECT * FROM [Rechnungsausgangpositionen] where RK_ID ='" & RECHNUNG.RK_ID & "' ", "FMZOLL")
|
||
rpt.DataSource = dtTmp
|
||
|
||
'' MsgBox(rpt.DataSource.rows.count)
|
||
'If rpt.DataSource.rows.count = 0 Then
|
||
' rpt.Dispose()
|
||
' MsgBox("Keine Daten vorhanden!")
|
||
' Return False
|
||
'End If
|
||
|
||
Dim sum = 0
|
||
Select Case Rechnung.RechnungSprache
|
||
Case "EN"
|
||
Select Case Rechnung.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "INVOICE"
|
||
rpt.lblSummeUeberschrift.Text = "Invoice Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Invoice No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Invoice Date:"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "CREDIT NOTE"
|
||
rpt.lblSummeUeberschrift.Text = "Credit Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Credit Note No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Credit Note Date:"
|
||
End Select
|
||
|
||
Case "RO"
|
||
Select Case Rechnung.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "FACTURA"
|
||
rpt.lblSummeUeberschrift.Text = "Total"
|
||
rpt.lblRgNrUeberschrift.Text = "Nr. factura:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Data factura:"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "NOTA DE CREDIT"
|
||
rpt.lblSummeUeberschrift.Text = "Total"
|
||
rpt.lblRgNrUeberschrift.Text = "Nr. nota credit:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Data nota credit:"
|
||
End Select
|
||
|
||
Case Else
|
||
Select Case Rechnung.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "RECHNUNG"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "GUTSCHRIFT"
|
||
rpt.lblSummeUeberschrift.Text = "Gutschriftsbetrag:"
|
||
rpt.lblRgNrUeberschrift.Text = "Gutschrifts-Nr.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Gutschrifts-Datum:"
|
||
End Select
|
||
|
||
End Select
|
||
|
||
|
||
initRgFirma(rpt, firma, Rechnung)
|
||
|
||
Select Case Rechnung.Firma_ID
|
||
Case 1 ' rpt.picVERAG.Image= My.Resources.Verag_AG_Logo : rpt.Picture1.Image = My.Resources.aeo_AT_imex is eh standard
|
||
Case 4 : rpt.picVERAG.Image = My.Resources.Verag_AG_Logo : rpt.Picture1.Image = Nothing
|
||
Case 7 : rpt.picVERAG.Image = My.Resources.Atilla_big_med : rpt.Picture1.Image = Nothing
|
||
Case 11 : rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo : rpt.Picture1.Image = My.Resources.aeo_CS
|
||
Case 17 : rpt.picVERAG.Image = My.Resources.FrontOfficeSUB_Horizontal : rpt.Picture1.Image = Nothing
|
||
'Case 19 : rpt.picVERAG.Image = My.Resources.VERAG_360 : rpt.Picture1.Image = Nothing
|
||
Case 20 : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Picture1.Image = My.Resources.aeo_AT_imex
|
||
Case 21 : rpt.picVERAG.Image = My.Resources.Unisped_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_AT
|
||
Case 22 : rpt.picVERAG.Image = My.Resources.Unisped_DE_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_DE
|
||
Case 26 : rpt.picVERAG.Image = My.Resources.VERAG_UNISPED_Logo : rpt.Picture1.Image = Nothing
|
||
Case 23 : rpt.picVERAG.Image = My.Resources.Unisped_ZS_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_ZS_AT
|
||
Case 24 : rpt.picVERAG.Image = My.Resources.ambar_boarder : rpt.Picture1.Image = Nothing
|
||
rpt.txtAvisierer.Visible = False : rpt.lblAvisiererUeberschrift.Visible = False : rpt.txtWarenwert.Visible = False : rpt.lblWarenWertUeberschrift.Visible = False
|
||
|
||
End Select
|
||
|
||
Dim ZZTage = 10
|
||
Dim ZZTageVL = 10
|
||
Dim ZZKdZahlungsziel = SQL.DLookup("Zahlungsziel", "Kunden", "Kundennr=" & Rechnung.RechnungsKundenNr, "FMZOLL", 10)
|
||
If ZZKdZahlungsziel IsNot Nothing AndAlso IsNumeric(ZZKdZahlungsziel) Then
|
||
ZZTage = ZZKdZahlungsziel
|
||
ZZTageVL = ZZTage
|
||
End If
|
||
Dim ZZKdZahlungszielVL = SQL.DLookup("kde_abweichendesZZVL", "tblKundenErweitert", "kde_KundenNr=" & Rechnung.RechnungsKundenNr, "FMZOLL", 10)
|
||
If ZZKdZahlungszielVL IsNot Nothing AndAlso IsNumeric(ZZKdZahlungszielVL) Then
|
||
ZZTageVL = ZZKdZahlungszielVL
|
||
End If
|
||
|
||
Select Case Rechnung.RechnungSprache
|
||
Case "EN" : rpt.Label2.Text = ZZTage & " Days" : rpt.Label1.Text = "Payment target:" : rpt.lblSendungsdatenUeberschrift.Text = "Service:"
|
||
Case "RO" : rpt.Label2.Text = ZZTage & " Zile" : rpt.Label1.Text = "Termen de plată:" : rpt.lblSendungsdatenUeberschrift.Text = "Descriere:"
|
||
Case Else : rpt.Label2.Text = ZZTage & " Tage" : rpt.lblSendungsdatenUeberschrift.Text = "Bezeichnung:"
|
||
End Select
|
||
|
||
|
||
Select Case Rechnung.Firma_ID
|
||
Case 21, 22, 23, 26 : rpt.Label1.Visible = False : rpt.Label2.Visible = False 'Ka warum
|
||
End Select
|
||
|
||
rpt.lblKundenNr.Text = If(Rechnung.RechnungsKundenNr > 0, Rechnung.RechnungsKundenNr, "")
|
||
rpt.lblRgNr.Text = If(Rechnung.RechnungsNr > 0, addYeartoRgNr(firma.Firma_ID, Rechnung.Buchungsjahr) & Rechnung.RechnungsNr, "Vorschau")
|
||
rpt.lblRgDatum.Text = If(Rechnung.RechnungsDatum IsNot Nothing, CDate(Rechnung.RechnungsDatum).ToShortDateString, "VORSCHAU")
|
||
|
||
'rpt.lblKundenAuftragsnummer.Text = If(RECHNUNG.KdAuftragsNr, "")
|
||
'If rpt.lblKundenAuftragsnummer.Text = String.Empty Then rpt.lblKundenAuftragsnummerUeberschrift.Visible = False
|
||
|
||
rpt.lblAbfertigungsNr.Text = Rechnung.FilialenNr & " / " & Rechnung.AbfertigungsNr & " " & Rechnung.UnterNr.ToString("00")
|
||
rpt.lblAbfertigungsDatum.Text = Rechnung.Abfertigungsdatum.ToShortDateString
|
||
rpt.lblLKWId.Text = If(Rechnung.AvisoID, "")
|
||
|
||
Dim sachbearbeiterAufRechnung = getSBRgName(Rechnung.Firma_ID, Rechnung.Sachbearbeiter)
|
||
rpt.lblSachbearbeiter.Text = IIf(sachbearbeiterAufRechnung = "Herr Ordu", "Verrechnung", sachbearbeiterAufRechnung) 'If(RECHNUNG.Sachbearbeiter, "")
|
||
|
||
rpt.txtAbsender.Text = If(Rechnung.AbsenderName_1, "") & " " & If(Rechnung.AbsenderName_2, "") & vbNewLine & If(Rechnung.AbsenderOrt, "").ToString.Trim
|
||
rpt.txtEmpfaenger.Text = If(Rechnung.EmpfängerName_1, "") & " " & If(Rechnung.EmpfängerName_2, "") & vbNewLine & If(Rechnung.EmpfängerOrt, "").ToString.Trim
|
||
rpt.txtAvisierer.Text = If(Rechnung.Avisierer, "")
|
||
|
||
If firma.Firma_ID = 4 Then
|
||
rpt.lblWarenWertUeberschrift.Visible = False
|
||
rpt.txtWarenwert.Visible = False
|
||
rpt.txtGrenze.Visible = False
|
||
rpt.txtGrenzeUeberschrift.Visible = False
|
||
End If
|
||
|
||
rpt.txtZollbelegNr.Text = If(Rechnung.BelegNr, "")
|
||
|
||
Dim waehrungCode As String = SQL.getValueTxtBySql("SELECT isnull(Währungscode,'') FROM Währungstabelle WHERE Währungsschlüssel = " & If(Rechnung.[WährungsNr], -1) & ";", "FMZOLL")
|
||
If IsNumeric(If(Rechnung.Wert, "")) Then
|
||
' rpt.txtWarenwert.Text = CDbl(RECHNUNG.Wert).ToString("N2") & " " & If(RECHNUNG.Währungscode, "")
|
||
rpt.txtWarenwert.Text = CDbl(Rechnung.Wert).ToString("N2") & " " & waehrungCode
|
||
Else
|
||
' rpt.txtWarenwert.Text = If(RECHNUNG.Wert, "") & " " & If(RECHNUNG.Währungscode, "")
|
||
rpt.txtWarenwert.Text = If(Rechnung.Wert, "") & " " & waehrungCode
|
||
End If
|
||
rpt.txtSendungsdaten.Text = If(Rechnung.Packstücke_und_Warenbezeichnung, "")
|
||
If rpt.txtSendungsdaten.Text.Length > 200 Then rpt.txtSendungsdaten.Text = rpt.txtSendungsdaten.Text.Substring(0, 200)
|
||
rpt.txtSendungsdaten.Text = rpt.txtSendungsdaten.Text.Replace(", 0,0 kg", "") '0kg ausblenden
|
||
rpt.txtBeförderungsmittel.Text = If(Rechnung.LKW_Kennzeichen, "")
|
||
|
||
rpt.txtGrenze.Text = If(Rechnung.Grenze, "")
|
||
If rpt.txtGrenze.Text.Trim = String.Empty Then rpt.txtGrenze.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull([Grenzstelle],'') FROM [Filialen] where FilialenNr='" & Rechnung.FilialenNr & "'", "FMZOLL")
|
||
If rpt.txtGrenze.Text.Trim = String.Empty Then rpt.txtGrenzeUeberschrift.Visible = False
|
||
|
||
rpt.lblRechnungAn.Text = If(Rechnung.RechnungsName_1, "") & vbNewLine
|
||
If If(Rechnung.RechnungsName_2, "") <> "" Then rpt.lblRechnungAn.Text &= Rechnung.RechnungsName_2 & vbNewLine
|
||
If If(Rechnung.RechnungsStraße, "") <> "" Then rpt.lblRechnungAn.Text &= Rechnung.RechnungsStraße & vbNewLine
|
||
If If(Rechnung.RechnungsName_AdressZusatz, "") <> "" Then rpt.lblRechnungAn.Text &= Rechnung.RechnungsName_AdressZusatz & vbNewLine
|
||
If If(Rechnung.RechnungsOrt, "") <> "" Then rpt.lblRechnungAn.Text &= Rechnung.RechnungsOrt & vbNewLine
|
||
If If(Rechnung.RechnungsLandKz, "") <> "" Then rpt.lblRechnungAn.Text &= cProgramFunctions.getLandBez_fromISO1Land(Rechnung.RechnungsLandKz, "", Rechnung.RechnungSprache).ToString.ToUpper
|
||
|
||
|
||
'If If(RECHNUNG.RechnungsName_2, "") = "" Then
|
||
' rpt.lblRechnung_Name1.Text = ""
|
||
' rpt.lblRechnung_Name2.Text = If(RECHNUNG.RechnungsName_1, "")
|
||
'Else
|
||
' rpt.lblRechnung_Name1.Text = If(RECHNUNG.RechnungsName_1, "")
|
||
' rpt.lblRechnung_Name2.Text = If(RECHNUNG.RechnungsName_2, "")
|
||
'End If
|
||
'rpt.lblRechnung_Strasse.Text = If(RECHNUNG.RechnungsStraße, "")
|
||
'rpt.lblRechnung_Ort.Text = If(RECHNUNG.RechnungsOrt, "")
|
||
'rpt.lblRechnung_Land.Text = cProgramFunctions.getLandBez_fromISO1Land(RECHNUNG.RechnungsLandKz, "", RECHNUNG.RechnungSprache).ToString.ToUpper
|
||
|
||
If KD_RG IsNot Nothing AndAlso If(KD_RG.Steuernummer, "") <> String.Empty Then
|
||
If Rechnung.Firma_ID = 4 Then
|
||
rpt.lblRechnung_Steuernummer.Text = If(KD_RG.Steuernummer, "").ToString.Trim 'ohne LandKz gewünscht
|
||
Else
|
||
rpt.lblRechnung_Steuernummer.Text = If(KD_RG.LandKz, "") & " " & If(KD_RG.Steuernummer, "").ToString.Trim
|
||
End If
|
||
|
||
' rpt.lblRechnung_UID.Text = If(KD_RG.UstIdKz, "") & " " & If(KD_RG.UstIdNr, "").ToString.Trim
|
||
Else
|
||
rpt.lblRechnung_Steuernummer.Text = ""
|
||
' rpt.lblRechnung_UID.Text = ""
|
||
End If
|
||
rpt.lblRechnung_Steuernummer.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
rpt.lblRechnung_Steuernummer_Ueberschrift.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
|
||
rpt.lblRechnung_UID.Text = If(Rechnung.RechnungsUstIdKz, "") & If(Rechnung.RechnungsUstIdNr, "")
|
||
rpt.lblRechnung_UID.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
rpt.lblRechnung_UID_Ueberschrift.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
|
||
rpt.txtKdAuftragsNr.Text = If(Rechnung.KdAuftragsNr, "")
|
||
rpt.txtKdAuftragsNr_Ueberschrift.Visible = (rpt.txtKdAuftragsNr.Text <> String.Empty)
|
||
|
||
rpt.TextBox1.Text = If(Rechnung.TextZZ, "").ToString.Replace("; ", vbNewLine).Trim
|
||
rpt.txtVermerk.Text = (If(Rechnung.Text, "").ToString.Trim & vbNewLine & vbNewLine & If(Rechnung.Notiz, "").ToString.Trim).ToString.Trim
|
||
|
||
|
||
' REVERSE CHARGE (Übergang der Steuerschuld in EU-Ländern).
|
||
' Dies hat zur Folge, dass steuerfreie Rechnungsbeträge für Leistungen,
|
||
' die in der Leistungstabelle als ReverseCharge gekennzeichnet sind,
|
||
' summiert und auf der Rechnung ausgewiesen werden.
|
||
|
||
If isReverseChargeSumme(firma, Rechnung) Then
|
||
|
||
Select Case Rechnung.RechnungSprache
|
||
Case "RO" : rpt.txtInfo.Text = "Obligația de TVA este transferată beneficiarului serviciului (Reverse Charge)."
|
||
Case "EN" : rpt.txtInfo.Text = "VAT liability is transferred to the recipient (Reverse Charge)."
|
||
Case Else : rpt.txtInfo.Text = "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)."
|
||
End Select
|
||
|
||
|
||
'End If
|
||
|
||
Else : rpt.txtInfo.Text = "" : End If
|
||
|
||
|
||
|
||
rpt.txtAnlagen.Text = ""
|
||
If If(Rechnung.Anlage_1, "") <> "" Then rpt.txtAnlagen.Text &= Rechnung.Anlage_1
|
||
If If(Rechnung.Anlage_2, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & Rechnung.Anlage_2
|
||
If If(Rechnung.Anlage_3, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & Rechnung.Anlage_3
|
||
If If(Rechnung.Anlage_4, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & Rechnung.Anlage_4
|
||
If If(Rechnung.Anlage_5, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & Rechnung.Anlage_5
|
||
If If(Rechnung.Anlage_6, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & Rechnung.Anlage_6
|
||
|
||
rpt.txtAnlagen.Text = rpt.txtAnlagen.Text.Trim
|
||
|
||
If rpt.txtAnlagen.Text.Replace(" ", "") = "" Then
|
||
rpt.lblAnlagenUeberschrift.Visible = False
|
||
Else
|
||
Select Case Rechnung.RechnungSprache
|
||
Case "EN" : rpt.lblAnlagenUeberschrift.Text = "Attachment:"
|
||
Case "RO" : rpt.lblAnlagenUeberschrift.Text = "Anexa:"
|
||
Case Else : rpt.lblAnlagenUeberschrift.Text = "Anlagen:"
|
||
End Select
|
||
End If
|
||
|
||
rpt.txtHandlingATA.Text = If(Rechnung.Handling, "")
|
||
If rpt.txtHandlingATA.Text.Replace(" ", "") = "" Then
|
||
rpt.lblHandlingATA.Visible = False
|
||
End If
|
||
|
||
|
||
If rpt.txtAbsender.Text.Trim = String.Empty Then rpt.lblAbsenderUeberschrift.Visible = False
|
||
If rpt.txtEmpfaenger.Text.Trim = String.Empty Then rpt.lblEmpfaengerUeberschrift.Visible = False
|
||
If rpt.txtAvisierer.Text.Trim = String.Empty Then rpt.lblAvisiererUeberschrift.Visible = False
|
||
If rpt.lblLKWId.Text.Trim = String.Empty Then rpt.lblLKWIdUebeschrift.Visible = False
|
||
If rpt.txtWarenwert.Text.Trim = String.Empty Then rpt.lblWarenWertUeberschrift.Visible = False
|
||
If rpt.txtZollbelegNr.Text.Trim = String.Empty Then rpt.lblZollbelegNr.Visible = False
|
||
If rpt.txtBeförderungsmittel.Text.Trim = String.Empty Then rpt.txtBeförderungsmittelUeberschrift.Visible = False
|
||
|
||
|
||
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
|
||
|
||
'ANLAGE ZUR RECHNUNG:
|
||
If Rechnung.Status = 3 Or Rechnung.Sammelrechnung <> 0 Then
|
||
rpt.txtAnlagen.Visible = False
|
||
rpt.lblAnlagenUeberschrift.Visible = False
|
||
rpt.lblRgDatumUeberschrift.Visible = False
|
||
rpt.lblRgNrUeberschrift.Visible = False
|
||
rpt.lblRgDatum.Visible = False
|
||
rpt.lblRgNr.Visible = False
|
||
|
||
rpt.lblSummeUeberschrift.Visible = False
|
||
rpt.lblSumme.Visible = False
|
||
rpt.lblZWSumme.Visible = False
|
||
rpt.lblZwText.Visible = False
|
||
rpt.lblSteuersatz.Visible = False
|
||
rpt.lblSteuerbetrag.Visible = False
|
||
|
||
rpt.Label46.Visible = False
|
||
rpt.Line1.Visible = False
|
||
rpt.Line5.Visible = False
|
||
rpt.Line14.Visible = False
|
||
rpt.Line8.Visible = False
|
||
rpt.Line7.Visible = False
|
||
|
||
|
||
Select Case Rechnung.RechnungSprache
|
||
Case "EN"
|
||
Select Case Rechnung.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "Attachment to invoice"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "Attachment to CREDIT NOTE"
|
||
End Select
|
||
Case "RO"
|
||
Select Case Rechnung.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "Anexa la factura colectiva"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "Anexa la nota de credit"
|
||
End Select
|
||
Case Else
|
||
Select Case Rechnung.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "Anlage zur Sammelrechnung"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "Anlage zur Gutschrift"
|
||
End Select
|
||
|
||
End Select
|
||
End If
|
||
|
||
If Not printOriginalRg Then 'sonst wird der originaldruck erzwungen
|
||
If Rechnung.DruckDatumZeit IsNot Nothing Then
|
||
Select Case Rechnung.RechnungSprache
|
||
Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY"
|
||
Case "RO" : rpt.lblUeberschriftRG_GS.Text &= " - COPIE"
|
||
Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE"
|
||
End Select
|
||
End If
|
||
End If
|
||
|
||
|
||
|
||
Dim sumSteuerpflichtig As Double = 0
|
||
Dim sumSteuerfrei As Double = 0
|
||
|
||
Dim vorzeichen = If(If(Rechnung.Vorzeichen, "") = "-", -1, 1)
|
||
|
||
AddHandler rpt.Detail.Format, Sub()
|
||
|
||
|
||
rpt.lblLeistungNr.Text = checkNull(rpt.Fields.Item("LeistungsNr").Value)
|
||
rpt.txtLeistung.Text = checkNull(rpt.Fields.Item("LeistungsBez").Value)
|
||
|
||
If rpt.Fields.Item("Belegdaten").Value IsNot Nothing Then
|
||
rpt.txtLeistung.Text &= vbNewLine & checkNull(rpt.Fields.Item("Belegdaten").Value)
|
||
End If
|
||
|
||
rpt.lblAnzahl.Text = checkNull(rpt.Fields.Item("Anzahl").Value)
|
||
' rpt.lblBetrag.Text = rpt.Fields.Item("betrag").Value
|
||
|
||
Dim stPfl As Double = 0
|
||
Dim stFrei As Double = 0
|
||
|
||
|
||
If IsNumeric(checkNull(rpt.Fields.Item("SteuerpflichtigerBetrag").Value)) Then stPfl = CDbl(rpt.Fields.Item("SteuerpflichtigerBetrag").Value())
|
||
rpt.lblSteuerpflichtig.Text = If(stPfl <> 0, CDbl(stPfl * vorzeichen).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
If IsNumeric(checkNull(rpt.Fields.Item("SteuerfreierBetrag").Value)) Then stFrei = CDbl(rpt.Fields.Item("SteuerfreierBetrag").Value())
|
||
rpt.lblSteuerfrei.Text = If(stFrei <> 0, CDbl(stFrei * vorzeichen).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
|
||
|
||
sumSteuerpflichtig += stPfl
|
||
sumSteuerfrei += stFrei
|
||
|
||
End Sub
|
||
|
||
AddHandler rpt.ReportFooter1.Format, Sub()
|
||
rpt.lblSteuerpflichtigGes.Text = If(sumSteuerpflichtig <> 0, CDbl(sumSteuerpflichtig * vorzeichen).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
rpt.lblSteuerfreiGes.Text = If(sumSteuerfrei <> 0, CDbl(sumSteuerfrei * vorzeichen).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
|
||
|
||
Dim steuerProz As Double = 0
|
||
Dim steuerBez As String = ""
|
||
|
||
Dim dt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & Rechnung.Steuerschlüssel & "'", "FMZOLL")
|
||
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
||
steuerProz = dt.Rows(0)(0)
|
||
steuerBez = dt.Rows(0)(1)
|
||
End If
|
||
|
||
Dim tmpSteuerbetrag = CDbl((sumSteuerpflichtig * steuerProz) * vorzeichen)
|
||
rpt.lblSteuersatz.Text = steuerBez
|
||
rpt.lblSteuerbetrag.Text = If((sumSteuerpflichtig * steuerProz) <> 0, tmpSteuerbetrag.ToString("N2", CultureInfo.CurrentCulture), "")
|
||
If tmpSteuerbetrag = 0 Then
|
||
rpt.lblSteuerbetrag.Visible = False
|
||
End If
|
||
|
||
rpt.lblZWSumme.Text = CDbl((sumSteuerpflichtig + sumSteuerfrei) * vorzeichen).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblSumme.Text = CDbl((sumSteuerpflichtig + sumSteuerfrei + (sumSteuerpflichtig * steuerProz)) * vorzeichen).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.Label46.Text = If(Rechnung.Währungscode, "EUR")
|
||
|
||
If isSTARK(Rechnung) Then
|
||
rpt.lblZwText.Text = "Summe EUST"
|
||
rpt.lblZWSumme.Text = CDbl(getSTARK_EUST(firma, Rechnung)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblZwText.Visible = True
|
||
rpt.lblZWSumme.Visible = True
|
||
|
||
rpt.lblSteuersatz.Text = "Summe ohne EUST"
|
||
rpt.lblSteuerbetrag.Text = CDbl(getSTARK_ohneEUST(firma, Rechnung)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblSteuersatz.Visible = True
|
||
rpt.lblSteuerbetrag.Visible = True
|
||
|
||
Else
|
||
|
||
If isReverseChargeSumme(firma, Rechnung) Then
|
||
Select Case Rechnung.RechnungSprache
|
||
Case "DE" : rpt.lblZwText.Text = "Summe Steuerfrei" : rpt.lblSteuersatz.Text = "Summe Reverse Charge"
|
||
Case "EN" : rpt.lblZwText.Text = "Sum Taxfree" : rpt.lblSteuersatz.Text = "Sum Reverse Charge"
|
||
Case "RO" : rpt.lblZwText.Text = "Suma neimpozabila" : rpt.lblSteuersatz.Text = "Suma Reverse Charge"
|
||
End Select
|
||
|
||
rpt.lblZWSumme.Text = CDbl(getSteuerfreiEUSTZOLL(firma, Rechnung)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblZwText.Visible = True
|
||
rpt.lblZWSumme.Visible = True
|
||
rpt.lblSteuerbetrag.Text = CDbl(getReverseChargeSummeRKID(firma, Rechnung)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblSteuersatz.Visible = True
|
||
rpt.lblSteuerbetrag.Visible = True
|
||
|
||
|
||
Else
|
||
|
||
If sumSteuerfrei = 0 Or sumSteuerpflichtig = 0 Then
|
||
|
||
rpt.lblZwText.Visible = False
|
||
rpt.lblZWSumme.Visible = False
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
End Sub
|
||
|
||
'DruckDatumUhrzeit wird gesetzt, falls noch ungedruckt...
|
||
'If RECHNUNG.DruckDatumZeit Is Nothing Then
|
||
' RECHNUNG.SET_DruckdatumUhrzeit()
|
||
'End If
|
||
|
||
|
||
If vorschau Then
|
||
|
||
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
|
||
|
||
cProgramFunctions.showRpt(rpt, "Rechnungsdruck", False)
|
||
Return True
|
||
Else
|
||
Dim Kopie = True
|
||
'ORIGINAL
|
||
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(Rechnung.RechnungsKundenNr)
|
||
If Rechnung.Status = 0 Then
|
||
If AD IsNot Nothing Then
|
||
Kopie = False
|
||
'Aktualisierung und speichern:
|
||
If Abrechnugsdaten_AKTUALISIEREN(Rechnung, RechnungsDatum) Then
|
||
rpt.lblRgNr.Text = If(Rechnung.RechnungsNr > 0, addYeartoRgNr(Rechnung.Firma_ID, Rechnung.Buchungsjahr) & Rechnung.RechnungsNr, "Vorschau")
|
||
rpt.lblRgDatum.Text = CDate(Rechnung.RechnungsDatum).ToShortDateString
|
||
|
||
If Rechnung.RechnungsDatum IsNot Nothing Then 'Muss zweimal vorkommen, Erstmaliger Druck
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", CDate(Rechnung.RechnungsDatum).AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", CDate(Rechnung.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", CDate(Rechnung.RechnungsDatum).AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", CDate(Rechnung.RechnungsDatum).AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", CDate(Rechnung.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", CDate(Rechnung.RechnungsDatum).AddDays(ZZTageVL).ToShortDateString)
|
||
Else
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
End If
|
||
|
||
Else
|
||
MsgBox("Fehler bei der Vergabe der Rg-Nr.!")
|
||
Return False
|
||
End If
|
||
Else
|
||
MsgBox("Fehler: Kein Rechnungsempfänger gefunden!")
|
||
Return False
|
||
End If
|
||
Else
|
||
|
||
If Rechnung.RechnungsDatum IsNot Nothing Then 'Muss zweimal vorkommen, Wiederholungsdruck
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", CDate(Rechnung.RechnungsDatum).AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", CDate(Rechnung.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", CDate(Rechnung.RechnungsDatum).AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", CDate(Rechnung.RechnungsDatum).AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", CDate(Rechnung.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", CDate(Rechnung.RechnungsDatum).AddDays(ZZTageVL).ToShortDateString)
|
||
Else
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
End If
|
||
|
||
If Rechnung.[DruckDatumZeit] Is Nothing Then
|
||
Rechnung.[DruckDatumZeit] = Now 'Wenn Rg-Nr schon vergeben wird das neu gesetzt
|
||
Rechnung.SAVE_DruckDatumZeit() ' Nur SAVE_DruckDatumZeit ändern/setzen
|
||
End If
|
||
End If
|
||
|
||
If Not Rechnung.checkRechnungsNrIsSet() Then
|
||
MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
|
||
Return False
|
||
End If
|
||
|
||
'Rechnugnsdruck = Individuell für deise Rechnung, wird optional mitgegeben
|
||
' Dim RG_Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "_Rechnung_" & If(RECHNUNG.RechnungsNr, "") & ".pdf"
|
||
Dim RG_Bezeichnung = If(Rechnung.[BelegartenKz] = "AR", "Rechnung_", "Gutschrift_") & If(Rechnung.RechnungsNr, "") & ".pdf"
|
||
|
||
'--------------------------------
|
||
' --> TEST wegen Size Problem
|
||
'--------------------------------
|
||
If PrinterName <> "" Then
|
||
rpt.Document.Printer.PrinterName = PrinterName
|
||
End If
|
||
rpt.Document.Printer.PaperSize = rpt.Document.Printer.PrinterSettings.DefaultPageSettings.PaperSize
|
||
|
||
'Immer Exportieren, da in Therefore speichern
|
||
Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
rpt.Run(False)
|
||
p.NeverEmbedFonts = ""
|
||
|
||
p.Export(rpt.Document, tmpPath)
|
||
|
||
Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID)
|
||
Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD")
|
||
If enableZugpferd Then
|
||
tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(True, Rechnung,), "ZUGFeRD-invoice.xml")
|
||
Else
|
||
|
||
Dim Zugferdpath = createZUGFeRD(True, Rechnung)
|
||
Dim fileInfo_ZP As New FileInfo(Zugferdpath)
|
||
Dim ZUGF_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "ZUGFERD", Now().Year, "", "", fileInfo_ZP.Name, -1, False)
|
||
ZUGF_DS.uploadDataToDATENSERVER(Zugferdpath, fileInfo_ZP.Name, fileInfo_ZP.Extension,,,, True)
|
||
|
||
End If
|
||
|
||
|
||
Path = tmpPath
|
||
|
||
'THEREFORE IMPORT:
|
||
'-------------------------------------------------------------------------------
|
||
Try
|
||
If Not Kopie And (Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM OrElse vbYes = MsgBox("TEST - in Therefore speichern?", vbYesNoCancel)) Then
|
||
|
||
VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(tmpPath, Rechnung.FilialenNr & Rechnung.AbfertigungsNr, If(Rechnung.AvisoID, ""), Rechnung.Firma_ID, False)
|
||
|
||
End If
|
||
Catch ex As Exception
|
||
MsgBox("Therefore-Import fehlgeschlagen!" & ex.Message & ex.StackTrace)
|
||
End Try
|
||
'-------------------------------------------------------------------------------
|
||
|
||
'ABRECHNUNGS API:
|
||
'-------------------------------------------------------------------------------
|
||
If Not Kopie Then
|
||
Try
|
||
Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(Rechnung.RechnungsKundenNr)
|
||
If KUNDE_ERW IsNot Nothing Then
|
||
'TRADESHIFT:
|
||
Try
|
||
If KUNDE_ERW.kde_API_Tradeshift Then
|
||
Select Case Rechnung.Firma_ID
|
||
Case 21, 22, 23
|
||
'System.IO.File.Copy(tmpPath, "\\srv01.unisu.at\Unisped\___AR_PDF\" & RG_Bezeichnung, True)
|
||
System.IO.File.Copy(tmpPath, "\\unidc01.unisu.at\Unisped\___AR_PDF\" & RG_Bezeichnung, True)
|
||
End Select
|
||
End If
|
||
Catch ex As Exception
|
||
MsgBox("Tradeshift Export fehlgeschlagen! " & ex.Message & ex.StackTrace)
|
||
End Try
|
||
End If
|
||
|
||
If Rechnung.Firma_ID = 24 Then
|
||
|
||
Dim API As New DataTable
|
||
Dim Program = "DATEV-PDF"
|
||
API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & Program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
|
||
If API.Rows.Count = 0 Then
|
||
MsgBox("keine gültigen API-Einstellungen für " & Program & " gefunden!")
|
||
Else
|
||
|
||
Dim client As WebClient = New WebClient
|
||
client.Credentials = New NetworkCredential(API.Rows(0).Item("api_user").ToString, API.Rows(0).Item("api_password").ToString)
|
||
client.UploadFile(API.Rows(0).Item("api_url") & "/" & RG_Bezeichnung, tmpPath)
|
||
|
||
End If
|
||
|
||
End If
|
||
|
||
Catch ex As Exception
|
||
MsgBox("API Fehler!" & ex.Message & ex.StackTrace)
|
||
End Try
|
||
End If
|
||
'-------------------------------------------------------------------------------
|
||
' MsgBox(Rechnugnsdruck)
|
||
Dim RD_DRUCK = If(Rechnugnsdruck >= 0, Rechnugnsdruck, If(AD.Rechnungsdruck, 0)) 'If(AD.Rechnungsdruck, 0)
|
||
' MsgBox(RD_DRUCK)
|
||
Select Case RD_DRUCK
|
||
Case 0, 1 'DRUCKEN
|
||
|
||
Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False)
|
||
|
||
If printStbVdb AndAlso Rechnung.Firma_ID <> 1 Then
|
||
If (Rechnung.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Zollbeleg drucken?", vbYesNoCancel)) Then
|
||
printSpedBuchAnhaenge(Rechnung, True, True)
|
||
End If
|
||
End If
|
||
If Rechnung.ANHAENGE.Count > 0 AndAlso Rechnung.Firma_ID <> 1 Then
|
||
If (Rechnung.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then
|
||
printRGAnhaenge(Rechnung)
|
||
End If
|
||
End If
|
||
|
||
Return ret
|
||
|
||
'Case 1 'FAX
|
||
Case 2, 5 'MAIL
|
||
'Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
'Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
'rpt.Run(False)
|
||
'p.NeverEmbedFonts = ""
|
||
'p.Export(rpt.Document, tmpPath)
|
||
|
||
' rpt.Dispose()
|
||
Path = tmpPath
|
||
|
||
Try
|
||
Dim outl As New Outlook.Application
|
||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||
Mail = outl.CreateItem(0)
|
||
Select Case Rechnung.RechnungsLandKz
|
||
Case "TR"
|
||
Mail.Subject = "Invoice No. " & Rechnung.RechnungsNr
|
||
Mail.HTMLBody = "Sayin Bayanlar ve Baylar,<br><br>ekte baslikta yazan faturayi bulabilirsinz."
|
||
Mail.HTMLBody &= "<br><br><br>Saygilarimizla<br><br>" & getSignature(Rechnung)
|
||
Case "A", "AT", "D", "DE", "CH"
|
||
Mail.Subject = "Rechnung Nr. " & Rechnung.RechnungsNr
|
||
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die o.g. Rechnung."
|
||
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>" & getSignature(Rechnung)
|
||
Case Else
|
||
Mail.Subject = "Invoice No. " & Rechnung.RechnungsNr
|
||
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the invoice mentioned above."
|
||
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>" & getSignature(Rechnung)
|
||
End Select
|
||
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & Mail.HTMLBody & "</div>"
|
||
|
||
Dim emai_receipt As String = ""
|
||
If Rechnung.FilialenNr = "4801" Or Rechnung.FilialenNr = "4802" Then emai_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(Rechnung.RechnungsKundenNr, "Rechnung an (ATILLA)")
|
||
|
||
Mail.To = IIf(emai_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(Rechnung.RechnungsKundenNr, "Rechnung an"), emai_receipt)
|
||
Mail.Attachments.Add(tmpPath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , "Rechnung.pdf")
|
||
Mail.Display()
|
||
|
||
If RD_DRUCK = 5 Then
|
||
' --> RPOT KOPIE DRUCKEN
|
||
Select Case Rechnung.RechnungSprache
|
||
Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY"
|
||
Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE"
|
||
End Select
|
||
|
||
Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False)
|
||
If printStbVdb Then
|
||
If (Rechnung.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Zollbeleg drucken?", vbYesNoCancel)) Then
|
||
printSpedBuchAnhaenge(Rechnung, True, True)
|
||
End If
|
||
End If
|
||
If Rechnung.ANHAENGE.Count > 0 Then
|
||
'wird nicht mehr benötigt! TicketNr: 953 ----- wird doch wieder benötigt!
|
||
If (Rechnung.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then
|
||
printRGAnhaenge(Rechnung)
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
Catch ex As Exception
|
||
MsgBox("Fehler beim Öffnen des Mail-Programmes. PDF wird geladen!")
|
||
Process.Start(tmpPath)
|
||
End Try
|
||
rpt.Dispose()
|
||
Return True
|
||
|
||
Case 3 'PDF + öffnen
|
||
'Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
'Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
'rpt.Run(False)
|
||
'p.NeverEmbedFonts = ""
|
||
'p.Export(rpt.Document, tmpPath)
|
||
If Rechnung.ANHAENGE.Count > 0 Then
|
||
If (Rechnung.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge öffnen?", vbYesNoCancel)) Then
|
||
openRgAnhaenge(Rechnung)
|
||
End If
|
||
End If
|
||
|
||
' rpt.Dispose()
|
||
Path = tmpPath
|
||
Process.Start(tmpPath)
|
||
|
||
rpt.Dispose()
|
||
Return True
|
||
Case 4 'PDF _ für Mail Funktion--> nur PDFpfad benötigt
|
||
|
||
'Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
'Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
'rpt.Run(False)
|
||
'p.NeverEmbedFonts = ""
|
||
'p.Export(rpt.Document, tmpPath)
|
||
|
||
'rpt.Dispose()
|
||
|
||
Path = tmpPath
|
||
|
||
rpt.Dispose()
|
||
Return True
|
||
End Select
|
||
End If
|
||
|
||
|
||
|
||
Catch ex As Exception
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
End Function
|
||
|
||
|
||
Public Shared Function doRechnungsdruck_MDM(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, firma As cFirmen, KD_RG As cAdressen, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False) As Boolean
|
||
|
||
|
||
Dim rpt As New rptRechnungDruck_MDM(RECHNUNG.RechnungSprache, IIf(RECHNUNG.OffertenNr = 95, RECHNUNG.OffertenNr, Nothing), RECHNUNG.Firma_ID)
|
||
|
||
If RECHNUNG.POSITIONEN.Count = 0 Then MsgBox("Keine Daten vorhanden!") : Return False
|
||
Dim dtDataSource As New DataTable
|
||
|
||
dtDataSource.Columns.Add("LeistungsNr")
|
||
dtDataSource.Columns.Add("LeistungsBez")
|
||
dtDataSource.Columns.Add("Anzahl")
|
||
dtDataSource.Columns.Add("SteuerpflichtigerBetrag")
|
||
dtDataSource.Columns.Add("SteuerfreierBetrag")
|
||
dtDataSource.Columns.Add("Belegdaten")
|
||
|
||
Dim gsBetrTmp As Double = 0
|
||
For Each r In RECHNUNG.POSITIONEN
|
||
' dtDataSource.Rows.Add(r.LeistungsNr, r.LeistungsBez, r.Anzahl, r.SteuerpflichtigerBetrag, r.SteuerfreierBetrag, (If(r.Belegdaten, "") & " " & If(r.Aufschubfälligkeit, "")).ToString.Trim)
|
||
|
||
dtDataSource.Rows.Add(r.LeistungsNr, r.LeistungsBez, r.Anzahl, r.SteuerpflichtigerBetrag, r.SteuerfreierBetrag, If(r.Belegdaten, "").ToString.Trim)
|
||
|
||
gsBetrTmp += CDbl(r.SteuerpflichtigerBetrag + r.SteuerfreierBetrag)
|
||
Next
|
||
|
||
If gsBetrTmp = 0 Then MsgBox("Rechnungsbetrag ist EUR 0,- ") : Return False
|
||
|
||
|
||
Dim dataView As New DataView(dtDataSource)
|
||
dataView.Sort = " LeistungsNr "
|
||
Dim dtTmp As DataTable = dataView.ToTable()
|
||
|
||
' rpt.DataSource = SQL.loadDgvBySql("SELECT * FROM [Rechnungsausgangpositionen] where RK_ID ='" & RECHNUNG.RK_ID & "' ", "FMZOLL")
|
||
rpt.DataSource = dtTmp
|
||
|
||
'' MsgBox(rpt.DataSource.rows.count)
|
||
'If rpt.DataSource.rows.count = 0 Then
|
||
' rpt.Dispose()
|
||
' MsgBox("Keine Daten vorhanden!")
|
||
' Return False
|
||
'End If
|
||
|
||
Dim sum = 0
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN"
|
||
Select Case RECHNUNG.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "INVOICE"
|
||
rpt.lblSummeUeberschrift.Text = "Invoice Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Invoice No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Invoice Date:"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "CREDIT NOTE"
|
||
rpt.lblSummeUeberschrift.Text = "Credit Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Credit Note No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Credit Note Date:"
|
||
End Select
|
||
|
||
Case "RO"
|
||
Select Case RECHNUNG.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "FACTURA"
|
||
rpt.lblSummeUeberschrift.Text = "Total"
|
||
rpt.lblRgNrUeberschrift.Text = "Nr. factura:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Data factura:"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "NOTA DE CREDIT"
|
||
rpt.lblSummeUeberschrift.Text = "Total"
|
||
rpt.lblRgNrUeberschrift.Text = "Nr. nota credit:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Data nota credit:"
|
||
End Select
|
||
|
||
Case Else
|
||
Select Case RECHNUNG.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "RECHNUNG"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "GUTSCHRIFT"
|
||
rpt.lblSummeUeberschrift.Text = "Gutschriftsbetrag:"
|
||
rpt.lblRgNrUeberschrift.Text = "Gutschrifts-Nr.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Gutschrifts-Datum:"
|
||
End Select
|
||
|
||
End Select
|
||
|
||
|
||
initRgFirma_MDM(rpt, firma, RECHNUNG)
|
||
|
||
Select Case RECHNUNG.Firma_ID
|
||
Case 1 ' rpt.picVERAG.Image= My.Resources.Verag_AG_Logo : rpt.Picture1.Image = My.Resources.aeo_AT_imex is eh standard
|
||
Case 4 : rpt.picVERAG.Image = My.Resources.Verag_AG_Logo : rpt.Picture1.Image = Nothing
|
||
Case 7 : rpt.picVERAG.Image = My.Resources.Atilla_big_med : rpt.Picture1.Image = Nothing
|
||
Case 11 : rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo : rpt.Picture1.Image = My.Resources.aeo_CS
|
||
Case 17 : rpt.picVERAG.Image = My.Resources.FrontOfficeSUB_Horizontal : rpt.Picture1.Image = Nothing
|
||
Case 19 : rpt.picVERAG.Image = My.Resources.VERAG_360 : rpt.Picture1.Image = Nothing
|
||
Case 20 : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Picture1.Image = My.Resources.aeo_AT_imex
|
||
Case 21 : rpt.picVERAG.Image = My.Resources.Unisped_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_AT
|
||
Case 22 : rpt.picVERAG.Image = My.Resources.Unisped_DE_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_DE
|
||
Case 26 : rpt.picVERAG.Image = My.Resources.VERAG_UNISPED_Logo : rpt.Picture1.Image = Nothing
|
||
Case 23 : rpt.picVERAG.Image = My.Resources.Unisped_ZS_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_ZS_AT
|
||
Case 24 : rpt.picVERAG.Image = My.Resources.ambar_boarder : rpt.Picture1.Image = Nothing
|
||
rpt.txtWarenwert.Visible = False : rpt.lblWarenWertUeberschrift.Visible = False
|
||
|
||
End Select
|
||
|
||
Dim ZZTage = 10
|
||
Dim ZZTageVL = 10
|
||
Dim ZZKdZahlungsziel = SQL.DLookup("Zahlungsziel", "Kunden", "Kundennr=" & RECHNUNG.RechnungsKundenNr, "FMZOLL", 10)
|
||
If ZZKdZahlungsziel IsNot Nothing AndAlso IsNumeric(ZZKdZahlungsziel) Then
|
||
ZZTage = ZZKdZahlungsziel
|
||
ZZTageVL = ZZTage
|
||
End If
|
||
Dim ZZKdZahlungszielVL = SQL.DLookup("kde_abweichendesZZVL", "tblKundenErweitert", "kde_KundenNr=" & RECHNUNG.RechnungsKundenNr, "FMZOLL", 10)
|
||
If ZZKdZahlungszielVL IsNot Nothing AndAlso IsNumeric(ZZKdZahlungszielVL) Then
|
||
ZZTageVL = ZZKdZahlungszielVL
|
||
End If
|
||
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : rpt.Label2.Text = ZZTage & " Days" : rpt.Label1.Text = "Payment target:" : rpt.lblSendungsdatenUeberschrift.Text = "Service:"
|
||
Case "TR" : rpt.Label2.Text = ZZTage & " gün" ': rpt.Label1.Text = "Payment target:" : rpt.lblSendungsdatenUeberschrift.Text = "Service:"
|
||
Case "RO" : rpt.Label2.Text = ZZTage & " Zile" : rpt.Label1.Text = "Termen de plată:" : rpt.lblSendungsdatenUeberschrift.Text = "Descriere:"
|
||
Case Else : rpt.Label2.Text = ZZTage & " Tage" : rpt.lblSendungsdatenUeberschrift.Text = "Bezeichnung:"
|
||
End Select
|
||
|
||
|
||
Select Case RECHNUNG.Firma_ID
|
||
Case 21, 22, 23, 26 : rpt.Label1.Visible = False : rpt.Label2.Visible = False 'Ka warum
|
||
Case 19
|
||
rpt.txtGrenze.Visible = False
|
||
rpt.txtGrenzeUeberschrift.Visible = False
|
||
rpt.lblWarenWertUeberschrift.Visible = False
|
||
rpt.txtWarenwert.Visible = False
|
||
End Select
|
||
|
||
rpt.lblKundenNr.Text = If(RECHNUNG.RechnungsKundenNr > 0, RECHNUNG.RechnungsKundenNr, "")
|
||
rpt.lblRgNr.Text = If(RECHNUNG.RechnungsNr > 0, addYeartoRgNr(firma.Firma_ID, RECHNUNG.Buchungsjahr) & RECHNUNG.RechnungsNr, "Vorschau")
|
||
rpt.lblRgDatum.Text = If(RECHNUNG.RechnungsDatum IsNot Nothing, CDate(RECHNUNG.RechnungsDatum).ToShortDateString, "VORSCHAU")
|
||
|
||
'rpt.lblKundenAuftragsnummer.Text = If(RECHNUNG.KdAuftragsNr, "")
|
||
'If rpt.lblKundenAuftragsnummer.Text = String.Empty Then rpt.lblKundenAuftragsnummerUeberschrift.Visible = False
|
||
|
||
rpt.lblAbfertigungsNr.Text = RECHNUNG.FilialenNr & " / " & RECHNUNG.AbfertigungsNr & " " & RECHNUNG.UnterNr.ToString("00")
|
||
rpt.lblAbfertigungsDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString
|
||
rpt.lblLKWId.Text = If(RECHNUNG.AvisoID, "")
|
||
|
||
Dim sachbearbeiterAufRechnung = getSBRgName(RECHNUNG.Firma_ID, RECHNUNG.Sachbearbeiter)
|
||
rpt.lblSachbearbeiter.Text = IIf(sachbearbeiterAufRechnung = "Herr Ordu", "Verrechnung", sachbearbeiterAufRechnung) 'If(RECHNUNG.Sachbearbeiter, "")
|
||
|
||
If firma.Firma_ID = 4 Then
|
||
rpt.lblWarenWertUeberschrift.Visible = False
|
||
rpt.txtWarenwert.Visible = False
|
||
rpt.txtGrenze.Visible = False
|
||
rpt.txtGrenzeUeberschrift.Visible = False
|
||
End If
|
||
|
||
rpt.txtZollbelegNr.Text = If(RECHNUNG.BelegNr, "")
|
||
|
||
Dim waehrungCode As String = SQL.getValueTxtBySql("SELECT isnull(Währungscode,'') FROM Währungstabelle WHERE Währungsschlüssel = " & If(RECHNUNG.[WährungsNr], -1) & ";", "FMZOLL")
|
||
If IsNumeric(If(RECHNUNG.Wert, "")) Then
|
||
' rpt.txtWarenwert.Text = CDbl(RECHNUNG.Wert).ToString("N2") & " " & If(RECHNUNG.Währungscode, "")
|
||
rpt.txtWarenwert.Text = CDbl(RECHNUNG.Wert).ToString("N2") & " " & waehrungCode
|
||
Else
|
||
' rpt.txtWarenwert.Text = If(RECHNUNG.Wert, "") & " " & If(RECHNUNG.Währungscode, "")
|
||
rpt.txtWarenwert.Text = If(RECHNUNG.Wert, "") & " " & waehrungCode
|
||
End If
|
||
rpt.txtSendungsdaten.Text = If(RECHNUNG.Packstücke_und_Warenbezeichnung, "")
|
||
If rpt.txtSendungsdaten.Text.Length > 200 Then rpt.txtSendungsdaten.Text = rpt.txtSendungsdaten.Text.Substring(0, 200)
|
||
rpt.txtSendungsdaten.Text = rpt.txtSendungsdaten.Text.Replace(", 0,0 kg", "") '0kg ausblenden
|
||
rpt.txtBeförderungsmittel.Text = If(RECHNUNG.LKW_Kennzeichen, "")
|
||
|
||
rpt.txtGrenze.Text = If(RECHNUNG.Grenze, "")
|
||
If rpt.txtGrenze.Text.Trim = String.Empty Then rpt.txtGrenze.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull([Grenzstelle],'') FROM [Filialen] where FilialenNr='" & RECHNUNG.FilialenNr & "'", "FMZOLL")
|
||
If rpt.txtGrenze.Text.Trim = String.Empty Then rpt.txtGrenzeUeberschrift.Visible = False
|
||
|
||
rpt.lblRechnungAn.Text = If(RECHNUNG.RechnungsName_1, "") & vbNewLine
|
||
If If(RECHNUNG.RechnungsName_2, "") <> "" Then rpt.lblRechnungAn.Text &= RECHNUNG.RechnungsName_2 & vbNewLine
|
||
If If(RECHNUNG.RechnungsStraße, "") <> "" Then rpt.lblRechnungAn.Text &= RECHNUNG.RechnungsStraße & vbNewLine
|
||
If If(RECHNUNG.RechnungsName_AdressZusatz, "") <> "" Then rpt.lblRechnungAn.Text &= RECHNUNG.RechnungsName_AdressZusatz & vbNewLine
|
||
If If(RECHNUNG.RechnungsOrt, "") <> "" Then rpt.lblRechnungAn.Text &= RECHNUNG.RechnungsOrt & vbNewLine
|
||
If If(RECHNUNG.RechnungsLandKz, "") <> "" Then rpt.lblRechnungAn.Text &= cProgramFunctions.getLandBez_fromISO1Land(RECHNUNG.RechnungsLandKz, "", RECHNUNG.RechnungSprache).ToString.ToUpper
|
||
|
||
|
||
'If If(RECHNUNG.RechnungsName_2, "") = "" Then
|
||
' rpt.lblRechnung_Name1.Text = ""
|
||
' rpt.lblRechnung_Name2.Text = If(RECHNUNG.RechnungsName_1, "")
|
||
'Else
|
||
' rpt.lblRechnung_Name1.Text = If(RECHNUNG.RechnungsName_1, "")
|
||
' rpt.lblRechnung_Name2.Text = If(RECHNUNG.RechnungsName_2, "")
|
||
'End If
|
||
'rpt.lblRechnung_Strasse.Text = If(RECHNUNG.RechnungsStraße, "")
|
||
'rpt.lblRechnung_Ort.Text = If(RECHNUNG.RechnungsOrt, "")
|
||
'rpt.lblRechnung_Land.Text = cProgramFunctions.getLandBez_fromISO1Land(RECHNUNG.RechnungsLandKz, "", RECHNUNG.RechnungSprache).ToString.ToUpper
|
||
|
||
rpt.txtAbsender.Text = If(RECHNUNG.AbsenderName_1, "") & " " & If(RECHNUNG.AbsenderName_2, "") & vbNewLine & If(RECHNUNG.AbsenderOrt, "").ToString.Trim
|
||
rpt.txtEmpfaenger.Text = If(RECHNUNG.EmpfängerName_1, "") & " " & If(RECHNUNG.EmpfängerName_2, "") & vbNewLine & If(RECHNUNG.EmpfängerOrt, "").ToString.Trim
|
||
|
||
|
||
|
||
If KD_RG IsNot Nothing AndAlso If(KD_RG.Steuernummer, "") <> String.Empty Then
|
||
If RECHNUNG.Firma_ID = 4 Then
|
||
rpt.lblRechnung_Steuernummer.Text = If(KD_RG.Steuernummer, "").ToString.Trim 'ohne LandKz gewünscht
|
||
Else
|
||
rpt.lblRechnung_Steuernummer.Text = If(KD_RG.LandKz, "") & " " & If(KD_RG.Steuernummer, "").ToString.Trim
|
||
End If
|
||
|
||
' rpt.lblRechnung_UID.Text = If(KD_RG.UstIdKz, "") & " " & If(KD_RG.UstIdNr, "").ToString.Trim
|
||
Else
|
||
rpt.lblRechnung_Steuernummer.Text = ""
|
||
' rpt.lblRechnung_UID.Text = ""
|
||
End If
|
||
rpt.lblRechnung_Steuernummer.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
rpt.lblRechnung_Steuernummer_Ueberschrift.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
|
||
rpt.lblRechnung_UID.Text = If(RECHNUNG.RechnungsUstIdKz, "") & If(RECHNUNG.RechnungsUstIdNr, "")
|
||
rpt.lblRechnung_UID.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
rpt.lblRechnung_UID_Ueberschrift.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
|
||
rpt.txtKdAuftragsNr.Text = If(RECHNUNG.KdAuftragsNr, "")
|
||
rpt.txtKdAuftragsNr_Ueberschrift.Visible = (rpt.txtKdAuftragsNr.Text <> String.Empty)
|
||
|
||
rpt.TextBox1.Text = If(RECHNUNG.TextZZ, "").ToString.Replace("; ", vbNewLine).Trim
|
||
rpt.txtVermerk.Text = (If(RECHNUNG.Text, "").ToString.Trim & vbNewLine & vbNewLine & If(RECHNUNG.Notiz, "").ToString.Trim).ToString.Trim
|
||
|
||
|
||
' REVERSE CHARGE (Übergang der Steuerschuld in EU-Ländern).
|
||
' Dies hat zur Folge, dass steuerfreie Rechnungsbeträge für Leistungen,
|
||
' die in der Leistungstabelle als ReverseCharge gekennzeichnet sind,
|
||
' summiert und auf der Rechnung ausgewiesen werden.
|
||
|
||
If isReverseChargeSumme(firma, RECHNUNG) Then
|
||
|
||
If RECHNUNG.Firma_ID = 19 Then
|
||
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "RO" : rpt.txtInfo.Text = "*Taxare inversa"
|
||
Case "EN" : rpt.txtInfo.Text = "*Reverse Charge"
|
||
Case Else : rpt.txtInfo.Text = "*Reverse Charge"
|
||
End Select
|
||
|
||
Else
|
||
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "RO" : rpt.txtInfo.Text = "Obligația de TVA este transferată beneficiarului serviciului (Reverse Charge)."
|
||
Case "EN" : rpt.txtInfo.Text = "VAT liability is transferred to the recipient (Reverse Charge)."
|
||
Case Else : rpt.txtInfo.Text = "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)."
|
||
End Select
|
||
|
||
|
||
End If
|
||
|
||
Else : rpt.txtInfo.Text = "" : End If
|
||
|
||
rpt.txtAnlagen.Text = ""
|
||
If If(RECHNUNG.Anlage_1, "") <> "" Then rpt.txtAnlagen.Text &= RECHNUNG.Anlage_1
|
||
If If(RECHNUNG.Anlage_2, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & RECHNUNG.Anlage_2
|
||
If If(RECHNUNG.Anlage_3, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & RECHNUNG.Anlage_3
|
||
If If(RECHNUNG.Anlage_4, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & RECHNUNG.Anlage_4
|
||
If If(RECHNUNG.Anlage_5, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & RECHNUNG.Anlage_5
|
||
If If(RECHNUNG.Anlage_6, "") <> "" Then rpt.txtAnlagen.Text &= vbNewLine & RECHNUNG.Anlage_6
|
||
|
||
rpt.txtAnlagen.Text = rpt.txtAnlagen.Text.Trim
|
||
|
||
If rpt.txtAnlagen.Text.Replace(" ", "") = "" Then
|
||
rpt.lblAnlagenUeberschrift.Visible = False
|
||
Else
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : rpt.lblAnlagenUeberschrift.Text = "Attachment:"
|
||
Case "RO" : rpt.lblAnlagenUeberschrift.Text = "Anexa:"
|
||
Case Else : rpt.lblAnlagenUeberschrift.Text = "Anlagen:"
|
||
End Select
|
||
End If
|
||
|
||
rpt.txtHandlingATA.Text = If(RECHNUNG.Handling, "")
|
||
If rpt.txtHandlingATA.Text.Replace(" ", "") = "" Then
|
||
rpt.lblHandlingATA.Visible = False
|
||
End If
|
||
If rpt.txtAbsender.Text.Trim = String.Empty Then rpt.lblAbsenderUeberschrift.Visible = False
|
||
If rpt.txtEmpfaenger.Text.Trim = String.Empty Then rpt.lblEmpfaengerUeberschrift.Visible = False
|
||
If rpt.lblLKWId.Text.Trim = String.Empty Then rpt.lblLKWIdUebeschrift.Visible = False
|
||
If rpt.txtWarenwert.Text.Trim = String.Empty Then rpt.lblWarenWertUeberschrift.Visible = False
|
||
If rpt.txtZollbelegNr.Text.Trim = String.Empty Then rpt.lblZollbelegNr.Visible = False
|
||
If rpt.txtBeförderungsmittel.Text.Trim = String.Empty Then rpt.txtBeförderungsmittelUeberschrift.Visible = False
|
||
|
||
If RECHNUNG.FilialenNr = 8001 AndAlso RECHNUNG.OffertenNr = 95 Then
|
||
rpt.lblLeistungNr.Visible = False
|
||
rpt.lblAnzahl.Visible = False
|
||
rpt.lblSteuerfrei.Visible = False
|
||
rpt.lblSteuerpflichtig.Visible = False
|
||
|
||
rpt.lblLeistungUeberschrift.Alignment = GrapeCity.ActiveReports.Document.Section.TextAlignment.Left
|
||
Select Case RECHNUNG.RechnungSprache
|
||
' Case "EN"
|
||
' rpt.lblLeistungUeberschrift.Text = "Inv. No."
|
||
' rpt.lblAnzahlUeberschrift.Text = "OD days"
|
||
' rpt.lblSteuerpflichtigUeberschrift.Text = "Payment Amount"
|
||
' rpt.lblSteuerfreiUeberschrift.Text = "Default Interest"
|
||
' 'rpt.lbl_onlyZR_ZinsenUeberschrift.Text = "Interest p.a."
|
||
|
||
' Case "TR"
|
||
|
||
' rpt.lblLeistungUeberschrift.Text = "Belge"
|
||
' rpt.lblAnzahlUeberschrift.Text = "Günler"
|
||
' rpt.lblSteuerpflichtigUeberschrift.Text = "Ödeme tutarı"
|
||
' rpt.lblSteuerfreiUeberschrift.Text = "Geç ödeme faizi"
|
||
' ' rpt.lbl_onlyZR_ZinsenUeberschrift.Text = "Zinsen p.a."
|
||
|
||
' Case "RO"
|
||
|
||
' rpt.lblLeistungUeberschrift.Text = "Nr. fact."
|
||
' rpt.lblAnzahlUeberschrift.Text = "Nr. zile"
|
||
' rpt.lblSteuerpflichtigUeberschrift.Text = "Suma de plata"
|
||
' rpt.lblSteuerfreiUeberschrift.Text = "Penalitati"
|
||
' 'rpt.lbl_onlyZR_ZinsenUeberschrift.Text = "Dobândă p.a."
|
||
|
||
Case Else
|
||
|
||
rpt.lblLeistungUeberschrift.Text = "RENR"
|
||
rpt.lblAnzahlUeberschrift.Text = "VZ Tage"
|
||
rpt.lblSteuerpflichtigUeberschrift.Text = "Zahlungsbetrag"
|
||
rpt.lblSteuerfreiUeberschrift.Text = "Verzugszinsen"
|
||
'rpt.lbl_onlyZR_ZinsenUeberschrift.Text = "Zinsen p.a."
|
||
End Select
|
||
|
||
|
||
|
||
rpt.lblSteuerpflichtigUeberschrift.Alignment = GrapeCity.ActiveReports.Document.Section.TextAlignment.Center
|
||
rpt.lblSteuerfreiUeberschrift.Alignment = GrapeCity.ActiveReports.Document.Section.TextAlignment.Right
|
||
|
||
rpt.lbl_onlyZR_ZinsenUeberschrift.Alignment = GrapeCity.ActiveReports.Document.Section.TextAlignment.Left
|
||
rpt.lbl_onlyZR_ReDatUeberschrift.Visible = True
|
||
rpt.lbl_onlyZR_FaelligUeberschrift.Visible = True
|
||
rpt.lbl_onlyZR_ZinsenUeberschrift.Visible = True
|
||
rpt.lbl_onlyZR_ZahlungsDatUeberschrift.Visible = True
|
||
|
||
rpt.txtLeistung.Visible = False
|
||
|
||
Else
|
||
|
||
'rpt.lblLeistungUeberschrift.Text = "Leistung"
|
||
'rpt.lblAnzahlUeberschrift.Text = "Anzahl"
|
||
'rpt.lblSteuerfreiUeberschrift.Text = "Steuerfrei"
|
||
'rpt.lblSteuerpflichtigUeberschrift.Text = "Steuerpflichtig"
|
||
rpt.lblSteuerpflichtigUeberschrift.Alignment = GrapeCity.ActiveReports.Document.Section.TextAlignment.Right
|
||
|
||
rpt.lbl_onlyZR_ReDatUeberschrift.Visible = False
|
||
rpt.lbl_onlyZR_FaelligUeberschrift.Visible = False
|
||
rpt.lbl_onlyZR_ZinsenUeberschrift.Visible = False
|
||
rpt.lbl_onlyZR_ZahlungsDatUeberschrift.Visible = False
|
||
rpt.txtLeistung.Visible = True
|
||
|
||
End If
|
||
|
||
|
||
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
|
||
|
||
'ANLAGE ZUR RECHNUNG:
|
||
If RECHNUNG.Status = 3 Or RECHNUNG.Sammelrechnung <> 0 Then
|
||
rpt.txtAnlagen.Visible = False
|
||
rpt.lblAnlagenUeberschrift.Visible = False
|
||
rpt.lblRgDatumUeberschrift.Visible = False
|
||
rpt.lblRgNrUeberschrift.Visible = False
|
||
rpt.lblRgDatum.Visible = False
|
||
rpt.lblRgNr.Visible = False
|
||
|
||
rpt.lblSummeUeberschrift.Visible = False
|
||
rpt.lblSumme.Visible = False
|
||
rpt.lblZWSumme.Visible = False
|
||
rpt.lblZwText.Visible = False
|
||
rpt.lblSteuersatz.Visible = False
|
||
rpt.lblSteuerbetrag.Visible = False
|
||
|
||
rpt.Label46.Visible = False
|
||
rpt.Line1.Visible = False
|
||
rpt.Line5.Visible = False
|
||
rpt.Line14.Visible = False
|
||
rpt.Line8.Visible = False
|
||
rpt.Line7.Visible = False
|
||
|
||
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN"
|
||
Select Case RECHNUNG.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "Attachment to invoice"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "Attachment to CREDIT NOTE"
|
||
End Select
|
||
Case "RO"
|
||
Select Case RECHNUNG.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "Anexa la factura colectiva"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "Anexa la nota de credit"
|
||
End Select
|
||
Case Else
|
||
Select Case RECHNUNG.BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "Anlage zur Sammelrechnung"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "Anlage zur Gutschrift"
|
||
End Select
|
||
|
||
End Select
|
||
End If
|
||
|
||
If Not printOriginalRg Then 'sonst wird der originaldruck erzwungen
|
||
If RECHNUNG.DruckDatumZeit IsNot Nothing Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY"
|
||
Case "RO" : rpt.lblUeberschriftRG_GS.Text &= " - COPIE"
|
||
Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE"
|
||
End Select
|
||
End If
|
||
End If
|
||
|
||
'Dim cnt As Integer = 0
|
||
|
||
If RECHNUNG.Firma_ID = 19 Then
|
||
|
||
'rpt.lblSteuersatz.Visible = False
|
||
'rpt.lblSteuerbetrag.Visible = False
|
||
rpt.lblSteuerpflichtigGes.Visible = False
|
||
rpt.lblSteuerfreiGes.Visible = False
|
||
rpt.lblZwText.Visible = False
|
||
rpt.lblZWSumme.Visible = False
|
||
|
||
rpt.lblRechnung_Steuernummer.Visible = False
|
||
rpt.lblRechnung_Steuernummer_Ueberschrift.Visible = False
|
||
End If
|
||
|
||
Dim sumSteuerpflichtig As Double = 0
|
||
Dim sumSteuerfrei As Double = 0
|
||
|
||
'Dim Anz As Double = 0
|
||
'Dim gesSumBt As Double = 0
|
||
'Dim gesAnz As Double = 0
|
||
Dim vorzeichen = If(If(RECHNUNG.Vorzeichen, "") = "-", -1, 1)
|
||
|
||
|
||
' Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(RECHNUNG.RechnungsKundenNr)
|
||
|
||
' rpt.Line10.AnchorBottom = True
|
||
' rpt.Line10.Height = rpt.Detail.Height
|
||
|
||
AddHandler rpt.Detail.Format, Sub()
|
||
' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString
|
||
' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString
|
||
|
||
rpt.lblLeistungNr.Text = checkNull(rpt.Fields.Item("LeistungsNr").Value)
|
||
rpt.txtLeistung.Text = checkNull(rpt.Fields.Item("LeistungsBez").Value)
|
||
|
||
If firma.Firma_ID = 19 Then
|
||
|
||
If RECHNUNG.FilialenNr = 8001 AndAlso RECHNUNG.OffertenNr = 95 Then 'dann ist es eine Zinsnachberechnungs-Rechnung
|
||
|
||
Dim steuerfrei As Double = 0
|
||
Dim steuerpfl As Double = 0
|
||
|
||
If IsNumeric(checkNull(rpt.Fields.Item("SteuerfreierBetrag").Value)) Then steuerfrei = CDbl(rpt.Fields.Item("SteuerfreierBetrag").Value)
|
||
If IsNumeric(checkNull(rpt.Fields.Item("SteuerpflichtigerBetrag").Value)) Then steuerpfl = CDbl(rpt.Fields.Item("SteuerpflichtigerBetrag").Value)
|
||
|
||
|
||
Dim subRpt = New rptRechnungMDM_AnlagenDruck_Zinsennachberechnung(rpt._LAN, RECHNUNG, rpt.txtLeistung.Text.Replace("*", ""), CInt(rpt.lblAnzahl.Text), steuerfrei + steuerpfl)
|
||
|
||
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
|
||
|
||
Dim isReverseCharge As Boolean = SQL.getValueTxtBySql("SELECT ReverseCharge as Bit from Leistungen where LeistungsNr= " & rpt.lblLeistungNr.Text, "FMZOLL")
|
||
If isReverseCharge Then
|
||
rpt.txtLeistung.Text &= IIf(Not rpt.txtLeistung.Text.Contains("*"), "*", "")
|
||
End If
|
||
|
||
If rpt.txtLeistung.Text.Contains("00/23") Or rpt.txtLeistung.Text.Contains("DL/23") Then
|
||
If RECHNUNG.FilialenNr = 4817 AndAlso RECHNUNG.AbfertigungsNr > 0 AndAlso (RECHNUNG.OffertenNr = 14 Or RECHNUNG.OffertenNr = 15 Or RECHNUNG.OffertenNr = 31) Then
|
||
Dim antragsID As Integer = CInt(SQL.getValueTxtBySql("SELECT UStVAn_ID FROM tblUStVAntrag WHERE FilialenNr = " & RECHNUNG.FilialenNr & " AND AbfertigungsNr = " & RECHNUNG.AbfertigungsNr, "FMZOLL",,, "-1"))
|
||
|
||
If antragsID > 0 Then
|
||
|
||
Dim MWSTAntrag As New cUSTVAntrag(antragsID)
|
||
|
||
|
||
Dim MonthStart As String = IIf(CDate(MWSTAntrag.UStVAn_ReDatVon).Month < 10, "0", "") & CDate(MWSTAntrag.UStVAn_ReDatVon).Month
|
||
Dim MonthEnd As String = IIf(CDate(MWSTAntrag.UStVAn_ReDatBis).Month < 10, "0", "") & CDate(MWSTAntrag.UStVAn_ReDatBis).Month
|
||
|
||
If MonthStart = MonthEnd Then MonthEnd = ""
|
||
|
||
Dim listVZMonth As New List(Of Integer)
|
||
|
||
If RECHNUNG.RK_ID > 0 Then
|
||
For Each pos As cUStVPositionen In MWSTAntrag.POSITIONEN.OrderBy(Function(x) If(IsDate(x.UStVPo_ReDat), CDate(x.UStVPo_ReDat), Nothing))
|
||
|
||
If Not IsDBNull(pos.UStVPo_VZ) AndAlso pos.UStVPo_VZ AndAlso pos.UStVPo_VZ_RKID = RECHNUNG.RK_ID AndAlso IsDate(pos.UStVPo_ReDat) Then
|
||
If Not listVZMonth.Contains(CDate(pos.UStVPo_ReDat).Month) Then listVZMonth.Add(CDate(pos.UStVPo_ReDat).Month)
|
||
End If
|
||
|
||
Next
|
||
End If
|
||
|
||
|
||
If listVZMonth.Count > 0 Then
|
||
|
||
If listVZMonth.Count = 1 Then
|
||
MonthStart = IIf(CDate(MWSTAntrag.UStVAn_ReDatVon).Month < 10, "0", "") & listVZMonth(0).ToString
|
||
MonthEnd = ""
|
||
Else
|
||
MonthStart = IIf(CDate(MWSTAntrag.UStVAn_ReDatVon).Month < 10, "0", "") & listVZMonth(0).ToString
|
||
MonthEnd = IIf(CDate(MWSTAntrag.UStVAn_ReDatBis).Month < 10, "0", "") & listVZMonth(listVZMonth.Count - 1).ToString
|
||
End If
|
||
End If
|
||
|
||
|
||
If rpt.txtLeistung.Text.Contains("00-00/23") Then
|
||
rpt.txtLeistung.Text = rpt.txtLeistung.Text.Replace("00/23", "/" & CDate(MWSTAntrag.UStVAn_ReDatBis).Year.ToString.Substring(2))
|
||
ElseIf rpt.txtLeistung.Text.Contains("DL/23") Then
|
||
rpt.txtLeistung.Text = rpt.txtLeistung.Text.Replace("DL/23", "/" & CDate(MWSTAntrag.UStVAn_ReDatBis).Year.ToString.Substring(2))
|
||
Else
|
||
rpt.txtLeistung.Text = rpt.txtLeistung.Text.Replace("/23", "/" & CDate(MWSTAntrag.UStVAn_ReDatBis).Year.ToString.Substring(2))
|
||
End If
|
||
|
||
If rpt.txtLeistung.Text.Contains("-00") Then
|
||
rpt.txtLeistung.Text = rpt.txtLeistung.Text.Replace("-00", MonthStart & IIf(MonthEnd <> "", "-" & MonthEnd, ""))
|
||
ElseIf rpt.txtLeistung.Text.Contains("00-") Then
|
||
rpt.txtLeistung.Text = rpt.txtLeistung.Text.Replace("00-", MonthStart & IIf(MonthEnd <> "", "-" & MonthEnd, ""))
|
||
ElseIf rpt.txtLeistung.Text.Contains("00") Then
|
||
rpt.txtLeistung.Text = rpt.txtLeistung.Text.Replace("00", MonthStart & IIf(MonthEnd <> "", "-" & MonthEnd, ""))
|
||
End If
|
||
End If
|
||
|
||
|
||
End If
|
||
|
||
|
||
End If
|
||
End If
|
||
|
||
|
||
If rpt.Fields.Item("Belegdaten").Value IsNot Nothing Then
|
||
rpt.txtLeistung.Text &= vbNewLine & checkNull(rpt.Fields.Item("Belegdaten").Value)
|
||
End If
|
||
|
||
rpt.lblAnzahl.Text = checkNull(rpt.Fields.Item("Anzahl").Value)
|
||
' rpt.lblBetrag.Text = rpt.Fields.Item("betrag").Value
|
||
|
||
Dim stPfl As Double = 0
|
||
Dim stFrei As Double = 0
|
||
|
||
|
||
If IsNumeric(checkNull(rpt.Fields.Item("SteuerpflichtigerBetrag").Value)) Then stPfl = CDbl(rpt.Fields.Item("SteuerpflichtigerBetrag").Value())
|
||
rpt.lblSteuerpflichtig.Text = If(stPfl <> 0, CDbl(stPfl * vorzeichen).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
If IsNumeric(checkNull(rpt.Fields.Item("SteuerfreierBetrag").Value)) Then stFrei = CDbl(rpt.Fields.Item("SteuerfreierBetrag").Value())
|
||
rpt.lblSteuerfrei.Text = If(stFrei <> 0, CDbl(stFrei * vorzeichen).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
|
||
|
||
sumSteuerpflichtig += stPfl
|
||
sumSteuerfrei += stFrei
|
||
|
||
' Anz += 1
|
||
' gesAnz += 1
|
||
|
||
' If Anz Mod 2 = 0 Then
|
||
' rpt.Detail.BackColor = Color.FromArgb(240, 240, 240)
|
||
'Else
|
||
' rpt.Detail.BackColor = Color.White
|
||
' End If
|
||
'rpt.Line10.Height = rpt.Detail.Height
|
||
|
||
End Sub
|
||
|
||
AddHandler rpt.ReportFooter1.Format, Sub()
|
||
rpt.lblSteuerpflichtigGes.Text = If(sumSteuerpflichtig <> 0, CDbl(sumSteuerpflichtig * vorzeichen).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
rpt.lblSteuerfreiGes.Text = If(sumSteuerfrei <> 0, CDbl(sumSteuerfrei * vorzeichen).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
|
||
Dim steuerProz As Double = 0
|
||
Dim steuerBez As String = ""
|
||
|
||
Dim dt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RECHNUNG.Steuerschlüssel & "'", "FMZOLL")
|
||
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
||
steuerProz = dt.Rows(0)(0)
|
||
steuerBez = dt.Rows(0)(1)
|
||
End If
|
||
|
||
Dim tmpSteuerbetrag = CDbl((sumSteuerpflichtig * steuerProz) * vorzeichen)
|
||
rpt.lblSteuersatz.Text = steuerBez
|
||
rpt.lblSteuerbetrag.Text = If((sumSteuerpflichtig * steuerProz) <> 0, tmpSteuerbetrag.ToString("N2", CultureInfo.CurrentCulture), "")
|
||
If tmpSteuerbetrag = 0 Then
|
||
rpt.lblSteuerbetrag.Visible = False
|
||
End If
|
||
|
||
' rpt.lblZWSumme.Text = (sumSteuerpflichtig + sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture)
|
||
' rpt.lblSumme.Text = (sumSteuerpflichtig + sumSteuerfrei + (sumSteuerpflichtig * steuerProz)).ToString("N2", CultureInfo.CurrentCulture)
|
||
|
||
rpt.lblZWSumme.Text = CDbl((sumSteuerpflichtig + sumSteuerfrei) * vorzeichen).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblSumme.Text = CDbl((sumSteuerpflichtig + sumSteuerfrei + (sumSteuerpflichtig * steuerProz)) * vorzeichen).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.Label46.Text = If(RECHNUNG.Währungscode, "EUR")
|
||
|
||
If isSTARK(RECHNUNG) Then
|
||
rpt.lblZwText.Text = "Summe EUST"
|
||
rpt.lblZWSumme.Text = CDbl(getSTARK_EUST(firma, RECHNUNG)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblZwText.Visible = True
|
||
rpt.lblZWSumme.Visible = True
|
||
|
||
rpt.lblSteuersatz.Text = "Summe ohne EUST"
|
||
rpt.lblSteuerbetrag.Text = CDbl(getSTARK_ohneEUST(firma, RECHNUNG)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblSteuersatz.Visible = True
|
||
rpt.lblSteuerbetrag.Visible = True
|
||
|
||
Else
|
||
|
||
If isReverseChargeSumme(firma, RECHNUNG) Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "DE" : rpt.lblZwText.Text = "Summe Steuerfrei" : rpt.lblSteuersatz.Text = "Summe Reverse Charge"
|
||
Case "EN" : rpt.lblZwText.Text = "Sum Taxfree" : rpt.lblSteuersatz.Text = "Sum Reverse Charge"
|
||
Case "RO" : rpt.lblZwText.Text = "Suma neimpozabila" : rpt.lblSteuersatz.Text = "Suma Reverse Charge"
|
||
End Select
|
||
|
||
rpt.lblZWSumme.Text = CDbl(getSteuerfreiEUSTZOLL(firma, RECHNUNG)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblZwText.Visible = True
|
||
rpt.lblZWSumme.Visible = True
|
||
|
||
If RECHNUNG.Firma_ID = 19 Then 'Bei MDM ausblenden!
|
||
rpt.lblSteuersatz.Text = ""
|
||
rpt.lblSteuerbetrag.Visible = False
|
||
Else
|
||
rpt.lblSteuerbetrag.Text = CDbl(getReverseChargeSummeRKID(firma, RECHNUNG)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblSteuersatz.Visible = True
|
||
rpt.lblSteuerbetrag.Visible = True
|
||
|
||
End If
|
||
|
||
Else
|
||
|
||
If sumSteuerfrei = 0 Or sumSteuerpflichtig = 0 Then
|
||
|
||
rpt.lblZwText.Visible = False
|
||
rpt.lblZWSumme.Visible = False
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
If RECHNUNG.Firma_ID = 19 Then
|
||
|
||
If rpt.lblSteuerbetrag.Text = "" Then rpt.lblSteuersatz.Text = ""
|
||
'rpt.lblSteuersatz.Visible = False
|
||
'rpt.lblSteuerbetrag.Visible = False
|
||
|
||
rpt.lblSteuerpflichtigGes.Visible = False
|
||
rpt.lblSteuerfreiGes.Visible = False
|
||
rpt.lblZwText.Visible = False
|
||
rpt.lblZWSumme.Visible = False
|
||
End If
|
||
|
||
|
||
End Sub
|
||
|
||
'DruckDatumUhrzeit wird gesetzt, falls noch ungedruckt...
|
||
'If RECHNUNG.DruckDatumZeit Is Nothing Then
|
||
' RECHNUNG.SET_DruckdatumUhrzeit()
|
||
'End If
|
||
|
||
|
||
If vorschau Then
|
||
|
||
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
|
||
|
||
cProgramFunctions.showRpt(rpt, "Rechnungsdruck", False)
|
||
Return True
|
||
Else
|
||
Dim Kopie = True
|
||
'ORIGINAL
|
||
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr)
|
||
If RECHNUNG.Status = 0 Then
|
||
If AD IsNot Nothing Then
|
||
Kopie = False
|
||
'Aktualisierung und speichern:
|
||
If Abrechnugsdaten_AKTUALISIEREN(RECHNUNG, RechnungsDatum) Then
|
||
rpt.lblRgNr.Text = If(RECHNUNG.RechnungsNr > 0, addYeartoRgNr(RECHNUNG.Firma_ID, RECHNUNG.Buchungsjahr) & RECHNUNG.RechnungsNr, "Vorschau")
|
||
rpt.lblRgDatum.Text = CDate(RECHNUNG.RechnungsDatum).ToShortDateString
|
||
|
||
If RECHNUNG.RechnungsDatum IsNot Nothing Then 'Muss zweimal vorkommen, Erstmaliger Druck
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", CDate(RECHNUNG.RechnungsDatum).AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", CDate(RECHNUNG.RechnungsDatum).AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTageVL).ToShortDateString)
|
||
Else
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
End If
|
||
|
||
Else
|
||
MsgBox("Fehler bei der Vergabe der Rg-Nr.!")
|
||
Return False
|
||
End If
|
||
Else
|
||
MsgBox("Fehler: Kein Rechnungsempfänger gefunden!")
|
||
Return False
|
||
End If
|
||
Else
|
||
|
||
If RECHNUNG.RechnungsDatum IsNot Nothing Then 'Muss zweimal vorkommen, Wiederholungsdruck
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", CDate(RECHNUNG.RechnungsDatum).AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", CDate(RECHNUNG.RechnungsDatum).AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTageVL).ToShortDateString)
|
||
Else
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(10).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZ>", Now.AddDays(ZZTage).ToShortDateString)
|
||
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+ZZVL>", Now.AddDays(ZZTageVL).ToShortDateString)
|
||
End If
|
||
|
||
If RECHNUNG.[DruckDatumZeit] Is Nothing Then
|
||
RECHNUNG.[DruckDatumZeit] = Now 'Wenn Rg-Nr schon vergeben wird das neu gesetzt
|
||
RECHNUNG.SAVE_DruckDatumZeit() ' Nur SAVE_DruckDatumZeit ändern/setzen
|
||
End If
|
||
End If
|
||
|
||
If Not RECHNUNG.checkRechnungsNrIsSet() Then
|
||
MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
|
||
Return False
|
||
End If
|
||
|
||
'Rechnugnsdruck = Individuell für deise Rechnung, wird optional mitgegeben
|
||
' Dim RG_Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "_Rechnung_" & If(RECHNUNG.RechnungsNr, "") & ".pdf"
|
||
Dim RG_Bezeichnung = If(RECHNUNG.[BelegartenKz] = "AR", "Rechnung_", "Gutschrift_") & If(RECHNUNG.RechnungsNr, "") & ".pdf"
|
||
|
||
'--------------------------------
|
||
' --> TEST wegen Size Problem
|
||
'--------------------------------
|
||
If PrinterName <> "" Then
|
||
rpt.Document.Printer.PrinterName = PrinterName
|
||
End If
|
||
rpt.Document.Printer.PaperSize = rpt.Document.Printer.PrinterSettings.DefaultPageSettings.PaperSize
|
||
|
||
'Immer Exportieren, da in Therefore speichern
|
||
Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
rpt.Run(False)
|
||
p.NeverEmbedFonts = ""
|
||
|
||
p.Export(rpt.Document, tmpPath)
|
||
|
||
Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID)
|
||
Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD")
|
||
If enableZugpferd Then
|
||
tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(True, RECHNUNG,), "ZUGFeRD-invoice.xml")
|
||
Else
|
||
|
||
Dim Zugferdpath = createZUGFeRD(True, RECHNUNG)
|
||
Dim fileInfo_ZP As New FileInfo(Zugferdpath)
|
||
Dim ZUGF_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "ZUGFERD", Now().Year, "", "", fileInfo_ZP.Name, -1, False)
|
||
ZUGF_DS.uploadDataToDATENSERVER(Zugferdpath, fileInfo_ZP.Name, fileInfo_ZP.Extension,,,, True)
|
||
|
||
End If
|
||
|
||
|
||
Path = tmpPath
|
||
|
||
'THEREFORE IMPORT:
|
||
'-------------------------------------------------------------------------------
|
||
Try
|
||
If Not Kopie And (Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM OrElse vbYes = MsgBox("TEST - in Therefore speichern?", vbYesNoCancel)) Then
|
||
|
||
VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(tmpPath, RECHNUNG.FilialenNr & RECHNUNG.AbfertigungsNr, If(RECHNUNG.AvisoID, ""), RECHNUNG.Firma_ID, False)
|
||
|
||
End If
|
||
Catch ex As Exception
|
||
MsgBox("Therefore-Import fehlgeschlagen!" & ex.Message & ex.StackTrace)
|
||
End Try
|
||
'-------------------------------------------------------------------------------
|
||
|
||
' MsgBox(Rechnugnsdruck)
|
||
Dim RD_DRUCK = If(Rechnugnsdruck >= 0, Rechnugnsdruck, If(AD.Rechnungsdruck, 0)) 'If(AD.Rechnungsdruck, 0)
|
||
' MsgBox(RD_DRUCK)
|
||
Select Case RD_DRUCK
|
||
Case 0, 1 'DRUCKEN
|
||
|
||
Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False)
|
||
|
||
If printStbVdb AndAlso RECHNUNG.Firma_ID <> 1 Then
|
||
If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Zollbeleg drucken?", vbYesNoCancel)) Then
|
||
printSpedBuchAnhaenge(RECHNUNG, True, True)
|
||
End If
|
||
End If
|
||
If RECHNUNG.ANHAENGE.Count > 0 AndAlso RECHNUNG.Firma_ID <> 1 Then
|
||
If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then
|
||
printRGAnhaenge(RECHNUNG)
|
||
End If
|
||
End If
|
||
|
||
Return ret
|
||
|
||
Case 2, 5 'MAIL
|
||
|
||
Path = tmpPath
|
||
|
||
Try
|
||
Dim outl As New Outlook.Application
|
||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||
Mail = outl.CreateItem(0)
|
||
Select Case RECHNUNG.RechnungsLandKz
|
||
Case "TR"
|
||
Mail.Subject = "Invoice No. " & RECHNUNG.RechnungsNr
|
||
Mail.HTMLBody = "Sayin Bayanlar ve Baylar,<br><br>ekte baslikta yazan faturayi bulabilirsinz."
|
||
Mail.HTMLBody &= "<br><br><br>Saygilarimizla<br><br>" & getSignature(RECHNUNG)
|
||
Case "A", "AT", "D", "DE", "CH"
|
||
Mail.Subject = "Rechnung Nr. " & RECHNUNG.RechnungsNr
|
||
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die o.g. Rechnung."
|
||
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>" & getSignature(RECHNUNG)
|
||
Case Else
|
||
Mail.Subject = "Invoice No. " & RECHNUNG.RechnungsNr
|
||
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the invoice mentioned above."
|
||
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>" & getSignature(RECHNUNG)
|
||
End Select
|
||
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & Mail.HTMLBody & "</div>"
|
||
|
||
Dim emai_receipt As String = ""
|
||
If RECHNUNG.FilialenNr = "4801" Or RECHNUNG.FilialenNr = "4802" Then emai_receipt = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(RECHNUNG.RechnungsKundenNr, "Rechnung an (ATILLA)")
|
||
|
||
Mail.To = IIf(emai_receipt = "", VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(RECHNUNG.RechnungsKundenNr, "Rechnung an"), emai_receipt)
|
||
Mail.Attachments.Add(tmpPath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , "Rechnung.pdf")
|
||
Mail.Display()
|
||
|
||
If RD_DRUCK = 5 Then
|
||
' --> RPOT KOPIE DRUCKEN
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY"
|
||
Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE"
|
||
End Select
|
||
|
||
Dim ret = cProgramFunctions.printRpt(rpt, PrinterName, False)
|
||
If printStbVdb Then
|
||
If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Zollbeleg drucken?", vbYesNoCancel)) Then
|
||
printSpedBuchAnhaenge(RECHNUNG, True, True)
|
||
End If
|
||
End If
|
||
If RECHNUNG.ANHAENGE.Count > 0 Then
|
||
'wird nicht mehr benötigt! TicketNr: 953 ----- wird doch wieder benötigt!
|
||
If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge drucken?", vbYesNoCancel)) Then
|
||
printRGAnhaenge(RECHNUNG)
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
Catch ex As Exception
|
||
MsgBox("Fehler beim Öffnen des Mail-Programmes. PDF wird geladen!")
|
||
Process.Start(tmpPath)
|
||
End Try
|
||
rpt.Dispose()
|
||
Return True
|
||
|
||
Case 3 'PDF + öffnen
|
||
|
||
If RECHNUNG.ANHAENGE.Count > 0 Then
|
||
If (RECHNUNG.[DruckDatumZeit] Is Nothing OrElse vbYes = MsgBox("Anhänge öffnen?", vbYesNoCancel)) Then
|
||
openRgAnhaenge(RECHNUNG)
|
||
End If
|
||
End If
|
||
|
||
' rpt.Dispose()
|
||
Path = tmpPath
|
||
Process.Start(tmpPath)
|
||
|
||
rpt.Dispose()
|
||
Return True
|
||
Case 4 'PDF _ für Mail Funktion--> nur PDFpfad benötigt
|
||
|
||
Path = tmpPath
|
||
rpt.Dispose()
|
||
Return True
|
||
End Select
|
||
End If
|
||
|
||
Return False
|
||
End Function
|
||
|
||
Shared Function createZUGFeRD(einzelrechnung As Boolean, Optional RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang = Nothing, Optional SR_DT As DataTable = Nothing, Optional rpt As rptSammelRechnungDruck = Nothing, Optional rptAnl As rptSammelRechnungAnlagenDruck = Nothing) As String
|
||
|
||
Dim ZZTage = 10
|
||
Dim vatSeller As ElectronicAddressSchemeIdentifiers
|
||
Dim vatBuyer As ElectronicAddressSchemeIdentifiers
|
||
|
||
If einzelrechnung AndAlso RECHNUNG IsNot Nothing Then
|
||
|
||
'---------------------------------------------------------------------------------
|
||
'--------------------------------EINZELRECHNUNG-----------------------------------
|
||
'---------------------------------------------------------------------------------
|
||
|
||
Dim RECHNUNG_AD As cAdressen
|
||
Dim RECHNUNG_KD As cKunde
|
||
|
||
If RECHNUNG.RechnungsKundenNr > 0 Then
|
||
|
||
RECHNUNG_AD = New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr)
|
||
RECHNUNG_KD = New VERAG_PROG_ALLGEMEIN.cKunde(RECHNUNG.RechnungsKundenNr)
|
||
|
||
If RECHNUNG_KD.Zahlungsziel IsNot Nothing AndAlso IsNumeric(RECHNUNG_KD.Zahlungsziel) Then
|
||
ZZTage = RECHNUNG_KD.Zahlungsziel
|
||
End If
|
||
End If
|
||
|
||
Dim zahlungszieldatum As Date = CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTage)
|
||
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(RECHNUNG.Firma_ID)
|
||
Dim desc As InvoiceDescriptor = InvoiceDescriptor.CreateInvoice(RECHNUNG.RechnungsNr, RECHNUNG.RechnungsDatum, IIf(FIRMA.Firma_ID = 26, CurrencyCodes.GBP, CurrencyCodes.EUR))
|
||
|
||
Select Case RECHNUNG.BelegartenKz
|
||
Case "AR"
|
||
desc.Name = "SPEDITIONSRECHNUNG"
|
||
desc.Type = InvoiceType.ForwardersInvoice
|
||
Case "AG"
|
||
desc.Name = "GUTSCHRIFT"
|
||
desc.Type = InvoiceType.CreditNote
|
||
End Select
|
||
|
||
|
||
'Die „Berechnung BT-10“ bezieht sich auf das Feld BT-10 „Buyer reference“ (Käuferreferenz) in der elektronischen Rechnung, speziell im XRechnung-Standard. Dieses Feld dient zur Angabe der Leitweg-ID
|
||
'für öffentliche Auftraggeber oder anderer Referenzinformationen für interne Zuordnungsprozesse.
|
||
'Die Leitweg-ID ist in Deutschland eine Pflichtangabe für elektronische Rechnungen an die Bundesverwaltung und muss vom Rechnungssteller vom Auftraggeber erhalten werden.
|
||
|
||
desc.ReferenceOrderNo = IIf(RECHNUNG.KdAuftragsNr Is Nothing, "-", RECHNUNG.KdAuftragsNr)
|
||
|
||
If RECHNUNG.Besonderheiten IsNot Nothing Then desc.AddNote(RECHNUNG.Besonderheiten.ToString, SubjectCodes.AAI)
|
||
If RECHNUNG.Text IsNot Nothing Then desc.AddNote(RECHNUNG.Text.ToString, SubjectCodes.AAI)
|
||
desc.AddNote("Es bestehen Rabatt- und Bonusvereinbarungen.", SubjectCodes.AAK)
|
||
|
||
|
||
Dim KundePLZ As String = ""
|
||
Dim KundeOrt As String = ""
|
||
|
||
If RECHNUNG_AD IsNot Nothing Then
|
||
|
||
If RECHNUNG_AD.PLZ IsNot Nothing Then
|
||
KundePLZ = RECHNUNG_AD.PLZ
|
||
ElseIf RECHNUNG_AD.PLZPF IsNot Nothing Then
|
||
KundePLZ = RECHNUNG_AD.PLZPF
|
||
End If
|
||
|
||
If RECHNUNG_AD.Ort IsNot Nothing Then
|
||
KundeOrt = RECHNUNG_AD.Ort
|
||
ElseIf RECHNUNG_AD.Postfach IsNot Nothing Then
|
||
KundeOrt = RECHNUNG_AD.Postfach
|
||
End If
|
||
End If
|
||
|
||
'im RECHNUNG.RechnungsOrt befinden sich Ort und PLZ kombiniert!
|
||
desc.SetBuyer(RECHNUNG.RechnungsName_1 & IIf(RECHNUNG.RechnungsName_2 <> "", " " & RECHNUNG.RechnungsName_2, ""), IIf(KundePLZ <> "", KundePLZ, RECHNUNG.RechnungsOrt), IIf(KundeOrt <> "", KundeOrt, RECHNUNG.RechnungsOrt), RECHNUNG.RechnungsStraße, GetCountryCodeFromLandKZ(RECHNUNG.RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(RECHNUNG.KundenNrZentrale), RECHNUNG.KundenNrZentrale, ""))
|
||
|
||
Dim FirmaOrt = FIRMA.Firma_Ort
|
||
FirmaOrt = FirmaOrt.Replace(FIRMA.Firma_LandKz & "-" & FIRMA.Firma_PLZ & " ", "")
|
||
|
||
desc.SetSeller(FIRMA.Firma_Bez, FIRMA.Firma_PLZ, FirmaOrt, FIRMA.Firma_Straße, GetCountryCodeFromLandKZ(FIRMA.Firma_LandKz, vatSeller))
|
||
desc.AddSellerTaxRegistration(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), TaxRegistrationSchemeID.VA)
|
||
|
||
' Optionally, to support Peppol-----------------------------
|
||
|
||
|
||
If Not IsDBNull(RECHNUNG.RechnungsUstIdNr) AndAlso RECHNUNG.RechnungsUstIdNr IsNot Nothing AndAlso Not IsDBNull(RECHNUNG.RechnungsUstIdKz) AndAlso RECHNUNG.RechnungsUstIdKz IsNot Nothing Then
|
||
desc.AddBuyerTaxRegistration(RECHNUNG.RechnungsUstIdKz & RECHNUNG.RechnungsUstIdNr, TaxRegistrationSchemeID.VA)
|
||
If vatBuyer Then
|
||
desc.SetBuyerElectronicAddress(RECHNUNG.RechnungsUstIdKz & RECHNUNG.RechnungsUstIdNr, vatBuyer)
|
||
desc.SetSellerElectronicAddress(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), vatSeller)
|
||
End If
|
||
|
||
End If
|
||
'-----------------------------
|
||
desc.ActualDeliveryDate = (RECHNUNG.Abfertigungsdatum)
|
||
|
||
Dim steuerProzent As Double = SQL.DLookup(" isnull([Steuersatz %],0)", "[Steuertabelle] ", "[Steuerschlüssel]='" & checkNull(RECHNUNG.Steuerschlüssel) & "'", "FMZOLL", 0)
|
||
Dim steuerProzenFaktor As Double = 0
|
||
If steuerProzent > 0 AndAlso steuerProzent < 1 Then
|
||
steuerProzenFaktor = steuerProzent * 100
|
||
End If
|
||
|
||
|
||
Dim sumNetto As Double = 0
|
||
For Each p In RECHNUNG.POSITIONEN
|
||
|
||
Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem(
|
||
name:=p.LeistungsBez,
|
||
billedQuantity:=Convert.ToDecimal(p.Anzahl),
|
||
unitCode:=QuantityCodes.C62, ' immer in Stück
|
||
netUnitPrice:=Convert.ToDecimal(p.Preis),
|
||
grossUnitPrice:=Convert.ToDecimal(p.Preis),
|
||
categoryCode:=IIf(p.Steuerpflichtig, TaxCategoryCodes.S, TaxCategoryCodes.Z),
|
||
taxPercent:=IIf(p.Steuerpflichtig, Convert.ToDecimal(RECHNUNG.Steuersatz_Proz * 100), 0),
|
||
taxType:=IIf(p.Steuerpflichtig, TaxTypes.VAT, TaxTypes.VAT)
|
||
)
|
||
Dim netUnitPrice = Convert.ToDecimal(p.Preis)
|
||
Dim grossUnitPrice = IIf(p.Steuerpflichtig, Convert.ToDecimal(p.Preis * (1 + RECHNUNG.Steuersatz_Proz)), Convert.ToDecimal(p.Preis))
|
||
Dim netPricePos = netUnitPrice * Convert.ToDecimal(p.Anzahl)
|
||
sumNetto += netPricePos
|
||
Next
|
||
|
||
'Summe aller Rechnungspositions-Nettobeträge der Rechnung
|
||
Dim lineTotalAmont = sumNetto
|
||
'Der Gesamtbetrag der Umsatzsteuer für die Rechnung,
|
||
'IIf(RECHNUNG.SteuerpflichtigerGesamtbetrag <> 0, Math.Round(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2), 0) ??????????????????
|
||
Dim taxTotalAmount = IIf(RECHNUNG.SteuerpflichtigerGesamtbetrag <> 0, Math.Round(Convert.ToDecimal(RECHNUNG.SteuerpflichtigerGesamtbetrag) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2), 0)
|
||
' Die Gesamtsumme der Rechnung ohne Umsatzsteuer ' RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0
|
||
Dim taxBasisAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0 - taxTotalAmount)
|
||
'Der Gesamtbetrag der Rechnung mit Umsatzsteuer
|
||
'Dim grandTotalAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + taxTotalAmount)
|
||
Dim grandTotalAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
|
||
'Der ausstehende Betrag, um dessen Zahlung gebeten wird. Dieser Betrag ist der Rechnungsgesamtbetrag einschließlich Umsatzsteuer abzüglich des im Voraus gezahlten Betrages.Im Falle einer vollständig beglichenen Rechnung ist dieser Betrag gleich null. Der Betrag kann negativ sein; In diesem Fall schuldet der Verkäufer dem Käufer den Betrag
|
||
'Dim duePayableAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + taxTotalAmount)
|
||
Dim duePayableAmount = Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag)
|
||
|
||
desc.SetTotals(
|
||
lineTotalAmount:=Convert.ToDecimal(lineTotalAmont),
|
||
chargeTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Zuschläge der Dokumentenebene
|
||
allowanceTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Abschläge der Dokumenteneben
|
||
taxBasisAmount:=Convert.ToDecimal(taxBasisAmount),
|
||
taxTotalAmount:=Convert.ToDecimal(taxTotalAmount),
|
||
grandTotalAmount:=Convert.ToDecimal(grandTotalAmount),
|
||
totalPrepaidAmount:=0, 'Die Summe der im Voraus gezahlten Beträge
|
||
duePayableAmount:=Convert.ToDecimal(duePayableAmount),
|
||
roundingAmount:=0 'Der Betrag, der dem Rechnungsgesamtbetrag hinzuzufügen ist, um den zu zahlenden Betrag zu runden
|
||
)
|
||
|
||
|
||
desc.AddTradePaymentTerms(RECHNUNG.TextZZ, zahlungszieldatum)
|
||
|
||
'If RECHNUNG.TextZZ.ToString.Contains("Abbuchungsauftrag") Then
|
||
' desc.SetPaymentMeansSepaDirectDebit("", "")
|
||
'Else
|
||
desc.SetPaymentMeans(PaymentMeansTypeCodes.SEPACreditTransfer, RECHNUNG.TextZZ)
|
||
'End If
|
||
|
||
Dim isReverseCharge = isReverseChargeSumme(FIRMA, RECHNUNG)
|
||
If isReverseCharge Then
|
||
Select Case RECHNUNG.RechnungSprache
|
||
Case "EN" : desc.AddNote("The VAT liability is transferred to the recipient of the service (reverse charge system).", SubjectCodes.AAI)
|
||
Case Else : desc.AddNote("Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren).", SubjectCodes.AAI)
|
||
End Select
|
||
End If
|
||
|
||
|
||
If RECHNUNG.SteuerfreierGesamtbetrag > 0 Then
|
||
desc.AddApplicableTradeTax(Convert.ToDecimal(RECHNUNG.SteuerfreierGesamtbetrag), 0, 0, TaxTypes.VAT, TaxCategoryCodes.Z)
|
||
End If
|
||
|
||
If RECHNUNG.SteuerpflichtigerGesamtbetrag > 0 Then
|
||
desc.AddApplicableTradeTax(Convert.ToDecimal(taxBasisAmount - RECHNUNG.SteuerfreierGesamtbetrag), Convert.ToDecimal(steuerProzenFaktor), Convert.ToDecimal(taxTotalAmount), TaxTypes.VAT, IIf(isReverseCharge, TaxCategoryCodes.AE, TaxCategoryCodes.S))
|
||
End If
|
||
|
||
Select Case FIRMA.Firma_ID
|
||
Case 21, 22, 23 '"UNISPED"
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||
|
||
|
||
Case 26 'VERAG-UNISPED"
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||
|
||
Case 24 'AMBAR"
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||
'Änderung Ticket_Nr.: 6983
|
||
'desc.AddCreditorFinancialAccount("TR90 0006 2001 6040 0009 0804 66", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto")
|
||
desc.AddCreditorFinancialAccount("TR67 0006 2000 5440 0009 0513 57", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto")
|
||
|
||
Case 20 '"IMEX"
|
||
If RECHNUNG.RechnungsLandKz = "TR" Then
|
||
desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "",,, "Garanti Bank")
|
||
Else
|
||
If hasVK(RECHNUNG) Then
|
||
desc.AddCreditorFinancialAccount("AT35 4480 0365 7822 0002", "VBOEATWWOOE",,, "Volksbank Oberösterreich AG")
|
||
Else
|
||
If hasEUSTZOLL(RECHNUNG.RechnungsNr) Then
|
||
desc.AddCreditorFinancialAccount("AT62 4480 0365 7822 0001", "VBOEATWWOOE", )
|
||
Else
|
||
desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "VBOEATWWOOE", ,, "Volksbank Oberösterreich AG")
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
|
||
Case 19
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
|
||
Case Else 'VERAG,ATILLA
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||
|
||
End Select
|
||
|
||
|
||
Dim tmpPathZugpferd = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("ZUGFeRD_Invoice_" & RECHNUNG.RechnungsNr, ".xml", True, False)
|
||
Dim stream As FileStream = New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write)
|
||
desc.Save(stream, ZUGFeRDVersion.Version20, Profile.Comfort)
|
||
|
||
stream.Flush()
|
||
stream.Close()
|
||
Return tmpPathZugpferd
|
||
|
||
ElseIf Not einzelrechnung AndAlso SR_DT IsNot Nothing Then
|
||
|
||
'---------------------------------------------------------------------------------
|
||
'--------------------------------SAMMELRECHNUNG-----------------------------------
|
||
'---------------------------------------------------------------------------------
|
||
|
||
Dim ROW As DataRow = SR_DT.Rows(0)
|
||
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(ROW("Firma_ID"))
|
||
|
||
Dim RECHNUNG_AD As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
|
||
Dim RECHNUNG_KD As New VERAG_PROG_ALLGEMEIN.cKunde(ROW("RechnungsKundenNr"))
|
||
|
||
If RECHNUNG_KD.Zahlungsziel IsNot Nothing AndAlso IsNumeric(RECHNUNG_KD.Zahlungsziel) Then
|
||
ZZTage = RECHNUNG_KD.Zahlungsziel
|
||
End If
|
||
|
||
Dim Gesamt_RG_BetragSteuerfrei As Double = CDbl(SR_DT.Compute("SUM(SteuerFreierBetrag)", ""))
|
||
|
||
Dim Gesamt_RG_BetragSteuerpflichtig As Double = CDbl(SR_DT.Compute("SUM(SteuerpflichtigerBetrag)", ""))
|
||
|
||
Dim Gesamt_RG_Betrag As Double = Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig
|
||
|
||
Dim BelegartenKz = If(Gesamt_RG_Betrag < 0, "AG", "AR")
|
||
|
||
If ROW("RechnungsNr") Is DBNull.Value Then Return ""
|
||
|
||
Dim RechnungsNr = If(ROW("RechnungsNr") IsNot DBNull.Value, addYeartoRgNr(FIRMA.Firma_ID, ROW("Buchungsjahr")) & ROW("RechnungsNr"), "Vorschau")
|
||
Dim RechnungsDatum = If(ROW("RechnungsDatum") IsNot DBNull.Value, ROW("RechnungsDatum"), "Vorschau")
|
||
Dim zahlungszieldatum As Date = CDate(RechnungsDatum).AddDays(ZZTage)
|
||
Dim desc As InvoiceDescriptor = InvoiceDescriptor.CreateInvoice(RechnungsNr, RechnungsDatum, IIf(FIRMA.Firma_ID = 26, CurrencyCodes.GBP, CurrencyCodes.EUR))
|
||
|
||
Select Case BelegartenKz
|
||
Case "AR"
|
||
desc.Name = "SPEDITIONSRECHNUNG"
|
||
desc.Type = InvoiceType.ForwardersInvoice
|
||
Case "AG"
|
||
desc.Name = "GUTSCHRIFT"
|
||
desc.Type = InvoiceType.CreditNote
|
||
End Select
|
||
|
||
|
||
'Die „Berechnung BT-10“ bezieht sich auf das Feld BT-10 „Buyer reference“ (Käuferreferenz) in der elektronischen Rechnung, speziell im XRechnung-Standard. Dieses Feld dient zur Angabe der Leitweg-ID
|
||
'für öffentliche Auftraggeber oder anderer Referenzinformationen für interne Zuordnungsprozesse.
|
||
'Die Leitweg-ID ist in Deutschland eine Pflichtangabe für elektronische Rechnungen an die Bundesverwaltung und muss vom Rechnungssteller vom Auftraggeber erhalten werden.
|
||
|
||
Dim BestellungsRefNr As String = ""
|
||
If ROW("KdAuftragsNr") IsNot DBNull.Value AndAlso ROW("KdAuftragsNr") <> "" Then
|
||
desc.ReferenceOrderNo = ROW("KdAuftragsNr")
|
||
Else
|
||
desc.ReferenceOrderNo = "-"
|
||
End If
|
||
|
||
Dim Rechnugnsname2 As String = ""
|
||
If ROW("RechnungsName 2") IsNot DBNull.Value AndAlso ROW("RechnungsName 2") <> "" Then
|
||
Rechnugnsname2 = ROW("RechnungsName 2")
|
||
End If
|
||
|
||
Dim RechnungsName_AdressZusatz As String = ""
|
||
If ROW("RechnungsName_AdressZusatz") IsNot DBNull.Value AndAlso ROW("RechnungsName_AdressZusatz") <> "" Then
|
||
RechnungsName_AdressZusatz = ROW("RechnungsName_AdressZusatz")
|
||
End If
|
||
|
||
Dim RechnungsStraße As String = ""
|
||
If ROW("RechnungsStraße") IsNot DBNull.Value AndAlso ROW("RechnungsStraße") <> "" Then
|
||
RechnungsStraße = ROW("RechnungsStraße")
|
||
End If
|
||
|
||
Dim RechnungsOrt As String = ""
|
||
If ROW("RechnungsOrt") IsNot DBNull.Value AndAlso ROW("RechnungsOrt") <> "" Then
|
||
RechnungsOrt = ROW("RechnungsOrt")
|
||
End If
|
||
|
||
Dim RechnungsLandKz As String = ""
|
||
If ROW("RechnungsLandKz") IsNot DBNull.Value AndAlso ROW("RechnungsLandKz") <> "" Then
|
||
RechnungsLandKz = ROW("RechnungsLandKz") 'cProgramFunctions.getLandBez_fromISO1Land(ROW("RechnungsLandKz"), "", ROW("RechnungSprache")).ToString.ToUpper
|
||
End If
|
||
|
||
|
||
Dim RE_UID As String = If(ROW("RechnungsUstIdKz") IsNot DBNull.Value, ROW("RechnungsUstIdKz"), "") & If(ROW("RechnungsUstIdNr") IsNot DBNull.Value, ROW("RechnungsUstIdNr"), "")
|
||
|
||
|
||
'If RECHNUNG.Besonderheiten IsNot Nothing Then
|
||
' desc.AddNote(RECHNUNG.Besonderheiten.ToString, SubjectCodes.AAI)
|
||
'End If
|
||
If rpt IsNot Nothing Then
|
||
If rpt.txtVermerk.Text IsNot Nothing AndAlso rpt.txtVermerk.Text <> "" Then desc.AddNote(rpt.txtVermerk.Text.ToString, SubjectCodes.AAI)
|
||
If rpt.txtInfo.Text IsNot Nothing AndAlso rpt.txtInfo.Text <> "" Then desc.AddNote(rpt.txtInfo.Text.ToString, SubjectCodes.AAI)
|
||
ElseIf rptAnl IsNot Nothing Then
|
||
If rptAnl.txtInfo.Text IsNot Nothing AndAlso rptAnl.txtInfo.Text <> "" Then desc.AddNote(rptAnl.txtInfo.Text.ToString, SubjectCodes.AAI)
|
||
End If
|
||
|
||
desc.AddNote("Es bestehen Rabatt- und Bonusvereinbarungen.", SubjectCodes.AAK)
|
||
|
||
If ROW("AbfertigungsdatumVon") IsNot DBNull.Value Then
|
||
|
||
Dim dt As DateTime = CType(ROW("AbfertigungsdatumVon"), DateTime)
|
||
|
||
If IsDate(dt) Then desc.ActualDeliveryDate = (CDate(dt))
|
||
|
||
|
||
End If
|
||
|
||
Dim FirmaOrt = FIRMA.Firma_Ort
|
||
FirmaOrt = FirmaOrt.Replace(FIRMA.Firma_LandKz & "-" & FIRMA.Firma_PLZ & " ", "")
|
||
|
||
|
||
Dim KundePLZ As String = ""
|
||
Dim KundeOrt As String = ""
|
||
|
||
If RECHNUNG_AD IsNot Nothing Then
|
||
If RECHNUNG_AD.PLZ IsNot Nothing AndAlso RECHNUNG_AD.PLZ <> "" Then
|
||
KundePLZ = RECHNUNG_AD.PLZ
|
||
ElseIf RECHNUNG_AD.PLZPF IsNot Nothing AndAlso RECHNUNG_AD.PLZPF <> "" Then
|
||
KundePLZ = RECHNUNG_AD.PLZPF
|
||
End If
|
||
|
||
If RECHNUNG_AD.Ort IsNot Nothing AndAlso RECHNUNG_AD.Ort <> "" Then
|
||
KundeOrt = RECHNUNG_AD.Ort
|
||
ElseIf RECHNUNG_AD.Postfach IsNot Nothing AndAlso RECHNUNG_AD.Postfach <> "" Then
|
||
KundeOrt = RECHNUNG_AD.Postfach
|
||
End If
|
||
|
||
Else
|
||
'Rechnungsort ist kombination aus PLZ und Ort!
|
||
KundePLZ = RechnungsOrt
|
||
KundeOrt = RechnungsOrt
|
||
|
||
End If
|
||
|
||
desc.SetBuyer(ROW("RechnungsName 1") & " " & Rechnugnsname2, KundePLZ, KundeOrt, RechnungsStraße, GetCountryCodeFromLandKZ(RechnungsLandKz, vatBuyer), IIf(Not IsDBNull(ROW("RechnungsKundenNr")), ROW("RechnungsKundenNr"), ""))
|
||
|
||
desc.SetSeller(FIRMA.Firma_Bez, FIRMA.Firma_PLZ, FirmaOrt, FIRMA.Firma_Straße, GetCountryCodeFromLandKZ(FIRMA.Firma_LandKz, vatSeller))
|
||
|
||
If FIRMA.Firma_Steuernummer IsNot Nothing Then desc.AddSellerTaxRegistration(FIRMA.Firma_Steuernummer, TaxRegistrationSchemeID.FC)
|
||
desc.AddSellerTaxRegistration(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), TaxRegistrationSchemeID.VA)
|
||
|
||
' Optionally, to support Peppol-----------------------------
|
||
|
||
If RE_UID <> "" Then
|
||
desc.AddBuyerTaxRegistration(RE_UID, TaxRegistrationSchemeID.VA)
|
||
If vatBuyer Then
|
||
desc.SetBuyerElectronicAddress(RE_UID, vatBuyer)
|
||
desc.SetSellerElectronicAddress(FIRMA.Firma_UID.ToString.Replace("UID: ", ""), vatSeller)
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
Dim steuerProzent As Double = SQL.DLookup(" isnull([Steuersatz %],0)", "[Steuertabelle] ", "[Steuerschlüssel]='" & ROW("Steuerschlüssel") & "'", "FMZOLL", 0)
|
||
Dim steuerProzenFaktor As Double = 0
|
||
If steuerProzent > 0 AndAlso steuerProzent < 1 Then
|
||
steuerProzenFaktor = steuerProzent * 100
|
||
End If
|
||
|
||
Dim einzelpreis As Double = 0
|
||
Dim sumNetto As Double = 0
|
||
|
||
|
||
For Each pos As DataRow In SR_DT.Rows
|
||
|
||
Dim SteuerpflichtigerBetrag As Double = 0
|
||
Dim SteuerfreierBetrag As Double = 0
|
||
Dim anzahl As Double = 0
|
||
Dim bez As String = ""
|
||
|
||
einzelpreis = 0
|
||
|
||
If IsNumeric(checkNull(pos.Item("Anzahl"))) Then anzahl = CDbl(checkNull(pos.Item("Anzahl")))
|
||
|
||
einzelpreis = IIf(pos.Item("SteuerpflichtigerBetrag") > 0, pos.Item("SteuerpflichtigerBetrag") / anzahl, pos.Item("SteuerfreierBetrag") / anzahl)
|
||
|
||
If Double.IsNaN(einzelpreis) Then
|
||
einzelpreis = 0
|
||
End If
|
||
|
||
Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem(
|
||
name:=checkNull(pos.Item("LeistungsBez")),
|
||
billedQuantity:=IIf(anzahl <> 0, Convert.ToDecimal(anzahl), 0),
|
||
unitCode:=QuantityCodes.C62, ' immer in Stück
|
||
netUnitPrice:=Convert.ToDecimal(einzelpreis),
|
||
grossUnitPrice:=Convert.ToDecimal(einzelpreis),
|
||
categoryCode:=IIf(pos.Item("SteuerpflichtigerBetrag") > 0, TaxCategoryCodes.S, TaxCategoryCodes.Z),
|
||
taxPercent:=IIf(pos.Item("SteuerpflichtigerBetrag") > 0, Convert.ToDecimal(steuerProzent * 100), 0),
|
||
taxType:=IIf(pos.Item("SteuerpflichtigerBetrag") > 0, TaxTypes.VAT, TaxTypes.VAT)
|
||
)
|
||
Dim netUnitPrice = Convert.ToDecimal(einzelpreis)
|
||
Dim netPricePos = netUnitPrice * IIf(anzahl <> 0, Convert.ToDecimal(anzahl), 0)
|
||
sumNetto += netPricePos
|
||
|
||
|
||
|
||
'For Each search As GrapeCity.ActiveReports.SectionReportModel.ARControl In rpt.Detail.Controls
|
||
' If search.Name = "lblAnzahl" Then
|
||
' anzahl = IIf(DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text] <> "", DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text], 0)
|
||
' End If
|
||
|
||
' If search.Name = "lblSteuerpflichtig" Then
|
||
' SteuerpflichtigerBetrag = IIf(DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text] <> "", DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text], 0)
|
||
' End If
|
||
|
||
' If search.Name = "lblSteuerfrei" Then
|
||
' SteuerfreierBetrag = IIf(DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text] <> "", DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.Label).[Text], 0)
|
||
' End If
|
||
|
||
' If search.Name = "txtLeistung" Then
|
||
' bez = IIf(DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.TextBox).[Text] <> "", DirectCast(search, GrapeCity.ActiveReports.SectionReportModel.TextBox).[Text], 0)
|
||
' End If
|
||
|
||
'If bez <> "" Then
|
||
|
||
' einzelpreis = IIf(SteuerpflichtigerBetrag > 0, SteuerpflichtigerBetrag / checkNull(anzahl), SteuerfreierBetrag / checkNull(anzahl))
|
||
|
||
' Dim tradeLineItemNew As TradeLineItem = desc.AddTradeLineItem(
|
||
' name:=checkNull(bez),
|
||
' billedQuantity:=Convert.ToDecimal(checkNull(anzahl)),
|
||
' unitCode:=QuantityCodes.C62, ' immer in Stück
|
||
' netUnitPrice:=Convert.ToDecimal(einzelpreis),
|
||
' grossUnitPrice:=Convert.ToDecimal(einzelpreis),
|
||
' categoryCode:=IIf(SteuerpflichtigerBetrag > 0, TaxCategoryCodes.S, TaxCategoryCodes.Z),
|
||
' taxPercent:=IIf(SteuerpflichtigerBetrag > 0, Convert.ToDecimal(steuerProzent * 100), 0),
|
||
' taxType:=IIf(SteuerpflichtigerBetrag > 0, TaxTypes.VAT, TaxTypes.VAT)
|
||
' )
|
||
' Dim netUnitPrice = Convert.ToDecimal(einzelpreis)
|
||
' Dim netPricePos = netUnitPrice * Convert.ToDecimal(checkNull(anzahl))
|
||
' sumNetto += netPricePos
|
||
|
||
' bez = ""
|
||
|
||
' End If
|
||
|
||
'Next
|
||
|
||
Next
|
||
|
||
|
||
'Summe aller Rechnungspositions-Nettobeträge der Rechnung
|
||
Dim lineTotalAmont = sumNetto
|
||
'Der Gesamtbetrag der Umsatzsteuer für die Rechnung,
|
||
'IIf(Gesamt_RG_BetragSteuerpflichtig <> 0, Math.Round(Convert.ToDecimal(Gesamt_RG_BetragSteuerpflichtig) / (100 + steuerProzenFaktor) * steuerProzenFaktor, 2), 0)
|
||
Dim taxTotalAmount = IIf(Gesamt_RG_BetragSteuerpflichtig <> 0, Math.Round(Convert.ToDecimal(Gesamt_RG_BetragSteuerpflichtig) / (100) * steuerProzenFaktor, 2), 0)
|
||
' Die Gesamtsumme der Rechnung ohne Umsatzsteuer ' RECHNUNG.SteuerfreierGesamtbetrag + RECHNUNG.SteuerpflichtigerGesamtbetrag + 0 - 0
|
||
Dim taxBasisAmount = Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig + 0 - 0)
|
||
'Der Gesamtbetrag der Rechnung mit Umsatzsteuer
|
||
Dim grandTotalAmount = Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig + taxTotalAmount)
|
||
|
||
'Der ausstehende Betrag, um dessen Zahlung gebeten wird. Dieser Betrag ist der Rechnungsgesamtbetrag einschließlich Umsatzsteuer abzüglich des im Voraus gezahlten Betrages.Im Falle einer vollständig beglichenen Rechnung ist dieser Betrag gleich null. Der Betrag kann negativ sein; In diesem Fall schuldet der Verkäufer dem Käufer den Betrag
|
||
Dim duePayableAmount = Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei + Gesamt_RG_BetragSteuerpflichtig + taxTotalAmount)
|
||
|
||
|
||
desc.SetTotals(
|
||
lineTotalAmount:=Convert.ToDecimal(lineTotalAmont),
|
||
chargeTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Zuschläge der Dokumentenebene
|
||
allowanceTotalAmount:=0, 'Summe aller in der Rechnung enthaltenen Abschläge der Dokumenteneben
|
||
taxBasisAmount:=Convert.ToDecimal(taxBasisAmount),
|
||
taxTotalAmount:=Convert.ToDecimal(taxTotalAmount),
|
||
grandTotalAmount:=Convert.ToDecimal(grandTotalAmount),
|
||
totalPrepaidAmount:=0, 'Die Summe der im Voraus gezahlten Beträge
|
||
duePayableAmount:=Convert.ToDecimal(duePayableAmount),
|
||
roundingAmount:=0 'Der Betrag, der dem Rechnungsgesamtbetrag hinzuzufügen ist, um den zu zahlenden Betrag zu runden
|
||
)
|
||
If rpt IsNot Nothing Then
|
||
desc.AddTradePaymentTerms(rpt.Label2.Text, zahlungszieldatum)
|
||
desc.SetPaymentMeans(PaymentMeansTypeCodes.SEPACreditTransfer, rpt.Label2.Text)
|
||
ElseIf rptAnl IsNot Nothing Then
|
||
desc.AddTradePaymentTerms(rptAnl.Label2.Text, zahlungszieldatum)
|
||
desc.SetPaymentMeans(PaymentMeansTypeCodes.SEPACreditTransfer, rptAnl.Label2.Text)
|
||
End If
|
||
|
||
'If RECHNUNG.TextZZ.ToString.Contains("Abbuchungsauftrag") Then
|
||
' desc.SetPaymentMeansSepaDirectDebit("", ,"")
|
||
'Else
|
||
'desc.SetPaymentMeans(PaymentMeansTypeCodes.PaymentToBankAccount, rpt.Label2.Text)
|
||
'End If
|
||
|
||
|
||
|
||
Select Case FIRMA.Firma_ID
|
||
Case 21, 22, 23 '"UNISPED"
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||
|
||
|
||
Case 26 'VERAG-UNISPED"
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||
|
||
Case 24 'AMBAR"
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||
|
||
'Änderung Ticket_Nr.: 6983
|
||
'desc.AddCreditorFinancialAccount("TR90 0006 2001 6040 0009 0804 66", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto")
|
||
desc.AddCreditorFinancialAccount("TR67 0006 2000 5440 0009 0513 57", "TGBATRISXXX",,, "Garanti Bank Türkei – Euro Konto")
|
||
|
||
Case 20 '"IMEX"
|
||
If RechnungsLandKz = "TR" Then
|
||
desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "",,, "Garanti Bank")
|
||
Else
|
||
If hasVK(RechnungsNr, ROW("Buchungsjahr")) Then
|
||
desc.AddCreditorFinancialAccount("AT35 4480 0365 7822 0002", "VBOEATWWOOE",,, "Volksbank Oberösterreich AG")
|
||
Else
|
||
If hasEUSTZOLL(RechnungsNr) Then
|
||
desc.AddCreditorFinancialAccount("AT62 4480 0365 7822 0001", "VBOEATWWOOE", )
|
||
Else
|
||
desc.AddCreditorFinancialAccount("TR84 0006 2001 6040 0009 0987 13", "VBOEATWWOOE", ,, "Volksbank Oberösterreich AG")
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
Case 19
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
|
||
Case Else 'VERAG,ATILLA
|
||
If FIRMA.Firma_IBAN1 IsNot Nothing AndAlso FIRMA.Firma_BIC1 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung1 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN1 IsNot Nothing, FIRMA.Firma_IBAN1.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC1 IsNot Nothing, FIRMA.Firma_BIC1.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung1 IsNot Nothing, FIRMA.Firma_Bankverbindung1, ""))
|
||
If FIRMA.Firma_IBAN2 IsNot Nothing AndAlso FIRMA.Firma_BIC2 IsNot Nothing AndAlso FIRMA.Firma_Bankverbindung2 IsNot Nothing Then desc.AddCreditorFinancialAccount(IIf(FIRMA.Firma_IBAN2 IsNot Nothing, FIRMA.Firma_IBAN2.ToString.Replace("IBAN: ", ""), ""), IIf(FIRMA.Firma_BIC2 IsNot Nothing, FIRMA.Firma_BIC2.ToString.Replace("BIC: ", ""), ""),,, IIf(FIRMA.Firma_Bankverbindung2 IsNot Nothing, FIRMA.Firma_Bankverbindung2, ""))
|
||
|
||
End Select
|
||
|
||
Dim isReverseCharge = IIf(getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), "") > 0, True, False)
|
||
|
||
|
||
If Gesamt_RG_BetragSteuerfrei > 0 Then
|
||
desc.AddApplicableTradeTax(Convert.ToDecimal(Gesamt_RG_BetragSteuerfrei), 0, 0, TaxTypes.VAT, TaxCategoryCodes.Z)
|
||
End If
|
||
|
||
If Gesamt_RG_BetragSteuerpflichtig > 0 Then
|
||
desc.AddApplicableTradeTax(Convert.ToDecimal(taxBasisAmount - Gesamt_RG_BetragSteuerfrei), Convert.ToDecimal(steuerProzenFaktor), Convert.ToDecimal(taxTotalAmount), TaxTypes.VAT, IIf(isReverseCharge, TaxCategoryCodes.AE, TaxCategoryCodes.S))
|
||
End If
|
||
|
||
Dim tmpPathZugpferd = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("ZUGFeRD_Invoice_" & RechnungsNr, ".xml", True, False)
|
||
Dim stream As FileStream = New FileStream(tmpPathZugpferd, FileMode.Create, FileAccess.Write)
|
||
desc.Save(stream, ZUGFeRDVersion.Version20, Profile.Comfort)
|
||
|
||
stream.Flush()
|
||
stream.Close()
|
||
Return tmpPathZugpferd
|
||
|
||
End If
|
||
|
||
|
||
|
||
|
||
End Function
|
||
|
||
Public Shared Function GetCountryCodeFromLandKZ(LandKZ As String, easi As ElectronicAddressSchemeIdentifiers) As CountryCodes
|
||
|
||
If LandKZ = "" Then Return Nothing
|
||
|
||
Dim landKZISO2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2Land(LandKZ)
|
||
Dim cc As CountryCodes
|
||
|
||
|
||
Select Case landKZISO2
|
||
Case "AT" : cc = CountryCodes.AT : easi = ElectronicAddressSchemeIdentifiers.AustriaVatNumber
|
||
Case "BE" : cc = CountryCodes.BE : easi = ElectronicAddressSchemeIdentifiers.BelgiumVatNumber
|
||
Case "DE" : cc = CountryCodes.DE : easi = ElectronicAddressSchemeIdentifiers.GermanyVatNumber
|
||
Case "TR" : cc = CountryCodes.TR : easi = ElectronicAddressSchemeIdentifiers.TurkeyVatNumber
|
||
Case "GB" : cc = CountryCodes.GB : easi = ElectronicAddressSchemeIdentifiers.UnitedKingdomVatNumber
|
||
Case "AL" : cc = CountryCodes.AL : easi = ElectronicAddressSchemeIdentifiers.AlbaniaVatNumber
|
||
Case "AZ" : cc = CountryCodes.AZ
|
||
Case "BG" : cc = CountryCodes.BG : easi = ElectronicAddressSchemeIdentifiers.BulgariaVatNumber
|
||
Case "BA" : cc = CountryCodes.BA : easi = ElectronicAddressSchemeIdentifiers.BosniaAndHerzegovinaVatNumber
|
||
Case "CH" : cc = CountryCodes.CH : easi = ElectronicAddressSchemeIdentifiers.SwitzerlandVatNumber
|
||
Case "CO" : cc = CountryCodes.CO
|
||
Case "CY" : cc = CountryCodes.CY : easi = ElectronicAddressSchemeIdentifiers.CyprusVatNumber
|
||
Case "CZ" : cc = CountryCodes.CZ : easi = ElectronicAddressSchemeIdentifiers.CzechRepublicVatNumber
|
||
Case "DK" : cc = CountryCodes.DK
|
||
Case "DZ" : cc = CountryCodes.DZ
|
||
Case "ES" : cc = CountryCodes.ES : easi = ElectronicAddressSchemeIdentifiers.AgenciaEspaOlaDeAdministraciNTributaria
|
||
Case "FR" : cc = CountryCodes.FR : easi = ElectronicAddressSchemeIdentifiers.FrenchVatNumber
|
||
Case "FN" : cc = CountryCodes.FI
|
||
Case "HR" : cc = CountryCodes.HR : easi = ElectronicAddressSchemeIdentifiers.CroatiaVatNumber
|
||
Case "GE" : cc = CountryCodes.GE
|
||
Case "HK" : cc = CountryCodes.HK
|
||
Case "IN" : cc = CountryCodes.IN
|
||
Case "IR" : cc = CountryCodes.IR : easi = ElectronicAddressSchemeIdentifiers.UnitedKingdomVatNumber
|
||
Case "IQ" : cc = CountryCodes.IQ
|
||
Case "LT" : cc = CountryCodes.LT : easi = ElectronicAddressSchemeIdentifiers.LithuaniaVatNumber
|
||
Case "LV" : cc = CountryCodes.LV : easi = ElectronicAddressSchemeIdentifiers.LatviaVatNumber
|
||
Case "US" : cc = CountryCodes.US
|
||
Case "MK" : cc = CountryCodes.MK : easi = ElectronicAddressSchemeIdentifiers.MacedoniaVatNumber
|
||
Case "PL" : cc = CountryCodes.PL : easi = ElectronicAddressSchemeIdentifiers.PolandVatNumber
|
||
Case "RS" : cc = CountryCodes.RS : easi = ElectronicAddressSchemeIdentifiers.SerbiaVatNumber
|
||
Case "AE" : cc = CountryCodes.AE
|
||
Case "SI" : cc = CountryCodes.SI : easi = ElectronicAddressSchemeIdentifiers.SloveniaVatNumber
|
||
Case "SK" : cc = CountryCodes.SK : easi = ElectronicAddressSchemeIdentifiers.SlovakiaVatNumber
|
||
|
||
Case Else
|
||
cc = Nothing
|
||
End Select
|
||
|
||
|
||
Return cc
|
||
|
||
End Function
|
||
|
||
Shared Sub printSpedBuchAnhaenge(RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional printStb As Boolean = False, Optional printVbD As Boolean = False)
|
||
Try
|
||
Dim SPEDBCUH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(RG.FilialenNr, RG.AbfertigungsNr, RG.SpeditionsbuchUnterNr)
|
||
If SPEDBCUH.hasEntry Then
|
||
If printStb Then
|
||
If SPEDBCUH.DokumentId_Steuerbeleg IsNot Nothing Then
|
||
VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBCUH.DokumentId_Steuerbeleg)})
|
||
End If
|
||
End If
|
||
If printVbD Then
|
||
If SPEDBCUH.DokumentId_VBD IsNot Nothing Then
|
||
VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBCUH.DokumentId_VBD)})
|
||
End If
|
||
End If
|
||
End If
|
||
Catch ex As Exception
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
|
||
End Sub
|
||
|
||
Shared Sub printRGAnhaenge(RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang)
|
||
Try
|
||
If RG.ANHAENGE IsNot Nothing AndAlso RG.ANHAENGE.Count > 0 Then
|
||
For Each ANH In RG.ANHAENGE
|
||
If ANH.dsId > 0 Then VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaSpirePDF({VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId)})
|
||
Next
|
||
End If
|
||
Catch ex As Exception
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
End Sub
|
||
|
||
Shared Sub openRgAnhaenge(RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang)
|
||
Try
|
||
Dim list As New List(Of String)
|
||
If RG.ANHAENGE IsNot Nothing AndAlso RG.ANHAENGE.Count > 0 Then
|
||
For Each ANH In RG.ANHAENGE
|
||
|
||
Dim path As String = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId)
|
||
|
||
If RG IsNot Nothing AndAlso RG.Firma_ID = 19 Then
|
||
|
||
If path.Contains("POS_LISTE") Or path.Contains("POS-LISTE") Then
|
||
|
||
Dim PATH_Org = path
|
||
|
||
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(PATH_Org)
|
||
Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
||
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
||
For page As Integer = 1 To pdfReader.NumberOfPages
|
||
If page = 1 Then
|
||
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(RG.RechnungsNr, 7, 23.5, 100, 20, "bold", 12, , itextsharp.text.Element.ALIGN_LEFT, page))
|
||
Else
|
||
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(RG.RechnungsNr, 7, 0.5, 100, 20, "bold", 10, , itextsharp.text.Element.ALIGN_LEFT, page))
|
||
End If
|
||
|
||
Next
|
||
|
||
pdfReader.Close()
|
||
|
||
path = fm.fillPDFVorhandenesLokalesPDF_Path(PATH_Org, listTowrite, , ,, False)
|
||
|
||
End If
|
||
End If
|
||
|
||
If ANH.dsId > 0 Then list.Add(path)
|
||
|
||
Next
|
||
End If
|
||
Dim pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("RG_Anhänge_" & Now.ToString("ddMMyyyyHHmmss") & ".pdf", ".pdf", False, False)
|
||
|
||
If FormularManagerNEU.MergePdfFiles(list, pathPDF) Then
|
||
Process.Start(pathPDF)
|
||
End If
|
||
Catch ex As Exception
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
End Sub
|
||
|
||
|
||
|
||
Shared Function getSpedBuchAnhaenge_Path(FilialenNr As Integer, AbfertigungsNr As Integer, SpeditionsbuchUnterNr As Integer) As String
|
||
Try
|
||
Dim SPEDBCUH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(FilialenNr, AbfertigungsNr, SpeditionsbuchUnterNr)
|
||
If SPEDBCUH.hasEntry Then
|
||
If SPEDBCUH.DokumentId_Steuerbeleg IsNot Nothing Then
|
||
Return VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBCUH.DokumentId_Steuerbeleg)
|
||
End If
|
||
If SPEDBCUH.DokumentId_VBD IsNot Nothing Then
|
||
Return VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(SPEDBCUH.DokumentId_VBD)
|
||
End If
|
||
End If
|
||
Catch ex As Exception
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
Return ""
|
||
End Function
|
||
|
||
|
||
Shared Function getFirmaNr(Optional firma = -1) As String
|
||
If firma < 0 Then 'Falls keine Firma
|
||
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||
Case "VERAG" : firma = 1
|
||
Case "IMEX" : firma = 20
|
||
Case "ATILLA" : firma = 7
|
||
Case "UNISPED" : firma = 21
|
||
Case "AMBAR" : firma = 24
|
||
Case "FRONTOFFICE" : firma = 17
|
||
Case Else : firma = 1
|
||
End Select
|
||
End If
|
||
Return firma
|
||
End Function
|
||
Shared Function getSignature(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As String
|
||
Return getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID)
|
||
End Function
|
||
|
||
Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "", Optional departmentmailadress = True, Optional fakturierung = False, Optional firmenSignature = False) As String
|
||
getSignature = ""
|
||
|
||
firma = getFirmaNr(firma)
|
||
|
||
Dim imgsrc = System.IO.Path.GetFullPath(Application.StartupPath & "\Resources\").Replace("\", "/")
|
||
|
||
Dim emailindividuell As String = ""
|
||
|
||
If Not firmenSignature Then emailindividuell = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email
|
||
|
||
If additionalLine <> "" Then additionalLine = "<div style=""font-size:12px"">" & additionalLine & "</div>"
|
||
|
||
Select Case special
|
||
Case "BREXIT_VERAG"
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "VERAG_AEO_MailSig.jpg""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>VERAG Spedition AG</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 100 <br><b>T</b> +43 7711 2777-885 | <b>F</b> +43 7711 31 073 | <b>@</b> " & If(individuell, emailindividuell, "brexit@verag.ag") & " | www.verag.ag | FN 216714y</div>"
|
||
|
||
Case Else
|
||
Select Case firma
|
||
Case 1 'VERAG
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "VERAG_AEO_MailSig.jpg""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>VERAG Spedition AG</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 100 <br><b>T</b> +43 7711 2777-0 | <b>F</b> +43 7711 31 073 | <b>@</b> " & If(individuell, emailindividuell, "rechnungsversand@verag.ag") & " | www.verag.ag | FN 216714y</div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 4 'VERAG AG (DE)
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "Verag-AG-Logo21.png""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>VERAG Spedition AG</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 100 <br><b>T</b> +43 7711 2777-947 | <b>F</b> +43 7711 31 073 | <b>@</b> " & If(individuell, emailindividuell, "s.kriegner@verag.ag") & " | www.verag.ag | FN 216714y</div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 7 'ATILLA
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "Atilla.jpg""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>ATILLA Spedition GmbH</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 15 <br><b>T</b> +43 7711 2845-0 | <b>@</b> " & If(individuell, emailindividuell, "rechnungsversand@verag.ag") & " | www.verag.ag | FN 288916b</div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 11 'VERAG CS
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "Verag_Customs_Service_AEO.jpg""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>VERAG Customs Service</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 14 <br><b>T</b> +43 7711 2777-0 | <b>F</b> +43 7711 31 073 | <b>@</b> " & If(individuell, emailindividuell, "versand@verag.com") & " | www.verag.ag | FN 406316z</div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 20 'Imex
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "IMEX-LOGO-AEO_sig.jpg""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>Imex Customs Service GmbH</b><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>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 24 'AMBAR
|
||
Dim defaultMail = getDefaultMail("AMBAR", departmentmailadress, fakturierung)
|
||
getSignature &= "<img width=""250"" height=""70"" src=""" & imgsrc & "ambar_boarder.png""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>AMBAR | IMPORT ZOLL</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">D 83435 Bad Reichenhall, Reichenhallerstrasse 62<br><b>T</b> +49 8651 9962492 | <b>F</b> +49 8651 9962493 | <b>@</b> " & If(individuell, emailindividuell, defaultMail) & " | www.ambarlog.com | DE309105428</div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 21 'UNISPED
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "Unisped_logo.jpg""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>Unisped Speditions GmbH</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 15 <br><b>T</b> +43 7711 2677-0 | <b>F</b> +43 7711 2677-27 | <b>@</b> " & If(individuell, emailindividuell, "office@unisped.at") & " | www.unisped.at | FN 375838d</div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 19 'VERAG360
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "VERAG_360.jpg""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>VERAG 360 GmbH</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 100 <br><b>T</b> +43 7711 2777-0 | <b>F</b> +43 7711 31 073 | <b>@</b> " & If(individuell, If(firmenSignature, "mmdabrechnung@verag.ag", emailindividuell), "mmd@verag.ag") & " | www.verag.ag | FN 544732b</div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 26 'VERAG-UNISPED
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "VERAG-UNISPED-Logo.jpg""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>VERAG-UNISPED LTD</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">Kent CT16 1BY Dover, 1 Cannon Street<br><b>T</b> +44 1304 272475 | <b>@</b> invoice@verag-unisped.uk | www.verag-unisped.uk | Company-No. 13107151 | VAT GB389356931</div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 99 'GmbH
|
||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "Verag-Spedition-GMBH-Logo1.png""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>VERAG Spedition GmbH</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">D 94152 Neuhaus/Inn, Hartham 6 <br><b>T</b> +43 7711 2777-0 | <b>F</b> +43 7711 31 073 | <b>@</b> " & If(individuell, emailindividuell, "rechnungsversand@verag.ag") & " | www.verag.ag </div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
Case 17 'Front-Office
|
||
getSignature &= "<img width=""170"" height=""50"" src=""" & imgsrc & "Logo_blue_globe_Horizontal.jpg""/>"
|
||
If displayFirmenmane Then getSignature &= "<br><b>Front Office Suben eG</b><br>"
|
||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 14<br><b>T</b> +43 7711 31636 -0 | <b>@</b> " & If(individuell, emailindividuell, "suben@front-office.eu") & " | www.front-office.eu </div>"
|
||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||
End Select
|
||
End Select
|
||
getSignature &= "<br>"
|
||
|
||
'BREXIT
|
||
If True Then
|
||
Select Case firma
|
||
Case 21, 22, 23 'UNISPED
|
||
Exit Select ' nicht mehr!
|
||
getSignature &= "<br>"
|
||
getSignature &= "<div style=""font-size:14px"">"
|
||
getSignature &= "Sind Sie bereits auf den BREXIT vorbereitet?<br/>"
|
||
getSignature &= "Weiter Infos finden Sie unter: <a href=""http://www.brexit.at"">http://www.brexit.at<br/>"
|
||
getSignature &= "<img width=""250"" height=""80"" src=""" & imgsrc & "bexit.png""/></a><br/>"
|
||
getSignature &= "<b>BREXIT Hotline:</b> +43 7711 2677 - 27| <b>@</b> <a href=""mailto:brexit@unisped.at"">brexit@unisped.at</a> <br/>"
|
||
getSignature &= "</div>"
|
||
getSignature &= "<br>"
|
||
getSignature &= "<br>"
|
||
Case Else
|
||
Exit Select ' nicht mehr!
|
||
getSignature &= "<br>"
|
||
getSignature &= "<div style=""font-size:14px"">"
|
||
getSignature &= "Sind Sie bereits auf den BREXIT vorbereitet?<br/>"
|
||
getSignature &= "Weiter Infos finden Sie unter: <a href=""http://www.brexit.at"">http://www.brexit.at<br/>"
|
||
getSignature &= "<img width=""250"" height=""80"" src=""" & imgsrc & "brexit.png""/></a><br/>"
|
||
getSignature &= "<b>BREXIT Hotline:</b> +43 7711 2777 - 885 | <b>@</b> <a href=""mailto:brexit@verag.ag"">brexit@verag.ag</a> <br/>"
|
||
getSignature &= "</div>"
|
||
getSignature &= "<br>"
|
||
getSignature &= "<br>"
|
||
End Select
|
||
End If
|
||
|
||
Select Case firma
|
||
Case 24 'AMBAR
|
||
|
||
Select Case landKz
|
||
Case "D", "A", "DE", "AT", "CH"
|
||
getSignature &= "<span style=""font-size:9px"">Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen Spediteurbedingungen 2017 – ADSp 2017 –.</span>"
|
||
|
||
Case Else
|
||
getSignature &= "<span style=""font-size:9px"">Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen Spediteurbedingungen 2017 – ADSp 2017 –.</span>"
|
||
|
||
End Select
|
||
|
||
Case Else
|
||
Select Case landKz
|
||
Case "D", "A", "DE", "AT", "CH"
|
||
getSignature &= "<span style=""font-size:9px"">Wir arbeiten ausschließlich auf Grund der Allgemeinen Österreichischen Spediteurbedingungen in der jeweils geltenden Fassung. Zahlungen werden zunächst auf Frachten,<br>
|
||
Spesen und Zinsen zuletzt auf Zölle angerechnet. Zahlbar und klagbar in Schärding. Steuer-Zoll - und Tarifauskünfte sind unverbindlich.</span>"
|
||
Case "E", "GB"
|
||
getSignature &= "<span style=""font-size:9px"">We operate exclusively on the basis of the General Freight Forwarding Terms and Conditions in the respectively applicable version. Payments are initially<br>
|
||
charged on freight, fees and interests and at last on customs duties. The place of jurisdiction is Schärding or Ried. Tax, customs and tariff information are not binding.</span>"
|
||
Case Else
|
||
getSignature &= "<span style=""font-size:9px"">Wir arbeiten ausschließlich auf Grund der Allgemeinen Spediteurbedingungen in der jeweils geltenden Fassung. Zahlungen werden zunächst auf Frachten,<br>
|
||
Spesen und Zinsen zuletzt auf Zölle angerechnet. Zahlbar und klagbar in Schärding. Steuer-Zoll - und Tarifauskünfte sind unverbindlich.</span>"
|
||
getSignature &= "<br>"
|
||
getSignature &= "<span style=""font-size:9px"">We operate exclusively on the basis of the General Freight Forwarding Terms and Conditions in the respectively applicable version. Payments are initially<br>
|
||
charged on freight, fees and interests and at last on customs duties. The place of jurisdiction is Schärding or Ried. Tax, customs and tariff information are not binding.</span>"
|
||
|
||
End Select
|
||
End Select
|
||
|
||
End Function
|
||
|
||
Shared Function getDefaultMail(firma, Optional useDepartmentmailadress = True, Optional fakturierung = False) As String
|
||
Dim defaultMail = ""
|
||
Select Case firma
|
||
Case "AMBAR"
|
||
defaultMail = "import@ambarlog.de"
|
||
If useDepartmentmailadress Then
|
||
If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "BH" Then defaultMail = "buchhaltung@ambarlog.de"
|
||
If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "EXPORT" Then defaultMail = "office@ambarlog.de"
|
||
End If
|
||
If fakturierung Then defaultMail = "buchhaltung@ambarlog.de"
|
||
|
||
End Select
|
||
Return defaultMail
|
||
End Function
|
||
|
||
Shared Function Abrechnugsdaten_AKTUALISIEREN(ByRef RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional RechnungsDatum As Object = Nothing) As Boolean
|
||
RECHNUNG.[DruckDatumZeit] = Now
|
||
|
||
If RECHNUNG.checkAlreadyPrinted Then
|
||
'Rechnung wurde bereits gedruck - evtl. bei überschneidenden Rechnungslauf --> Druck abbrechen!
|
||
MsgBox("Die Rechnung '" & RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr & "' an '" & RECHNUNG.RechnungsName_1 & "' wurde bereits gedruckt!")
|
||
Return False
|
||
End If
|
||
|
||
|
||
If RECHNUNG.Sammelrechnung = 0 Then
|
||
' Rechnungsdaten im RK eintragen.
|
||
RECHNUNG.[Status] = 1
|
||
|
||
|
||
If RECHNUNG.RechnungsNr Is Nothing OrElse RECHNUNG.RechnungsNr <= 0 Then 'Falls Druck neu durchgeführt.. --> nicht nochaml RgNr vergeben!
|
||
If RechnungsDatum IsNot Nothing AndAlso IsDate(RechnungsDatum) AndAlso CDate(RechnungsDatum) > CDate("01.01.2001") Then
|
||
RECHNUNG.[RechnungsDatum] = RechnungsDatum.ToShortDateString
|
||
Else
|
||
'RECHNUNG.[RechnungsDatum] = Now.ToShortDateString
|
||
If Not getRgDatInput("", RECHNUNG.[RechnungsDatum]) Then 'Now.ToShortDateString
|
||
RECHNUNG.[RechnungsDatum] = Now
|
||
End If
|
||
RechnungsDatum = RECHNUNG.[RechnungsDatum]
|
||
' RECHNUNG.Buchungsjahr = If(Now.Month = 1, Now.Year - 1, Now.Year)
|
||
End If
|
||
|
||
RECHNUNG.Buchungsjahr = cRKSV.getGJ(RechnungsDatum, RECHNUNG.Firma_ID) ' If(CDate(RECHNUNG.[RechnungsDatum]).Month = 1, CDate(RECHNUNG.[RechnungsDatum]).Year - 1, CDate(RECHNUNG.[RechnungsDatum]).Year)
|
||
|
||
If RECHNUNG.Buchungsjahr < 2000 Then
|
||
MsgBox("Buchungsjahr im falschen Format!")
|
||
Return False
|
||
End If
|
||
|
||
RECHNUNG.[RechnungsNr] = getNewRgNr(RECHNUNG.Firma_ID, RECHNUNG.Buchungsjahr)
|
||
|
||
'Dim RG_NR As New VERAG_PROG_ALLGEMEIN.cRechnungsnummern(RECHNUNG.Firma_ID, RECHNUNG.Buchungsjahr)
|
||
'' Nächste Rechnungsnummer speichern.
|
||
'RG_NR.INCREASE_RGNR() ' SOFORT Speichern, Sonst gibt es wieder eine Doppelvergabe!
|
||
'' Prüfung, ob RgNr schon vergeben wurde --> dann +1, bis freie Nr. (sollte EÜGENTLICH nicht vorkommen)
|
||
'RG_NR.CHECK_RGNR()
|
||
'RECHNUNG.[RechnungsNr] = RG_NR.LfdRechnungsNr
|
||
|
||
'RECHNUNG.[LfdRechnungsNr] = RG_NR.LfdRechnungsNr
|
||
If RECHNUNG.SAVE Then
|
||
Else
|
||
VERAG_PROG_ALLGEMEIN.cRechnungsnummern.DECREASE_RGNR_NEW(RECHNUNG.Firma_ID, RECHNUNG.Buchungsjahr) ' Bei Fehler --> LfdRgNr um eins mindern.
|
||
Return False
|
||
End If
|
||
|
||
'Rechnungsnummer UPDATEN
|
||
'.....................
|
||
End If
|
||
Else
|
||
' Anlage zur Sammelrechnung
|
||
|
||
RECHNUNG.[Status] = 2
|
||
|
||
End If
|
||
|
||
' Diese Rechnung wurde zum Drucken ausgewählt,
|
||
' deshalb kann der Status der Zollkontrolle auf 'F' gesetzt werden.
|
||
For Each p In RECHNUNG.POSITIONEN
|
||
If p.IndexZkteing > 0 Then 'p.IndexZkteing IsNot Nothing AndAlso
|
||
' Dim ZK As New VERAG_PROG_ALLGEMEIN.cAbgaben(RECHNUNG.POSITIONEN(0).IndexZkteing)
|
||
' If ZK.Status = "X" Then ZK.Status = "F" : ZK.SAVE()
|
||
VERAG_PROG_ALLGEMEIN.cZkteing.UPDATE_Status("F", RECHNUNG.POSITIONEN(0).IndexZkteing)
|
||
End If
|
||
|
||
Next
|
||
|
||
Return RECHNUNG.SAVE(True)
|
||
|
||
End Function
|
||
|
||
|
||
Shared Function checkNull(o As Object, Optional ret As String = "") As Object
|
||
If o Is Nothing Then Return ret
|
||
If o Is DBNull.Value Then Return ret
|
||
Return o
|
||
|
||
End Function
|
||
|
||
Public Shared Function isSTARK(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
||
Select Case RECHNUNG.RechnungsKundenNr
|
||
Case 714875, 751634
|
||
Return True
|
||
Case Else
|
||
Return False
|
||
End Select
|
||
End Function
|
||
Public Shared Function isReverseChargeSumme(FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
||
'Wenn selbes Land --> Kein Reversecharge
|
||
If RECHNUNG.RechnungsLandKz = FIRMA.Firma_LandKz Then
|
||
Return False
|
||
|
||
End If
|
||
|
||
If Not cProgramFunctions.isEULand(RECHNUNG.RechnungsLandKz) Then
|
||
Return False
|
||
End If
|
||
|
||
If FIRMA IsNot Nothing Then 'Nur EU_länder
|
||
If Not cProgramFunctions.isEULand(FIRMA.Firma_LandKz) Then
|
||
Return False
|
||
End If
|
||
End If
|
||
|
||
Dim sqlstr = " SELECT SUM(POS.SteuerfreierBetrag) AS ReverseChargeSumme "
|
||
sqlstr &= " FROM Rechnungsausgang as RA INNER JOIN RechnungsausgangPositionen as POS ON RA.RK_ID = POS.RK_ID INNER JOIN Leistungen ON POS.LeistungsNr = Leistungen.LeistungsNr INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] AS LD ON RA.RechnungsUstIdKz = LD.LandKz"
|
||
sqlstr &= " WHERE RA.rk_id='" & RECHNUNG.RK_ID & "' AND LD.ReverseCharge = 1 AND Leistungen.ReverseCharge = 1"
|
||
|
||
'If Not CBool(SQL.DLookup("isnull([MitgliedslandEU],0)", "Währungstabelle", "LandKz='" & If(RECHNUNG.RechnungsLandKz, "") & "'", "FMZOLL", 0)) Then
|
||
' Return False
|
||
'End If
|
||
Return If(SQL.getValueTxtBySql(sqlstr, "FMZOLL",,, 0) = 0, False, True)
|
||
End Function
|
||
|
||
|
||
Shared Function getReverseChargeSumme(FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RechnungsLandKz As String, RechnungsNr As Object, RechnungsDatum As Object, Optional VorschauID As String = "") As Double
|
||
'Wenn selbes Land --> Kein Reversecharge
|
||
' MsgBox(RechnungsLandKz & " - " & FIRMA.Firma_LandKz)
|
||
If RechnungsLandKz = FIRMA.Firma_LandKz Then
|
||
Return False
|
||
End If
|
||
|
||
If Not cProgramFunctions.isEULand(RechnungsLandKz) Then
|
||
Return 0
|
||
End If
|
||
If FIRMA IsNot Nothing Then 'Nur EU_länder
|
||
If Not cProgramFunctions.isEULand(FIRMA.Firma_LandKz) Then
|
||
Return 0
|
||
End If
|
||
End If
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim SqlStr = "SELECT SUM(dbo.RechnungsausgangPositionen.SteuerfreierBetrag) AS ReverseChargeSumme
|
||
FROM dbo.Rechnungsausgang INNER JOIN
|
||
dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID INNER JOIN
|
||
dbo.Leistungen ON dbo.RechnungsausgangPositionen.LeistungsNr = dbo.Leistungen.LeistungsNr INNER JOIN
|
||
dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.Rechnungsausgang.RechnungsUstIdKz = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz
|
||
WHERE 1=1 "
|
||
|
||
If VorschauID = "" Then
|
||
SqlStr &= " AND (dbo.Rechnungsausgang.RechnungsNr = '" & RechnungsNr & "') AND (dbo.Rechnungsausgang.RechnungsDatum = '" & CDate(RechnungsDatum).ToShortDateString & "') "
|
||
Else
|
||
SqlStr &= " AND (dbo.Rechnungsausgang.VorschauID = '" & VorschauID & "') "
|
||
End If
|
||
|
||
SqlStr &= " AND (dbo.[Länderverzeichnis für die Außenhandelsstatistik].ReverseCharge = 1) AND (dbo.Leistungen.ReverseCharge = 1)"
|
||
|
||
Dim sum = SQL.getValueTxtBySql(SqlStr, "FMZOLL")
|
||
If sum Is DBNull.Value Or sum = "" Then Return 0
|
||
Return sum
|
||
End Function
|
||
|
||
Shared Function getReverseChargeSummeRKID(FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Double
|
||
'Wenn selbes Land --> Kein Reversecharge
|
||
' MsgBox(RechnungsLandKz & " - " & FIRMA.Firma_LandKz)
|
||
If RECHNUNG.RechnungsLandKz = FIRMA.Firma_LandKz Then
|
||
Return False
|
||
End If
|
||
|
||
If Not cProgramFunctions.isEULand(RECHNUNG.RechnungsLandKz) Then
|
||
Return 0
|
||
End If
|
||
If FIRMA IsNot Nothing Then 'Nur EU_länder
|
||
If Not cProgramFunctions.isEULand(FIRMA.Firma_LandKz) Then
|
||
Return 0
|
||
End If
|
||
End If
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim SqlStr = "SELECT SUM(dbo.RechnungsausgangPositionen.SteuerfreierBetrag) AS ReverseChargeSumme
|
||
FROM dbo.Rechnungsausgang INNER JOIN
|
||
dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID INNER JOIN
|
||
dbo.Leistungen ON dbo.RechnungsausgangPositionen.LeistungsNr = dbo.Leistungen.LeistungsNr INNER JOIN
|
||
dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.Rechnungsausgang.RechnungsUstIdKz = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz
|
||
WHERE 1=1 "
|
||
|
||
|
||
SqlStr &= " AND (dbo.Rechnungsausgang.RK_ID = '" & RECHNUNG.RK_ID & "') "
|
||
|
||
SqlStr &= " AND (dbo.[Länderverzeichnis für die Außenhandelsstatistik].ReverseCharge = 1) AND (dbo.Leistungen.ReverseCharge = 1)"
|
||
|
||
Dim sum = SQL.getValueTxtBySql(SqlStr, "FMZOLL")
|
||
If sum Is DBNull.Value Or sum = "" Then Return 0
|
||
Return sum
|
||
End Function
|
||
|
||
Shared Function getSteuerfreiEUSTZOLL(FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Double
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim SqlStr = "SELECT SUM(dbo.RechnungsausgangPositionen.SteuerfreierBetrag) AS ReverseChargeSumme
|
||
FROM dbo.Rechnungsausgang INNER JOIN
|
||
dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID INNER JOIN
|
||
dbo.Leistungen ON dbo.RechnungsausgangPositionen.LeistungsNr = dbo.Leistungen.LeistungsNr
|
||
WHERE 1=1 "
|
||
|
||
SqlStr &= " AND (dbo.Rechnungsausgang.RK_ID = '" & RECHNUNG.RK_ID & "') "
|
||
|
||
|
||
SqlStr &= " AND Leistungen.Steuerpflichtig=0 "
|
||
|
||
Dim sum = SQL.getValueTxtBySql(SqlStr, "FMZOLL")
|
||
If sum Is DBNull.Value Or sum = "" Then Return 0
|
||
Return sum
|
||
End Function
|
||
|
||
Shared Function getSTARK_EUST(FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Double
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim SqlStr = "SELECT SUM(dbo.RechnungsausgangPositionen.SteuerfreierBetrag) AS ohneEUST
|
||
FROM dbo.Rechnungsausgang INNER JOIN
|
||
dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID
|
||
WHERE 1=1 "
|
||
|
||
SqlStr &= " AND (dbo.Rechnungsausgang.RK_ID = '" & RECHNUNG.RK_ID & "') "
|
||
|
||
SqlStr &= " AND LeistungsNr IN (20,77) "
|
||
|
||
Dim sum = SQL.getValueTxtBySql(SqlStr, "FMZOLL")
|
||
If sum Is DBNull.Value Or sum = "" Then Return 0
|
||
Return sum
|
||
End Function
|
||
|
||
Shared Function getSTARK_ohneEUST(FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang) As Double
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim SqlStr = "SELECT SUM(dbo.RechnungsausgangPositionen.SteuerfreierBetrag) AS ohneEUST
|
||
FROM dbo.Rechnungsausgang INNER JOIN
|
||
dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID
|
||
WHERE 1=1 "
|
||
|
||
SqlStr &= " AND (dbo.Rechnungsausgang.RK_ID = '" & RECHNUNG.RK_ID & "') "
|
||
|
||
SqlStr &= " AND LeistungsNr NOT IN (20,77) "
|
||
|
||
Dim sum = SQL.getValueTxtBySql(SqlStr, "FMZOLL")
|
||
If sum Is DBNull.Value Or sum = "" Then Return 0
|
||
Return sum
|
||
End Function
|
||
|
||
'Shared Function getSteuerfreiEUSTZOLL(FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, RechnungsNr As String, RechnungsDatum As String, Firma_ID As Integer, Optional VorschauID As String = "") As Double
|
||
|
||
' Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
' Dim SqlStr = "SELECT SUM(dbo.RechnungsausgangPositionen.SteuerfreierBetrag) AS ReverseChargeSumme
|
||
' FROM dbo.Rechnungsausgang INNER JOIN
|
||
' dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID INNER JOIN
|
||
' dbo.Leistungen ON dbo.RechnungsausgangPositionen.LeistungsNr = dbo.Leistungen.LeistungsNr
|
||
' WHERE 1=1 "
|
||
|
||
' If VorschauID = "" Then
|
||
' SqlStr &= " AND (dbo.Rechnungsausgang.RechnungsNr = '" & RechnungsNr & "') AND (dbo.Rechnungsausgang.RechnungsDatum = '" & CDate(RechnungsDatum).ToShortDateString & "') "
|
||
' Else
|
||
' SqlStr &= " AND (dbo.Rechnungsausgang.VorschauID = '" & VorschauID & "') "
|
||
' End If
|
||
|
||
' SqlStr &= " AND Leistungen.Steuerpflichtig=0 "
|
||
' SqlStr &= " and Firma_ID= '" & Firma_ID & "' "
|
||
|
||
' Dim sum = SQL.getValueTxtBySql(SqlStr, "FMZOLL")
|
||
' If sum Is DBNull.Value Or sum = "" Then Return 0
|
||
' Return sum
|
||
'End Function
|
||
|
||
' 0-_> Rechnung angelegt
|
||
' 1-_> Einzel-Rg gedruckt
|
||
' 2-_> Anlagen zur Rg gedruckt
|
||
' 3-_> Sammel-Rg gedruckt
|
||
' 4-_> ? irgendwas mit SR 6 Maut/Diesel??
|
||
|
||
Public Shared Function GET_SR_SQLDT(Firma_ID As Integer, SammelrechungArt As Integer, DatumBis As Date, Optional whereKdNr As String = "", Optional SB As String = "", Optional AvisoIds As List(Of Integer) = Nothing, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional AUTOMailversand As String = "") As DataTable
|
||
If whereKdNr <> "" Then whereKdNr = " AND RechnungsKundenNr IN(" & whereKdNr & ") "
|
||
Dim whereAbfArt = ""
|
||
If Abfertigungsart <> "" Then whereAbfArt = " AND (SELECT TOP 1 Abfertigungsart FROM Speditionsbuch WHERE Speditionsbuch.FilialenNr=Rechnungsausgang.FilialenNr and Speditionsbuch.AbfertigungsNr=Rechnungsausgang.AbfertigungsNr and Speditionsbuch.UnterNr=Rechnungsausgang.SpeditionsbuchUnterNr)='" & Abfertigungsart & "' "
|
||
Dim whereAutoMailversand = ""
|
||
If AUTOMailversand <> "" Then whereAutoMailversand = " AND isnull(Rechnungsausgang.Automailversand,0) = 1 "
|
||
|
||
Dim sqlStr = " SELECT Rechnungsausgang.RK_ID, Rechnungsausgang.Firma_ID, Rechnungsausgang.FilialenNr, Rechnungsausgang.RechnungsKundenNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode, Rechnungsausgang.AvisoID, Rechnungsausgang.RechnungsNr, Rechnungsausgang.RechnungsDatum, Rechnungsausgang.DruckDatumZeit, Rechnungsausgang.Status, Rechnungsausgang.Sammelrechnung, Rechnungsausgang.Abfertigungsdatum, Rechnungsausgang.Buchungsjahr,Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.SpeditionsbuchUnterNr,[SteuerpflichtigerGesamtbetrag],[SteuerfreierGesamtbetrag],Rechnungsausgang.Rechnungsart
|
||
From Rechnungsausgang
|
||
WHERE Rechnungsausgang.Status IN(0, 2) And Rechnungsausgang.Firma_ID = " & Firma_ID & " And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And Rechnungsausgang.FakturierungsGruppe = '" & FakturierungsGruppe & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) <= '" & DatumBis.ToShortDateString & "' " & whereKdNr & whereAbfArt & "
|
||
" & If(SammelrechungArt = 7 And SB <> "", " AND Sachbearbeiter='" & SB & "' ", "") & "" & getWhereAvisoId(AvisoIds) & whereAutoMailversand
|
||
'Rechnungsausgang.Status IN(0, 2) --> vorher nur 2, da Anlagen vor der SR gedruckt wurden...
|
||
If SammelrechungArt = 7 Then
|
||
sqlStr &= " ORDER BY Rechnungsausgang.AvisoID,Rechnungsausgang.Firma_ID,Rechnungsausgang.RechnungsKundenNr,Rechnungsausgang.FilialenNr, Rechnungsausgang.AbfertigungsNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode, CASE Rechnungsausgang.Rechnungsart WHEN 'RK' THEN 1 WHEN 'RU' THEN 2 WHEN 'RG' THEN 3 ELSE 4 END "
|
||
Else
|
||
sqlStr &= " ORDER BY Rechnungsausgang.Firma_ID, Rechnungsausgang.RechnungsKundenNr,Rechnungsausgang.FilialenNr,Rechnungsausgang.AbfertigungsNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode, Rechnungsausgang.AvisoID, CASE Rechnungsausgang.Rechnungsart WHEN 'RK' THEN 1 WHEN 'RU' THEN 2 WHEN 'RG' THEN 3 ELSE 4 END "
|
||
End If
|
||
' MsgBox(sqlStr)
|
||
Dim dt = SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
||
Return dt
|
||
End Function
|
||
|
||
|
||
Public Shared Function CHECK_SR_SQLDT(dt As DataTable) As Boolean
|
||
For Each r In dt.Rows
|
||
If r("Rechnungsart") <> "RU" Then 'Sofern es sich nicht um eine unvollständige RG handelt, muss der Steuerpflichtige Gesamtbetrag <> 0 sein.
|
||
If (CDbl(r("SteuerpflichtigerGesamtbetrag")) + CDbl(r("SteuerfreierGesamtbetrag"))) = 0 Then
|
||
Return False
|
||
End If
|
||
End If
|
||
Next
|
||
Return True
|
||
End Function
|
||
Public Shared Function CHECK_SR_GESSUM_SQLDT(dt As DataTable) As Boolean
|
||
Dim sum As Double = 0
|
||
For Each r In dt.Rows
|
||
If r("Rechnungsart") <> "RU" Then 'Sofern es sich nicht um eine unvollständige RG handelt, muss der Steuerpflichtige Gesamtbetrag <> 0 sein.
|
||
sum += (CDbl(r("SteuerpflichtigerGesamtbetrag")) + CDbl(r("SteuerfreierGesamtbetrag")))
|
||
End If
|
||
Next
|
||
If sum = 0 Then Return False
|
||
|
||
Return True
|
||
End Function
|
||
|
||
Public Shared Function CHECK_SR_RU_RK_SQLDT(dt As DataTable) As Boolean
|
||
Dim sum As Double = 0
|
||
Dim RU_found = False
|
||
Dim RK_found = False
|
||
For Each r In dt.Rows
|
||
If r("Rechnungsart") = "RU" Then 'Sofern mind. eine unvollständige RG vorhanden ist, muss auch ein Kopfeintrag vorhanden sein
|
||
RU_found = True
|
||
End If
|
||
If r("Rechnungsart") = "RK" Then 'Sofern mind. eine unvollständige RG vorhanden ist, muss auch ein Kopfeintrag vorhanden sein
|
||
RK_found = True
|
||
End If
|
||
Next
|
||
'MsgBox(RU_found)
|
||
'MsgBox(RK_found)
|
||
'MsgBox(RU_found And RK_found)
|
||
If RU_found And RK_found Then Return True
|
||
If Not RU_found And Not RK_found Then Return True
|
||
|
||
Return False
|
||
End Function
|
||
Public Shared Function getWhereAvisoId(ids As List(Of Integer)) As String
|
||
If ids Is Nothing Then Return ""
|
||
If ids.Count = 0 Then Return ""
|
||
getWhereAvisoId = " AND AvisoId IN ("
|
||
For Each i In ids
|
||
getWhereAvisoId &= "'" & i & "',"
|
||
Next
|
||
getWhereAvisoId = getWhereAvisoId.Substring(0, getWhereAvisoId.Length - 1) ' ","
|
||
getWhereAvisoId &= ") "
|
||
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, Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional MDMRENrvoarhanden As Boolean = False, Optional MDMREkopie As Boolean = False, Optional setAutoMailversand As Boolean = False, Optional saveInThereFore As Boolean = True, Optional showError As Boolean = True) 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 & ") "
|
||
'Dim sqlStr = " SELECT Rechnungsausgang.RK_ID, Rechnungsausgang.Firma_ID, Rechnungsausgang.FilialenNr, Rechnungsausgang.RechnungsKundenNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode, Rechnungsausgang.AvisoID, Rechnungsausgang.RechnungsNr, Rechnungsausgang.RechnungsDatum, Rechnungsausgang.DruckDatumZeit, Rechnungsausgang.Status, Rechnungsausgang.Sammelrechnung, Rechnungsausgang.Abfertigungsdatum, Rechnungsausgang.Buchungsjahr
|
||
' From Rechnungsausgang
|
||
' WHERE Rechnungsausgang.Status IN(0, 2) And Rechnungsausgang.Firma_ID = " & Firma_ID & " And Rechnungsausgang.Sammelrechnung = '" & SammelrechungArt & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) <= '" & DatumBis.ToShortDateString & "' " & whereKdNr & "
|
||
' " & If(SammelrechungArt = 7 And SB <> "", " AND Sachbearbeiter='" & SB & "' ", "") & ""
|
||
''Rechnungsausgang.Status IN(0, 2) --> vorher nur 2, da Anlagen vor der SR gedruckt wurden...
|
||
'If SammelrechungArt = 7 Then
|
||
' sqlStr &= " ORDER BY Rechnungsausgang.AvisoID,Rechnungsausgang.Firma_ID,Rechnungsausgang.RechnungsKundenNr,Rechnungsausgang.FilialenNr, Rechnungsausgang.AbfertigungsNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode "
|
||
'Else
|
||
' sqlStr &= " ORDER BY Rechnungsausgang.Firma_ID, Rechnungsausgang.RechnungsKundenNr,Rechnungsausgang.FilialenNr,Rechnungsausgang.AbfertigungsNr, Rechnungsausgang.BelegartenNr, Rechnungsausgang.[Steuersatz %], Rechnungsausgang.Lastschrift, Rechnungsausgang.Währungscode, Rechnungsausgang.AvisoID "
|
||
'End If
|
||
|
||
Dim VorschauID = ""
|
||
If vorschau Then
|
||
VorschauID = Now.ToString("dd.MM.yyyy HH:mm:ss.fff") & "_" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "_" & Firma_ID
|
||
End If
|
||
|
||
If SammelrechungArt = 7 And (AvisoIds IsNot Nothing AndAlso AvisoIds.Count = 0) Then Return False 'Prüfung, ob Daten vorhanden; Abbruch ZB wenn keine AvisoId
|
||
|
||
Dim dt = GET_SR_SQLDT(Firma_ID, SammelrechungArt, DatumBis, whereKdNr, SB, AvisoIds, FakturierungsGruppe, Abfertigungsart) 'SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
||
If dt Is Nothing Then MsgBox("ERR01: Keine Daten") : Return True
|
||
If dt.Rows.Count = 0 Then MsgBox("ERR02: Keine Daten") : Return True
|
||
If Not CHECK_SR_SQLDT(dt) Then MsgBox("ERR03: Es wurden Rechnungen mit einem 0-Betrag gefunden. Bitte prüfen Sie die Eingaben und starten Sie die Sammelabrechnung erneut.") : Return True
|
||
If Not CHECK_SR_GESSUM_SQLDT(dt) Then MsgBox("ERR04: Summe der Rechnungen in Sammelrechnung ist '0'. Bitte prüfen Sie die Eingaben und starten Sie die Sammelabrechnung erneut.") : Return True
|
||
'Rechnungsart prüfen, ob Sammelrechnung oder unvollständige SRG /
|
||
If Not CHECK_SR_RU_RK_SQLDT(dt) Then MsgBox("ERR05: Bei Kopf-Sammelrechnung müssen Kopfdaten und unvollständige Rg-Einträge vorhanden sein. Bitte prüfen Sie die Eingaben und starten Sie die Sammelabrechnung erneut.") : Return True
|
||
|
||
Dim Buchungsjahr = cRKSV.getGJ(Rechnungsdatum, Firma_ID) 'IIf(Rechnungsdatum.Month = 1, Rechnungsdatum.Year - 1, Rechnungsdatum.Year)
|
||
|
||
Dim Aktuelle_RgNr As Integer = -1
|
||
If Not vorschau Then
|
||
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
|
||
|
||
|
||
DruckdatumUhrzeit = Now.ToString("dd.MM.yyyy HH:mm:ss.fff")
|
||
|
||
If listPDFs Is Nothing Then listPDFs = New List(Of String)
|
||
If SonstAnlagen Is Nothing Then SonstAnlagen = New List(Of String)
|
||
Dim kdTmp = -1
|
||
Dim AvisoIdTmp = -1
|
||
Dim FilialeTmp = -1
|
||
Dim FIRMATmp = -1
|
||
Dim found = False
|
||
For Each r In dt.Rows
|
||
Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(r("RK_ID"))
|
||
If RG IsNot Nothing Then
|
||
Select Case SammelrechungArt
|
||
Case 7 'LKW Abrechnung
|
||
If kdTmp < 0 Then kdTmp = RG.RechnungsKundenNr 'erstes Mal
|
||
If AvisoIdTmp < 0 Then AvisoIdTmp = RG.AvisoID 'erstes Mal
|
||
' If FilialeTmp < 0 Then FilialeTmp = RG.FilialenNr 'erstes Mal
|
||
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, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,,,,,, saveInThereFore) 'hier wird auch die RG Nr erhöht!
|
||
Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
|
||
If path <> "" Then listPDFs.Add(path)
|
||
End If
|
||
kdTmp = RG.RechnungsKundenNr
|
||
AvisoIdTmp = RG.AvisoID
|
||
FilialeTmp = RG.FilialenNr
|
||
FIRMATmp = RG.Firma_ID
|
||
Case 6 'MDM Abrechnung
|
||
If kdTmp < 0 Then kdTmp = RG.RechnungsKundenNr 'erstes Mal
|
||
' If FilialeTmp < 0 Then FilialeTmp = RG.FilialenNr 'erstes Mal
|
||
If FIRMATmp < 0 Then FIRMATmp = RG.Firma_ID 'erstes Mal
|
||
If kdTmp <> RG.RechnungsKundenNr Or FIRMATmp <> RG.Firma_ID Then 'Or FilialeTmp <> RG.FilialenNr
|
||
|
||
' KEIN doSAMMELRechnungsDruck_Abschnitt!!!!
|
||
If Not MDMRENrvoarhanden Then Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
|
||
|
||
|
||
|
||
End If
|
||
kdTmp = RG.RechnungsKundenNr
|
||
FilialeTmp = RG.FilialenNr
|
||
FIRMATmp = RG.Firma_ID
|
||
Case Else
|
||
If kdTmp < 0 Then kdTmp = RG.RechnungsKundenNr 'erstes Mal
|
||
' If FilialeTmp < 0 Then FilialeTmp = RG.FilialenNr 'erstes Mal
|
||
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, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,,,,,, saveInThereFore)
|
||
Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr)
|
||
If path <> "" Then listPDFs.Add(path)
|
||
End If
|
||
kdTmp = RG.RechnungsKundenNr
|
||
FilialeTmp = RG.FilialenNr
|
||
FIRMATmp = RG.Firma_ID
|
||
End Select
|
||
|
||
If vorschau Then
|
||
RG.[VorschauID] = VorschauID
|
||
Else
|
||
|
||
If SammelrechungArt = 6 Then
|
||
If RechnungsdruckArt = 7 Then 'RechnungsdruckArt = 7 ist die Erstellung per MDM-Sammelabrechnung!
|
||
RG.[Status] = 2 'Bei MDM Abrechnung; Druck später!!
|
||
RG.Automailversand = setAutoMailversand
|
||
Else
|
||
RG.[Status] = 4 ' Beim finalen Versenden der Sammelrechnung keine neue ReNr vergeben.
|
||
If RG.RechnungsNr >= 0 Then Aktuelle_RgNr = RG.RechnungsNr
|
||
End If
|
||
|
||
Else
|
||
RG.[Status] = 3
|
||
End If
|
||
|
||
RG.[RechnungsNr] = Aktuelle_RgNr
|
||
RG.[RechnungsDatum] = Rechnungsdatum.ToShortDateString
|
||
RG.[Buchungsjahr] = Buchungsjahr
|
||
RG.[DruckDatumZeit] = DruckdatumUhrzeit.ToString("dd.MM.yyyy HH:mm:ss.fff")
|
||
End If
|
||
RG.SAVE()
|
||
|
||
If RechnungsdruckArt <> 7 Then
|
||
If Not RG.checkRechnungsNrIsSet() AndAlso Not vorschau Then
|
||
If showError Then MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
|
||
Return False
|
||
Else
|
||
found = True
|
||
End If
|
||
End If
|
||
|
||
|
||
End If
|
||
Next
|
||
|
||
'Letzter Abschnitt:
|
||
If found Then
|
||
Dim path = ""
|
||
If Not (SammelrechungArt = 6 And RechnungsdruckArt = 7) Then doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart,,, MDMREkopie,,,, saveInThereFore)
|
||
If path <> "" Then listPDFs.Add(path)
|
||
End If
|
||
lastAktuelle_RgNr = Aktuelle_RgNr
|
||
Return True
|
||
Catch ex As Exception
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
Return False
|
||
End Function
|
||
|
||
Shared Function getNewRgNr(Firma_ID, Buchungsjahr)
|
||
Dim RG_NR As New VERAG_PROG_ALLGEMEIN.cRechnungsnummern(Firma_ID, Buchungsjahr)
|
||
getNewRgNr = RG_NR.LfdRechnungsNr ' --> Die in der DB gespeicherte RgNr wird verwendet
|
||
|
||
' Nächste Rechnungsnummer speichern.
|
||
'RG_NR.INCREASE_RGNR() ' SOFORT Speichern, Sonst gibt es wieder eine Doppelvergabe!
|
||
' Prüfung, ob RgNr schon vergeben wurde --> dann +1, bis freie Nr. (sollte EÜGENTLICH nicht vorkommen)
|
||
getNewRgNr = VERAG_PROG_ALLGEMEIN.cRechnungsnummern.CHECK_RGNR_NEW(getNewRgNr, Firma_ID, Buchungsjahr)
|
||
|
||
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 = "", Optional AnlageExcelTransferry360 As Boolean = False, Optional FakturierungsGruppe As String = "", Optional Abfertigungsart As String = "", Optional mergePDF As Boolean = False, Optional RechnungsanhangPDF As Boolean = False, Optional RechnugnskopieMDMSammelrechnung As Boolean = False, Optional AnhList As List(Of String) = Nothing, Optional RechnungsanhangCSV As Boolean = False, Optional onlyAsfinagAnhang As Boolean = False, Optional saveInTherefore As Boolean = True) As Boolean
|
||
'SB Nicht mehr benötigt, da RG-Nr und DruckdatumUhrzeit
|
||
|
||
Dim dt As DataTable
|
||
If SRDruckWiederholen Then
|
||
dt = getSAMMELRechnung_Dt(RechnungsNr, DruckdatumUhrzeit, "3,4,5", ) ' 3,4,5-_> irgendebbs
|
||
Else
|
||
'Dim RG_NR = New VERAG_PROG_ALLGEMEIN.cRechnungsnummern(Firma_ID, Buchungsjahr)
|
||
'RG_NR.INCREASE_RGNR() 'für die nächste Rechnung
|
||
dt = getSAMMELRechnung_Dt(RechnungsNr, DruckdatumUhrzeit, IIf(RechnungsdruckArt = 7, "2", "2, 3, 4"), [VorschauID])
|
||
End If
|
||
' 3-_> Anlagen gedruckt
|
||
|
||
|
||
|
||
If dt Is Nothing OrElse dt.Rows.Count <= 0 Then MsgBox("ERR03: Keine Daten!") : Return False
|
||
|
||
'-------------- für PDF-Sammel-Rechnung --------------
|
||
Dim pathPDF_SammelRg = ""
|
||
Dim pathPDF_SammelBericht = ""
|
||
Dim xls_Evolog = ""
|
||
Dim xls_Transferry360 = ""
|
||
Dim pathPDF_Anlage As New List(Of String)
|
||
|
||
'-------------- ENDE --------------
|
||
|
||
doSAMMELRechnungsDruck_Abschnitt = doSAMMELRechnungDruck_Rechnungsdruck(dt, RechnungsNr, DruckdatumUhrzeit, 3, RechnungsdruckArt, pathPDF_SammelRg, PrinterName, SRDruckWiederholen, VorschauID) 'Sammelrechnung drucken
|
||
If Sammelrechnungsbericht Then If Not doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht(RechnungsNr, DruckdatumUhrzeit, RechnungsdruckArt, pathPDF_SammelBericht, PrinterName, VorschauID, dt, RechnugnskopieMDMSammelrechnung) Then doSAMMELRechnungsDruck_Abschnitt = False 'Sammelrechnungsbericht drucken
|
||
If AnlageEinzelRg Then If Not doSAMMELRechnungDruck_Rechnungsdruck_Anlagen(RechnungsNr, DruckdatumUhrzeit, PrinterName, pathPDF_Anlage, RechnungsdruckArt, VorschauID) Then doSAMMELRechnungsDruck_Abschnitt = False 'Anlagen drucken
|
||
If RechnungsanhangPDF Then getRechnungsanshang(dt, pathPDF_Anlage, "pdf", onlyAsfinagAnhang)
|
||
If RechnungsanhangCSV Then getRechnungsanshang(dt, AnhList, "csv")
|
||
|
||
|
||
|
||
|
||
'SONSTIGE ANLAGEN:
|
||
If AnlageExcelEvolog Then 'Sammelrechnungsbericht EVOLOG
|
||
If doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht_ExcelEvolog(RechnungsNr, DruckdatumUhrzeit, RechnungsdruckArt, xls_Evolog, PrinterName, VorschauID) Then
|
||
If xls_Evolog <> "" Then SonstAnlagen.Add(xls_Evolog)
|
||
Else
|
||
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
|
||
Try
|
||
Dim pathZollbeleg = getSpedBuchAnhaenge_Path(dt.Rows(0)("FilialenNr"), dt.Rows(0)("AbfertigungsNr"), dt.Rows(0)("SpeditionsbuchUnterNr"))
|
||
If pathZollbeleg <> "" Then SonstAnlagen.Add(pathZollbeleg)
|
||
Catch ex As Exception
|
||
MsgBox("ERR ZOLLBELEG-ANHNAG: " & ex.Message & ex.StackTrace)
|
||
End Try
|
||
End If
|
||
End If
|
||
|
||
'-------------- für PDF-Sammel-Rechnung --------------
|
||
Dim list As New List(Of String) ' Sammlung PDFs
|
||
If pathPDF_SammelRg <> "" Then list.Add(pathPDF_SammelRg)
|
||
If pathPDF_SammelBericht <> "" Then list.Add(pathPDF_SammelBericht)
|
||
If pathPDF_Anlage.Count > 0 Then
|
||
For Each l In pathPDF_Anlage
|
||
list.Add(l)
|
||
Next
|
||
End If
|
||
|
||
If list.Count > 0 Then
|
||
' pathPDF = "" 'PAD Pfad zurückgeben!!!!!!
|
||
pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Sammelrechnung_" & RechnungsNr & ".pdf", ".pdf", False, False)
|
||
'pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "_Sammelrechnung_" & RechnungsNr & ".pdf", ".pdf", False, False)
|
||
|
||
If Not FormularManagerNEU.MergePdfFiles(list, pathPDF) Then
|
||
pathPDF = "" : MsgBox("Fehler PDF")
|
||
' Else
|
||
' Process.Start(pathPDF)
|
||
End If
|
||
|
||
'THEREFORE IMPORT:
|
||
'-------------------------------------------------------------------------------
|
||
Try
|
||
If RechnungsdruckArt <> 7 Then
|
||
If Not SRDruckWiederholen And saveInTherefore Then
|
||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM 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
|
||
VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(pathPDF, "SA " & RechnungsNr & " " & dt.Rows(0)("RechnungsName 1"), "", Firma_ID, False)
|
||
End If
|
||
|
||
|
||
End If
|
||
End If
|
||
|
||
Catch ex As Exception
|
||
MsgBox("Therefore-Import fehlgeschlagen!" & ex.Message & ex.StackTrace)
|
||
End Try
|
||
'-------------------------------------------------------------------------------
|
||
|
||
'ABRECHNUNGS API:
|
||
'-------------------------------------------------------------------------------
|
||
Try
|
||
If Not SRDruckWiederholen Then
|
||
Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(dt.Rows(0)("RechnungsKundenNr"))
|
||
If KUNDE_ERW IsNot Nothing Then
|
||
|
||
'TRADESHIFT:
|
||
Try
|
||
If KUNDE_ERW.kde_API_Tradeshift Then
|
||
Select Case dt.Rows(0)("Firma_ID")
|
||
Case 21, 22, 23
|
||
' System.IO.File.Copy(pathPDF, "\\srv01.unisu.at\Unisped\___AR_PDF\Sammelrechnung_" & RechnungsNr & ".pdf", True)
|
||
System.IO.File.Copy(pathPDF, "\\unidc01.unisu.at\Unisped\___AR_PDF\Sammelrechnung_" & RechnungsNr & ".pdf", True)
|
||
End Select
|
||
End If
|
||
Catch ex As Exception
|
||
MsgBox("Tradeshift Export fehlgeschlagen! " & ex.Message & ex.StackTrace)
|
||
End Try
|
||
|
||
If dt.Rows(0)("Firma_ID") = 24 Then
|
||
|
||
Dim API As New DataTable
|
||
Dim Program = "DATEV-PDF"
|
||
API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & Program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
|
||
If API.Rows.Count = 0 Then
|
||
MsgBox("keine gültigen API-Einstellungen für " & Program & " gefunden!")
|
||
Else
|
||
|
||
Dim client As WebClient = New WebClient
|
||
client.Credentials = New NetworkCredential(API.Rows(0).Item("api_user").ToString, API.Rows(0).Item("api_password").ToString)
|
||
client.UploadFile(API.Rows(0).Item("api_url") & "/Sammelrechnung_" & RechnungsNr & ".pdf", pathPDF)
|
||
|
||
End If
|
||
|
||
End If
|
||
|
||
End If
|
||
End If
|
||
Catch ex As Exception
|
||
MsgBox("API Fehler!" & ex.Message & ex.StackTrace)
|
||
End Try
|
||
'-------------------------------------------------------------------------------
|
||
|
||
|
||
End If
|
||
'-------------- ENDE --------------
|
||
End Function
|
||
|
||
Shared Function doSAMMELRechnungDruck_Rechnungsdruck_Anlagen(RechnungsNr As Integer, DruckDatumZeit As Date, PrinterName As String, Optional ByRef pathPDF_Anlage As List(Of String) = Nothing, Optional RechnungsdruckArt As Integer = -1, Optional VorschauID As String = "") As Boolean
|
||
Dim dt As DataTable
|
||
If VorschauID = "" Then
|
||
SQL.loadDgvBySql("Select RK_ID FROM Rechnungsausgang WHERE Rechnungsausgang.Status In(" & IIf(RechnungsdruckArt = 7, "2", "2, 3, 4") & ") And Convert(DateTime, DruckDatumZeit, 104) ='" & DruckDatumZeit.ToString("dd.MM.yyyy HH:mm:ss.fff") & "' and RechnungsNr='" & RechnungsNr & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
|
||
Else
|
||
SQL.loadDgvBySql("SELECT RK_ID FROM Rechnungsausgang WHERE RechnungsNr is null AND VorschauID='" & VorschauID & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
|
||
End If
|
||
|
||
If dt IsNot Nothing Then
|
||
For Each r In dt.Rows
|
||
Dim Path = ""
|
||
If Not doRechnungsDruck(r("RK_ID"),, False, RechnungsdruckArt, Path, PrinterName, True) Then
|
||
MsgBox("Fehler beim Sammel-Rechnungsdruck - Anlage zur Rechnung: " & RechnungsNr)
|
||
Return False
|
||
End If
|
||
If Path <> "" Then pathPDF_Anlage.Add(Path)
|
||
Next
|
||
End If
|
||
Return True
|
||
End Function
|
||
|
||
|
||
|
||
|
||
Shared Function doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht_ExcelEvolog(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 RechnungsNr,RechnungsKundenNr,Rechnungsausgang.Abfertigungsdatum,Rechnungsausgang.KdAuftragsNr,Rechnungsausgang.AbfertigungsNr,Rechnungsausgang.[LKW Kennzeichen] as Kennzeichen,Abfertigungsarten.Abfertigungsbezeichnung, (SELECT SUM([SteuerpflichtigerBetrag]+[SteuerfreierBetrag]) FROM RechnungsausgangPositionen where RechnungsausgangPositionen.RK_ID=Rechnungsausgang.RK_ID) as Betrag
|
||
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 "
|
||
|
||
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"
|
||
|
||
|
||
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_EVOLOG, 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("Abfertigungsdatum")
|
||
Blatt.Range("C" & cnt).Value = r("KdAuftragsNr")
|
||
Blatt.Range("D" & cnt).Value = r("AbfertigungsNr")
|
||
Blatt.Range("E" & cnt).Value = r("Kennzeichen")
|
||
Blatt.Range("F" & cnt).Value = r("Abfertigungsbezeichnung")
|
||
Blatt.Range("G" & cnt).Value = r("Betrag")
|
||
|
||
cnt += 1
|
||
Next
|
||
Datei.Save
|
||
|
||
If Rechnugnsdruck = -1 Then
|
||
Blatt.PrintOutEx()
|
||
ElseIf Rechnugnsdruck = 3 Then
|
||
'Process.Start(Path)
|
||
.Visible = True
|
||
Else
|
||
Datei.close
|
||
End If
|
||
End With
|
||
|
||
Return True
|
||
End If
|
||
|
||
Catch ex As Exception
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
Return False
|
||
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
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
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 = "", Optional SammelrechnungsDT As DataTable = Nothing, Optional Sammelrechnungskopie As Boolean = False, Optional RG_LIST As List(Of Integer) = Nothing, Optional Firma_ID As Integer = -1) As Boolean
|
||
Try
|
||
|
||
|
||
Dim dt As DataTable
|
||
If VorschauID = "" Then
|
||
If Rechnugnsdruck = 7 Then
|
||
dt = SQL.loadDgvBySql("Select * FROM Rechnungsausgang WHERE Rechnungsausgang.Status In(2) And CONVERT(datetime,DruckDatumZeit ,104)='" & DruckdatumUhrzeit.ToString("dd.MM.yyyy HH:mm:ss.fff") & "' and RechnungsNr='" & RechnungsNr & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
|
||
Else
|
||
dt = SQL.loadDgvBySql("Select * FROM Rechnungsausgang WHERE Rechnungsausgang.Status In(2,3,4) And CONVERT(datetime,DruckDatumZeit ,104)='" & DruckdatumUhrzeit.ToString("dd.MM.yyyy HH:mm:ss.fff") & "' and RechnungsNr='" & RechnungsNr & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
|
||
End If
|
||
|
||
ElseIf RG_LIST IsNot Nothing Then
|
||
' MsgBox("Select * FROM Rechnungsausgang WHERE Firma_ID='" & Firma_ID & "' And RechnungsNr IN (" & String.Join(",", RG_LIST) & ") ORDER BY FilialenNr, AbfertigungsNr")
|
||
dt = SQL.loadDgvBySql("Select * FROM Rechnungsausgang WHERE Firma_ID='" & Firma_ID & "' And RechnungsNr IN (" & String.Join(",", RG_LIST) & ") ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
|
||
Else
|
||
dt = SQL.loadDgvBySql("Select * FROM Rechnungsausgang WHERE RechnungsNr is null AND VorschauID='" & VorschauID & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
|
||
End If
|
||
|
||
Dim ROW As DataRow = IIf(dt.Rows.Count > 0, dt.Rows(0), Nothing)
|
||
|
||
Dim isMDMRechnungsdruck = checkIfMDMSammelrechnung(Rechnugnsdruck, ROW("Status"))
|
||
|
||
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(ROW("Firma_ID"))
|
||
Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
|
||
|
||
If FIRMA Is Nothing Then MsgBox("Keine Firma gewählt!") : Return False
|
||
|
||
Dim sum = 0
|
||
|
||
Dim BelegartenKz = "AR" 'If(Gesamt_RG_Betrag < 0, "AG", "AR")
|
||
|
||
Dim rpt As GrapeCity.ActiveReports.SectionReport
|
||
Dim tmpPath As String = ""
|
||
|
||
|
||
|
||
'ORIGINAL
|
||
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
|
||
'Dim RG_Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & " _Rechnung_" & RechnungsNr & ".pdf"
|
||
'Rechnugnsdruck = Individuell für deise Rechnung, wird optional mitgegeben
|
||
Dim RG_Bezeichnung = "Rechnung_" & RechnungsNr & ".pdf"
|
||
If VorschauID = "PROVISIONSABRECHNUNG" Then
|
||
RG_Bezeichnung = "Provisionsabrechnung_" & Now.ToString("yyyyMMdd_HHmmss") & ".pdf"
|
||
End If
|
||
|
||
If isMDMRechnungsdruck Then
|
||
rpt = SammelRechnungAnlagenDruck_MDM(ROW, isMDMRechnungsdruck, dt, FIRMA, Rechnugnsdruck, KD_RG, RechnungsNr, VorschauID, Sammelrechnungskopie, RG_Bezeichnung, SammelrechnungsDT, tmpPath)
|
||
Else
|
||
rpt = SammelRechnungAnlagenDruck(ROW, isMDMRechnungsdruck, dt, FIRMA, Rechnugnsdruck, KD_RG, RechnungsNr, VorschauID, Sammelrechnungskopie, RG_Bezeichnung, SammelrechnungsDT, tmpPath)
|
||
End If
|
||
|
||
|
||
Path = tmpPath
|
||
|
||
|
||
Select Case If(Rechnugnsdruck > 0, Rechnugnsdruck, If(AD.Rechnungsdruck, 0))'If(AD.Rechnungsdruck, 0)
|
||
Case 0, 1 'DRUCKEN
|
||
Return cProgramFunctions.printRpt(rpt, PrinterName, False)
|
||
'Case 1 'FAX
|
||
Case 2 'MAIL
|
||
|
||
|
||
rpt.Dispose()
|
||
|
||
Try
|
||
Dim outl As New Outlook.Application
|
||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||
Mail = outl.CreateItem(0)
|
||
' Mail.Subject = " Rechnung Nr. " & ROW("RechnungsNr")
|
||
' Mail.Subject = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & " Rechnung Nr. " & ROW("RechnungsNr")
|
||
Select Case ROW("RechnungsLandKz")
|
||
Case "TR"
|
||
Mail.Subject = "Invoice No. " & ROW("RechnungsNr")
|
||
Mail.HTMLBody = "Sayin Bayanlar ve Baylar,<br><br>ekte baslikta yazan faturayi bulabilirsinz."
|
||
Mail.HTMLBody &= "<br><br><br>Saygilarimizla<br><br>" & getSignature(ROW("RechnungsLandKz"), ROW("Firma_ID"))
|
||
Case "A", "AT", "D", "DE", "CH"
|
||
Mail.Subject = "Rechnung Nr. " & ROW("RechnungsNr")
|
||
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die o.g. Rechnung."
|
||
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>" & getSignature(ROW("RechnungsLandKz"), ROW("Firma_ID"))
|
||
Case Else
|
||
Mail.Subject = "Invoice No. " & ROW("RechnungsNr")
|
||
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the invoice mentioned above."
|
||
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>" & getSignature(ROW("RechnungsLandKz"), ROW("Firma_ID"))
|
||
End Select
|
||
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & Mail.HTMLBody & "</div>"
|
||
|
||
' Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>anbei erhalten Sie die Rechnung Nr. " & ROW("RechnungsNr") & "."
|
||
' Mail.Attachments.Add(tmpPath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "_Formular.pdf")
|
||
Mail.Attachments.Add(tmpPath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , "Formular.pdf")
|
||
Mail.Display()
|
||
|
||
Catch ex As Exception
|
||
MsgBox("Fehler bim Öffnen des Mail-Programmes. PDF wird geladen!")
|
||
Process.Start(tmpPath)
|
||
End Try
|
||
Return True
|
||
|
||
Case 3 'PDF + öffnen
|
||
|
||
'Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
'Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
'rpt.Run(False)
|
||
'p.NeverEmbedFonts = ""
|
||
'p.Export(rpt.Document, tmpPath)
|
||
|
||
rpt.Dispose()
|
||
Path = tmpPath
|
||
Process.Start(tmpPath)
|
||
Return True
|
||
Case 4 'PDF
|
||
|
||
'Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
'Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
'rpt.Run(False)
|
||
'p.NeverEmbedFonts = ""
|
||
'p.Export(rpt.Document, tmpPath)
|
||
|
||
rpt.Dispose()
|
||
Path = tmpPath
|
||
Return True
|
||
End Select
|
||
|
||
|
||
|
||
|
||
Catch ex As Exception
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
Return False
|
||
End Function
|
||
|
||
Shared Function SammelRechnungAnlagenDruck(Row As DataRow, isMDMRechnungsdruck As Boolean, dt As DataTable, Firma As cFirmen, Rechnugnsdruck As Integer, KD_RG As cAdressen, RechnungsNr As Integer, VorschauID As String, Sammelrechnungskopie As Boolean, RG_Bezeichnung As String, SammelrechnungsDT As DataTable, ByRef tmpPath As String) As GrapeCity.ActiveReports.SectionReport
|
||
|
||
Dim rpt As New rptSammelRechnungAnlagenDruck(Row("RechnungSprache"))
|
||
|
||
rpt.DataSource = dt
|
||
|
||
Select Case Row("RechnungSprache")
|
||
Case "EN"
|
||
Select Case Row("BelegartenKz")
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Attatchment to INVOICE", "INVOICE")
|
||
rpt.lblSummeUeberschrift.Text = "Invoice Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Invoice No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Invoice Date:"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Attatchment to CREDIT NOTE", "CREDIT NOTE")
|
||
rpt.lblSummeUeberschrift.Text = "Credit Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Credit Note No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Credit Note Date:"
|
||
End Select
|
||
Case Else
|
||
Select Case Row("BelegartenKz")
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Anlage zur Sammelrechnung", "Rechnung")
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Anlage zur Sammelgutschrift", "GUTSCHRIFT")
|
||
rpt.lblSummeUeberschrift.Text = "Gutschriftsbetrag:"
|
||
rpt.lblRgNrUeberschrift.Text = "Gutschrifts-Nr.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Gutschrifts-Datum:"
|
||
End Select
|
||
End Select
|
||
|
||
|
||
|
||
|
||
|
||
initRgFirmaSammelRg_Bericht(rpt, Firma, RechnungsNr, Row("RechnungsLandKz"), Row("Buchungsjahr"))
|
||
|
||
Select Case Row("Firma_ID")
|
||
Case 1 ' rpt.picVERAG.Image= My.Resources.Verag_AG_Logo : rpt.Picture1.Image = My.Resources.aeo_AT_imex is eh standard
|
||
Case 4 : rpt.picVERAG.Image = My.Resources.Verag_AG_Logo : rpt.Picture1.Image = Nothing
|
||
Case 7 : rpt.picVERAG.Image = My.Resources.Atilla_big_med : rpt.Picture1.Image = Nothing
|
||
Case 11 : rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo : rpt.Picture1.Image = My.Resources.aeo_CS
|
||
Case 19 : rpt.picVERAG.Image = My.Resources.VERAG_360 : rpt.Picture1.Image = Nothing
|
||
Case 20 : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Picture1.Image = My.Resources.aeo_AT_imex
|
||
Case 21 : rpt.picVERAG.Image = My.Resources.Unisped_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_AT
|
||
Case 22 : rpt.picVERAG.Image = My.Resources.Unisped_DE_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_DE
|
||
Case 23 : rpt.picVERAG.Image = My.Resources.Unisped_ZS_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_ZS_AT
|
||
Case 24 : rpt.picVERAG.Image = My.Resources.ambar_simple : rpt.Picture1.Image = Nothing
|
||
Case 26 : rpt.picVERAG.Image = My.Resources.VERAG_UNISPED_Logo : rpt.Picture1.Image = Nothing
|
||
Case 17 : rpt.picVERAG.Image = My.Resources.FrontOfficeSUB_Horizontal : rpt.Picture1.Image = Nothing
|
||
End Select
|
||
|
||
|
||
rpt.lblKundenNr.Text = If(Row("RechnungsKundenNr") > 0, Row("RechnungsKundenNr"), "")
|
||
rpt.lblRgNr.Text = If(Row("RechnungsNr") IsNot DBNull.Value, addYeartoRgNr(Firma.Firma_ID, Row("Buchungsjahr")) & Row("RechnungsNr"), "Vorschau")
|
||
rpt.lblRgDatum.Text = If(Row("RechnungsDatum") IsNot DBNull.Value, Row("RechnungsDatum"), "Vorschau")
|
||
|
||
'rpt.lblKundenAuftragsnummer.Text = If(RECHNUNG.KdAuftragsNr, "")
|
||
'If rpt.lblKundenAuftragsnummer.Text = String.Empty Then rpt.lblKundenAuftragsnummerUeberschrift.Visible = False
|
||
|
||
'rpt.lblAbfertigungsNr.Text = ROW("FilialenNr") & " / " & ROW("AbfertigungsNr") & " " & ROW("SpeditionsbuchUnterNr").ToString("00")
|
||
'rpt.lblAbfertigungsDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString
|
||
'rpt.lblLKWId.Text = If(RECHNUNG.AvisoID, "")
|
||
|
||
Dim sachbearbeiterAufRechnung = getSBRgName(Row("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, Row("Sachbearbeiter"))
|
||
rpt.lblSachbearbeiter.Text = IIf(sachbearbeiterAufRechnung = "Herr Ordu", "Verrechnung", sachbearbeiterAufRechnung) 'könnten ja mehrerer SB die Rg-Anlagen geschreiben haben - NEU
|
||
|
||
|
||
'rpt.lblSachbearbeiter.Text = getSBRgName(Firma.Firma_ID, VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME) 'könnten ja mehrerer SB die Rg-Anlagen geschreiben haben
|
||
rpt.lblFirmenbuch.Text = If(Firma.Firma_Firmenbuch, "").ToString.Replace("Firmenbuch: ", "").Trim
|
||
rpt.lblUID.Text = If(Firma.Firma_UID, "").ToString.Replace("UID: ", "").Trim
|
||
rpt.lblEORI.Text = If(Firma.Firma_EORI, "")
|
||
|
||
rpt.txtKdAuftragsnummer.Text = If(Row("KdAuftragsNr") IsNot DBNull.Value, Row("KdAuftragsNr"), "")
|
||
|
||
|
||
rpt.lblRechnungAn.Text = Row("RechnungsName 1") & vbNewLine
|
||
If Row("RechnungsName 2") IsNot DBNull.Value AndAlso Row("RechnungsName 2") <> "" Then rpt.lblRechnungAn.Text &= Row("RechnungsName 2") & vbNewLine
|
||
If Row("RechnungsName_AdressZusatz") IsNot DBNull.Value AndAlso Row("RechnungsName_AdressZusatz") <> "" Then rpt.lblRechnungAn.Text &= Row("RechnungsName_AdressZusatz") & vbNewLine
|
||
If Row("RechnungsStraße") IsNot DBNull.Value AndAlso Row("RechnungsStraße") <> "" Then rpt.lblRechnungAn.Text &= Row("RechnungsStraße") & vbNewLine
|
||
If Row("RechnungsOrt") IsNot DBNull.Value AndAlso Row("RechnungsOrt") <> "" Then rpt.lblRechnungAn.Text &= Row("RechnungsOrt") & vbNewLine
|
||
If Row("RechnungsLandKz") IsNot DBNull.Value AndAlso Row("RechnungsLandKz") <> "" Then rpt.lblRechnungAn.Text &= cProgramFunctions.getLandBez_fromISO1Land(Row("RechnungsLandKz"), "", Row("RechnungSprache")).ToString.ToUpper
|
||
|
||
|
||
'--------PROVISIONSABRECHNUNG----------------------------------------
|
||
Dim ADR_PROV As cAdressen = Nothing
|
||
Dim KD_ERW_PROV As cKundenErweitert = Nothing
|
||
If VorschauID = "PROVISIONSABRECHNUNG" Then
|
||
rpt.lblUeberschriftRG_GS.Text = "PROVISIONSABRECHNUNG"
|
||
rpt.lblSummeUeberschrift.Text = "Rechnungsbetrag:"
|
||
rpt.lblRgNrUeberschrift.Visible = False
|
||
rpt.lblRgNr.Visible = False
|
||
rpt.lblRgDatumUeberschrift.Text = "Datum:"
|
||
rpt.lblRgDatum.Text = Now.ToShortDateString
|
||
'--------
|
||
Dim ProvisionAn = ""
|
||
KD_ERW_PROV = New cKundenErweitert(Row("RechnungsKundenNr"))
|
||
If KD_ERW_PROV IsNot Nothing AndAlso KD_ERW_PROV.kde_Provisionsverguetung Then
|
||
ADR_PROV = New cAdressen(KD_ERW_PROV.kde_Provisionsverguetung_GSAnKdNr)
|
||
If ADR_PROV Is Nothing Then Return Nothing
|
||
|
||
ProvisionAn = If(ADR_PROV.Name_1, "") & vbNewLine
|
||
If If(ADR_PROV.Name_2, "") <> "" Then ProvisionAn &= ADR_PROV.Name_2 & vbNewLine
|
||
If If(ADR_PROV.Straße, "") <> "" Then ProvisionAn &= ADR_PROV.Straße & vbNewLine
|
||
If If(ADR_PROV.Ort, "") <> "" Then ProvisionAn &= ADR_PROV.Ort & vbNewLine
|
||
If If(ADR_PROV.LandKz, "") <> "" Then ProvisionAn &= cProgramFunctions.getLandBez_fromISO1Land(ADR_PROV.LandKz, "", Row("RechnungSprache")).ToString.ToUpper
|
||
|
||
rpt.lblRechnungAn.Text = ProvisionAn & "" & vbNewLine & "-- Provisionsabrechnung für Kunde: --" & vbNewLine & rpt.lblRechnungAn.Text
|
||
rpt.lblRechnungAn.Height += 0.5
|
||
Else
|
||
Return Nothing
|
||
End If
|
||
End If
|
||
'--------------------------------------------------------------
|
||
|
||
|
||
If isMDMRechnungsdruck Then
|
||
|
||
If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) > 0 Then
|
||
Select Case Row("RechnungSprache")
|
||
Case "EN" : rpt.txtInfo.Text = vbNewLine & vbNewLine & "The VAT liability is transferred to the recipient of the service (reverse charge system)." '"Attention! For EU customers! Since 1.1.2010, services are subject to the application of the reverse charge procedure. Transfer of the tax liability to the recipient of the service."
|
||
Case Else : rpt.txtInfo.Text = vbNewLine & vbNewLine & "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)." '"Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger."
|
||
End Select
|
||
Else : rpt.txtInfo.Text = "" : End If
|
||
|
||
If Row("Nettozahlungsziel") IsNot DBNull.Value AndAlso IsNumeric(Row("Nettozahlungsziel")) Then
|
||
rpt.Label2.Text = Row("Nettozahlungsziel")
|
||
Else
|
||
rpt.Label2.Text = ""
|
||
End If
|
||
|
||
|
||
|
||
If Row("Text") IsNot DBNull.Value AndAlso Row("Text") <> "" Then
|
||
rpt.txtInfo.Text &= vbNewLine & vbNewLine & Row("Text")
|
||
rpt.txtVermerk.Text = (If(Row("Text"), "").ToString.Trim & vbNewLine & vbNewLine & If(Row("Notiz"), "").ToString.Trim).ToString.Trim
|
||
Else
|
||
rpt.txtInfo.Text = ""
|
||
rpt.txtVermerk.Text = ""
|
||
End If
|
||
Else
|
||
rpt.txtInfo.Text = ""
|
||
rpt.txtVermerk.Text = ""
|
||
End If
|
||
|
||
'If If(ROW("RechnungsName 2") IsNot DBNull.Value, ROW("RechnungsName 2"), "") = "" Then
|
||
' rpt.lblRechnung_Name1.Text = ""
|
||
' rpt.lblRechnung_Name2.Text = ROW("RechnungsName 1")
|
||
'Else
|
||
' rpt.lblRechnung_Name1.Text = ROW("RechnungsName 1")
|
||
' rpt.lblRechnung_Name2.Text = If(ROW("RechnungsName 2") IsNot DBNull.Value, ROW("RechnungsName 2"), "")
|
||
'End If
|
||
|
||
'rpt.lblRechnung_Strasse.Text = If(ROW("RechnungsStraße") IsNot DBNull.Value, ROW("RechnungsStraße"), "")
|
||
'rpt.lblRechnung_Ort.Text = If(ROW("RechnungsOrt") IsNot DBNull.Value, ROW("RechnungsOrt"), "")
|
||
'rpt.lblRechnung_Land.Text = cProgramFunctions.getLandBez_fromISO1Land(ROW("RechnungsLandKz"), "", ROW("RechnungSprache")).ToString.ToUpper
|
||
|
||
|
||
If KD_RG IsNot Nothing AndAlso If(KD_RG.Steuernummer, "") <> String.Empty Then
|
||
If isMDMRechnungsdruck Then
|
||
rpt.lblRechnung_Steuernummer.Text = If(KD_RG.Steuernummer, "").ToString.Trim
|
||
Else
|
||
rpt.lblRechnung_Steuernummer.Text = If(KD_RG.LandKz, "") & " " & If(KD_RG.Steuernummer, "").ToString.Trim
|
||
' rpt.lblRechnung_UID.Text = If(KD_RG.UstIdKz, "") & " " & If(KD_RG.UstIdNr, "").ToString.Trim
|
||
|
||
End If
|
||
Else
|
||
rpt.lblRechnung_Steuernummer.Text = ""
|
||
' rpt.lblRechnung_UID.Text = ""
|
||
End If
|
||
rpt.lblRechnung_Steuernummer.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
rpt.lblRechnung_Steuernummer_Ueberschrift.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
|
||
rpt.lblRechnung_UID.Text = If(Row("RechnungsUstIdKz") IsNot DBNull.Value, Row("RechnungsUstIdKz"), "") & If(Row("RechnungsUstIdNr") IsNot DBNull.Value, Row("RechnungsUstIdNr"), "")
|
||
rpt.lblRechnung_UID.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
rpt.lblRechnung_UID_Ueberschrift.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
|
||
rpt.lblSteuerfreiUeberschrift.Visible = Not isMDMRechnungsdruck
|
||
rpt.lblSteuerpflichtigUeberschrift.Visible = Not isMDMRechnungsdruck
|
||
rpt.lblDurchlaufposten.Visible = isMDMRechnungsdruck
|
||
rpt.lblSteuerplichtUeberschriftMDM.Visible = isMDMRechnungsdruck
|
||
rpt.lblEORI.Visible = Not isMDMRechnungsdruck
|
||
rpt.lblEORIUeberschrift.Visible = Not isMDMRechnungsdruck
|
||
rpt.txtAbfertigungsart.Visible = Not isMDMRechnungsdruck
|
||
|
||
Dim sumSteuerpflichtig As Double = 0
|
||
Dim sumSteuerfrei As Double = 0
|
||
|
||
|
||
If Sammelrechnungskopie Then
|
||
Dim imageForWatermark As Image
|
||
Select Case Row("RechnungSprache")
|
||
Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY" : imageForWatermark = My.Resources.ungueltig_en
|
||
Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE" : imageForWatermark = My.Resources.ungueltig_de
|
||
End Select
|
||
|
||
If False Then 'deaktiviert weil nun doch nicht benötigt
|
||
If Rechnugnsdruck = 7 Then 'nur bei "Vorschaudruck"
|
||
rpt.Watermark = imageForWatermark
|
||
rpt.WatermarkSizeMode = GrapeCity.ActiveReports.SectionReportModel.SizeModes.Zoom
|
||
End If
|
||
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
'AddHandler rpt.ReportStart, Sub()
|
||
' If VorschauID = "PROVISIONSABRECHNUNG" Then
|
||
' Dim subRptProv = New rptSammelRechnungAnlagenDruck_ProvSum(rpt._LAN, VorschauID)
|
||
' rpt.SubReport1.Report = subRptProv
|
||
' rpt.SubReport1.Visible = True
|
||
' End If
|
||
' End Sub
|
||
|
||
AddHandler rpt.Detail.Format, Sub()
|
||
' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString
|
||
' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString
|
||
|
||
' rpt.lblLeistungNr.Text = checkNull(rpt.Fields.Item("LeistungsNr").Value)
|
||
' rpt.txtLeistung.Text = checkNull(rpt.Fields.Item("LeistungsBez").Value)
|
||
Dim RECHNUNG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(rpt.Fields.Item("RK_ID").Value)
|
||
If RECHNUNG IsNot Nothing Then
|
||
rpt.lblPosNr.Text = RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr & "/" & CDbl(If(RECHNUNG.SpeditionsbuchUnterNr, 0)).ToString("000")
|
||
rpt.lblDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString
|
||
|
||
Dim AbfertigungsBez = SQL.getValueTxtBySql("SELECT TOP 1 isnull(Abfertigungsbezeichnung,'') FROM [Speditionsbuch] inner join Abfertigungsarten ON Abfertigungsarten.Abfertigungsart=Speditionsbuch.Abfertigungsart WHERE FilialenNr='" & RECHNUNG.FilialenNr & "' AND AbfertigungsNr='" & RECHNUNG.AbfertigungsNr & "' AND UnterNr='" & RECHNUNG.SpeditionsbuchUnterNr & "'", "FMZOLL")
|
||
AbfertigungsBez = AbfertigungsBez.Replace("ZA", "Zollabfertigung")
|
||
AbfertigungsBez = AbfertigungsBez.Replace("AE", "Ausfuhrabfertigung")
|
||
AbfertigungsBez = AbfertigungsBez.Replace("T1", "T1 Versandschein")
|
||
AbfertigungsBez = AbfertigungsBez.Replace("T2", "T2 Versandschein")
|
||
rpt.txtAbfertigungsart.Text = AbfertigungsBez
|
||
|
||
rpt.txtPackstuecke.Text = ""
|
||
If If(RECHNUNG.Packstücke_und_Warenbezeichnung, "") <> "" Then rpt.txtPackstuecke.Text = RECHNUNG.Packstücke_und_Warenbezeichnung.replace(vbNewLine, ", ")
|
||
|
||
rpt.txtSendungsdetails.Text = ""
|
||
If RECHNUNG.AbsenderName_1 <> "" Then rpt.txtSendungsdetails.Text &= "Absender: " & RECHNUNG.AbsenderName_1 & " " & If(RECHNUNG.AbsenderName_2, "") & " " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
|
||
If RECHNUNG.EmpfängerName_1 <> "" Then rpt.txtSendungsdetails.Text &= "Empfänger: " & RECHNUNG.EmpfängerName_1 & " " & If(RECHNUNG.EmpfängerName_2, "") & " " & If(RECHNUNG.EmpfängerOrt, "") & vbNewLine
|
||
If RECHNUNG.LKW_Kennzeichen <> "" Then rpt.txtSendungsdetails.Text &= "LKW-Kennzeichen: " & RECHNUNG.LKW_Kennzeichen & vbNewLine
|
||
If RECHNUNG.BelegNr <> "" Then rpt.txtSendungsdetails.Text &= "Zollbeleg-Nr.: " & RECHNUNG.BelegNr & vbNewLine
|
||
|
||
If If(RECHNUNG.Handling, "") <> "" Then
|
||
rpt.txtSendungsdetails.Text &= "Handling: " & RECHNUNG.Handling.ToString.Replace(vbNewLine, ", ").Replace(vbCr, ", ").Replace(vbLf, ", ") & vbNewLine
|
||
End If
|
||
If True Then 'ANLAGEN
|
||
Dim Anlagen = ""
|
||
If If(RECHNUNG.Anlage_1, "") <> "" Then Anlagen &= RECHNUNG.Anlage_1 & ", "
|
||
If If(RECHNUNG.Anlage_2, "") <> "" Then Anlagen &= RECHNUNG.Anlage_2 & ", "
|
||
If If(RECHNUNG.Anlage_3, "") <> "" Then Anlagen &= RECHNUNG.Anlage_3 & ", "
|
||
If If(RECHNUNG.Anlage_4, "") <> "" Then Anlagen &= RECHNUNG.Anlage_4 & ", "
|
||
If If(RECHNUNG.Anlage_5, "") <> "" Then Anlagen &= RECHNUNG.Anlage_5 & ", "
|
||
If If(RECHNUNG.Anlage_6, "") <> "" Then Anlagen &= RECHNUNG.Anlage_6 & ", "
|
||
If Anlagen.EndsWith(", ") Then Anlagen = Anlagen.Substring(0, Anlagen.Length - 2)
|
||
If Anlagen.Replace(" ", "").Trim <> "" Then rpt.txtSendungsdetails.Text &= "Anlagen: " & Anlagen
|
||
End If
|
||
|
||
|
||
|
||
rpt.txtSendungsdetails.Text = rpt.txtSendungsdetails.Text.Trim
|
||
rpt.txtKdAuftragsnummer.Text = If(RECHNUNG.KdAuftragsNr, "")
|
||
|
||
Dim stPfl As Double = 0
|
||
Dim stFrei As Double = 0
|
||
|
||
Dim vorzeichen = If(If(RECHNUNG.Vorzeichen, "") = "-", -1, 1) 'Bei Rechnung als Klasse ist der Betrag immer positiv!
|
||
|
||
For Each p In RECHNUNG.POSITIONEN
|
||
If VorschauID = "PROVISIONSABRECHNUNG" Then
|
||
'Bei ProvAbr _> Nur Leistungen die als Provisionsabrechnung zählen!
|
||
If CBool(SQL.DLookup("Provisionsabrechnung", "Leistungen", "LeistungsNr='" & p.LeistungsNr & "'", "FMZOLL")) Then
|
||
stPfl += CDbl(p.SteuerpflichtigerBetrag)
|
||
stFrei += CDbl(p.SteuerfreierBetrag)
|
||
End If
|
||
Else
|
||
stPfl += CDbl(p.SteuerpflichtigerBetrag)
|
||
stFrei += CDbl(p.SteuerfreierBetrag)
|
||
End If
|
||
|
||
Next
|
||
stPfl *= vorzeichen
|
||
rpt.lblSteuerpflichtig.Text = If(stPfl <> 0, CDbl(stPfl).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
|
||
' stFrei = CDbl(RECHNUNG.SteuerfreierGesamtbetrag) * vorzeichen
|
||
stFrei = stFrei * vorzeichen
|
||
rpt.lblSteuerfrei.Text = If(stFrei <> 0, CDbl(stFrei).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
|
||
sumSteuerpflichtig += stPfl
|
||
sumSteuerfrei += stFrei
|
||
|
||
|
||
Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(RECHNUNG.RechnungsKundenNr)
|
||
If VorschauID = "PROVISIONSABRECHNUNG" Or KUNDE_ERW.kde_FakturierungSR_Details Or isMDMRechnungsdruck Then
|
||
Dim subRpt = New rptSammelRechnungAnlagenDruck_Leistungen(rpt._LAN, RECHNUNG, VorschauID)
|
||
|
||
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
|
||
|
||
AddHandler rpt.ReportFooter1.Format, Sub()
|
||
rpt.lblSteuerpflichtigGes.Text = If(sumSteuerpflichtig <> 0, (sumSteuerpflichtig).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
rpt.lblSteuerfreiGes.Text = If(sumSteuerfrei <> 0, (sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
|
||
|
||
Dim steuerProz As Double = 0
|
||
Dim steuerBez As String = ""
|
||
|
||
Dim dt2 As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & checkNull(rpt.Fields.Item("Steuerschlüssel").Value) & "'", "FMZOLL")
|
||
If dt2 IsNot Nothing AndAlso dt2.Rows.Count > 0 Then
|
||
steuerProz = dt2.Rows(0)(0)
|
||
steuerBez = dt2.Rows(0)(1)
|
||
End If
|
||
|
||
Dim tmpSteuerbetrag = CDbl((sumSteuerpflichtig * steuerProz))
|
||
If tmpSteuerbetrag = 0 Then
|
||
rpt.lblSteuerbetrag.Visible = False
|
||
rpt.lblSteuersatz.Visible = False
|
||
End If
|
||
|
||
rpt.lblSteuersatz.Text = steuerBez
|
||
rpt.lblSteuerbetrag.Text = If((sumSteuerpflichtig * steuerProz) <> 0, tmpSteuerbetrag.ToString("N2", CultureInfo.CurrentCulture), "")
|
||
rpt.lblZWSumme.Text = (sumSteuerpflichtig + sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblSumme.Text = (sumSteuerpflichtig + sumSteuerfrei + (sumSteuerpflichtig * steuerProz)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.Label46.Text = If(Row("Währungscode") IsNot DBNull.Value, Row("Währungscode"), "EUR")
|
||
|
||
If sumSteuerfrei = 0 Or sumSteuerpflichtig = 0 Then
|
||
rpt.lblZwText.Visible = False
|
||
rpt.lblZWSumme.Visible = False
|
||
End If
|
||
|
||
|
||
If VorschauID = "PROVISIONSABRECHNUNG" Then
|
||
Dim NettoGes = sumSteuerpflichtig + sumSteuerfrei
|
||
Dim ProvProzent As Double = KD_ERW_PROV.kde_Provisionsverguetung_ProzentDL
|
||
Dim ProvBetrag = NettoGes * ProvProzent
|
||
Dim subRptProv = New rptSammelRechnungAnlagenDruck_ProvSum(rpt._LAN, VorschauID)
|
||
subRptProv.lblNettoGes.Value = NettoGes.ToString("N2", CultureInfo.CurrentCulture)
|
||
subRptProv.lblProvProzent.Value = (ProvProzent * 100).ToString("N2", CultureInfo.CurrentCulture)
|
||
subRptProv.lblProvBetrag.Value = ProvBetrag.ToString("N2", CultureInfo.CurrentCulture)
|
||
subRptProv.lblProvBetragWaehr.Value = If(Row("Währungscode") IsNot DBNull.Value, CStr(Row("Währungscode")), "EUR")
|
||
|
||
|
||
rpt.SubReport1.Report = subRptProv
|
||
rpt.SubReport1.Visible = True
|
||
|
||
'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblNettoGes.Value = NettoGes.ToString("N2", CultureInfo.CurrentCulture)
|
||
'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblProvProzent.Value = (ProvProzent * 100).ToString("N2", CultureInfo.CurrentCulture)
|
||
'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblProvBetrag.Value = ProvBetrag.ToString("N2", CultureInfo.CurrentCulture)
|
||
'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblProvBetragWaehr.Value = If(Row("Währungscode") IsNot DBNull.Value, CStr(Row("Währungscode")), "EUR")
|
||
|
||
|
||
'rpt.SubReport1.Height = 100 ' nur falls nötig; sonst per Layout
|
||
Else
|
||
rpt.SubReport1.Report = Nothing
|
||
rpt.SubReport1.Visible = False
|
||
End If
|
||
End Sub
|
||
|
||
|
||
tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
Dim pEx As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
rpt.Run(False)
|
||
pEx.NeverEmbedFonts = ""
|
||
pEx.Export(rpt.Document, tmpPath)
|
||
|
||
|
||
If isMDMRechnungsdruck AndAlso SammelrechnungsDT IsNot Nothing AndAlso SammelrechnungsDT.Rows.Count > 0 Then
|
||
Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID)
|
||
Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD")
|
||
If enableZugpferd Then
|
||
tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(False, Nothing, SammelrechnungsDT, , rpt), "ZUGFeRD-invoice.xml")
|
||
Else
|
||
Dim Zugferdpath = createZUGFeRD(False, Nothing, SammelrechnungsDT,, rpt)
|
||
If Zugferdpath IsNot Nothing AndAlso Zugferdpath <> "" Then
|
||
Dim fileInfo_ZP As New FileInfo(Zugferdpath)
|
||
Dim ZUGF_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "ZUGFERD", Now().Year & "_SR", "", "", fileInfo_ZP.Name, -1, False)
|
||
ZUGF_DS.uploadDataToDATENSERVER(Zugferdpath, fileInfo_ZP.Name, fileInfo_ZP.Extension,,,, True)
|
||
End If
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
Return rpt
|
||
|
||
End Function
|
||
|
||
Shared Function SammelRechnungAnlagenDruck_MDM(Row As DataRow, isMDMRechnungsdruck As Boolean, dt As DataTable, Firma As cFirmen, Rechnugnsdruck As Integer, KD_RG As cAdressen, RechnungsNr As Integer, VorschauID As String, Sammelrechnungskopie As Boolean, RG_Bezeichnung As String, SammelrechnungsDT As DataTable, ByRef tmpPath As String) As GrapeCity.ActiveReports.SectionReport
|
||
|
||
Dim rpt As New rptSammelRechnungAnlagenDruck_MDM(Row("RechnungSprache"))
|
||
|
||
rpt.DataSource = dt
|
||
|
||
Select Case Row("RechnungSprache")
|
||
Case "EN"
|
||
Select Case Row("BelegartenKz")
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Attatchment to INVOICE", "INVOICE")
|
||
rpt.lblSummeUeberschrift.Text = "Invoice Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Invoice No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Invoice Date:"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Attatchment to CREDIT NOTE", "CREDIT NOTE")
|
||
rpt.lblSummeUeberschrift.Text = "Credit Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Credit Note No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Credit Note Date:"
|
||
End Select
|
||
Case Else
|
||
Select Case Row("BelegartenKz")
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Anlage zur Sammelrechnung", "Rechnung")
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = IIf(Not isMDMRechnungsdruck, "Anlage zur Sammelgutschrift", "GUTSCHRIFT")
|
||
rpt.lblSummeUeberschrift.Text = "Gutschriftsbetrag:"
|
||
rpt.lblRgNrUeberschrift.Text = "Gutschrifts-Nr.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Gutschrifts-Datum:"
|
||
End Select
|
||
End Select
|
||
|
||
|
||
|
||
|
||
|
||
initRgFirmaSammelRg_MDM_Bericht(rpt, Firma, RechnungsNr, Row("RechnungsLandKz"), Row("Buchungsjahr"))
|
||
|
||
Select Case Row("Firma_ID")
|
||
Case 1 ' rpt.picVERAG.Image= My.Resources.Verag_AG_Logo : rpt.Picture1.Image = My.Resources.aeo_AT_imex is eh standard
|
||
Case 4 : rpt.picVERAG.Image = My.Resources.Verag_AG_Logo : rpt.Picture1.Image = Nothing
|
||
Case 7 : rpt.picVERAG.Image = My.Resources.Atilla_big_med : rpt.Picture1.Image = Nothing
|
||
Case 11 : rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo : rpt.Picture1.Image = My.Resources.aeo_CS
|
||
Case 19 : rpt.picVERAG.Image = My.Resources.VERAG_360 : rpt.Picture1.Image = Nothing
|
||
Case 20 : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Picture1.Image = My.Resources.aeo_AT_imex
|
||
Case 21 : rpt.picVERAG.Image = My.Resources.Unisped_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_AT
|
||
Case 22 : rpt.picVERAG.Image = My.Resources.Unisped_DE_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_DE
|
||
Case 23 : rpt.picVERAG.Image = My.Resources.Unisped_ZS_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_ZS_AT
|
||
Case 24 : rpt.picVERAG.Image = My.Resources.ambar_simple : rpt.Picture1.Image = Nothing
|
||
Case 26 : rpt.picVERAG.Image = My.Resources.VERAG_UNISPED_Logo : rpt.Picture1.Image = Nothing
|
||
Case 17 : rpt.picVERAG.Image = My.Resources.FrontOfficeSUB_Horizontal : rpt.Picture1.Image = Nothing
|
||
End Select
|
||
|
||
|
||
rpt.lblKundenNr.Text = If(Row("RechnungsKundenNr") > 0, Row("RechnungsKundenNr"), "")
|
||
rpt.lblRgNr.Text = If(Row("RechnungsNr") IsNot DBNull.Value, addYeartoRgNr(Firma.Firma_ID, Row("Buchungsjahr")) & Row("RechnungsNr"), "Vorschau")
|
||
rpt.lblRgDatum.Text = If(Row("RechnungsDatum") IsNot DBNull.Value, Row("RechnungsDatum"), "Vorschau")
|
||
|
||
'rpt.lblKundenAuftragsnummer.Text = If(RECHNUNG.KdAuftragsNr, "")
|
||
'If rpt.lblKundenAuftragsnummer.Text = String.Empty Then rpt.lblKundenAuftragsnummerUeberschrift.Visible = False
|
||
|
||
'rpt.lblAbfertigungsNr.Text = ROW("FilialenNr") & " / " & ROW("AbfertigungsNr") & " " & ROW("SpeditionsbuchUnterNr").ToString("00")
|
||
'rpt.lblAbfertigungsDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString
|
||
'rpt.lblLKWId.Text = If(RECHNUNG.AvisoID, "")
|
||
|
||
Dim sachbearbeiterAufRechnung = getSBRgName(Row("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, Row("Sachbearbeiter").ToString.ToUpper)
|
||
|
||
If sachbearbeiterAufRechnung = "" Then
|
||
rpt.lblSachbearbeiter.Text = getSBRgName(Row("Firma_ID"), Row("Sachbearbeiter").ToString.ToUpper)
|
||
Else
|
||
rpt.lblSachbearbeiter.Text = sachbearbeiterAufRechnung
|
||
End If
|
||
'könnten ja mehrerer SB die Rg-Anlagen geschreiben haben - NEU
|
||
|
||
'könnten ja mehrerer SB die Rg-Anlagen geschreiben haben
|
||
rpt.lblFirmenbuch.Text = If(Firma.Firma_Firmenbuch, "").ToString.Replace("Firmenbuch: ", "").Trim
|
||
rpt.lblUID.Text = If(Firma.Firma_UID, "").ToString.Replace("UID: ", "").Trim
|
||
rpt.lblEORI.Text = If(Firma.Firma_EORI, "")
|
||
|
||
'rpt.txtKdAuftragsnummer.Text = If(Row("KdAuftragsNr") IsNot DBNull.Value, Row("KdAuftragsNr"), "")
|
||
|
||
|
||
rpt.lblRechnungAn.Text = Row("RechnungsName 1") & vbNewLine
|
||
If Row("RechnungsName 2") IsNot DBNull.Value AndAlso Row("RechnungsName 2") <> "" Then rpt.lblRechnungAn.Text &= Row("RechnungsName 2") & vbNewLine
|
||
If Row("RechnungsName_AdressZusatz") IsNot DBNull.Value AndAlso Row("RechnungsName_AdressZusatz") <> "" Then rpt.lblRechnungAn.Text &= Row("RechnungsName_AdressZusatz") & vbNewLine
|
||
If Row("RechnungsStraße") IsNot DBNull.Value AndAlso Row("RechnungsStraße") <> "" Then rpt.lblRechnungAn.Text &= Row("RechnungsStraße") & vbNewLine
|
||
If Row("RechnungsOrt") IsNot DBNull.Value AndAlso Row("RechnungsOrt") <> "" Then rpt.lblRechnungAn.Text &= Row("RechnungsOrt") & vbNewLine
|
||
If Row("RechnungsLandKz") IsNot DBNull.Value AndAlso Row("RechnungsLandKz") <> "" Then rpt.lblRechnungAn.Text &= cProgramFunctions.getLandBez_fromISO1Land(Row("RechnungsLandKz"), "", Row("RechnungSprache")).ToString.ToUpper
|
||
|
||
If isMDMRechnungsdruck Then
|
||
|
||
If getReverseChargeSumme(Firma, Row("RechnungsLandKz"), Row("RechnungsNr"), Row("RechnungsDatum"), VorschauID) > 0 Then
|
||
Select Case Row("RechnungSprache")
|
||
Case "EN" : rpt.txtInfo.Text = vbNewLine & vbNewLine & "The VAT liability is transferred to the recipient of the service (reverse charge system)." '"Attention! For EU customers! Since 1.1.2010, services are subject to the application of the reverse charge procedure. Transfer of the tax liability to the recipient of the service."
|
||
Case Else : rpt.txtInfo.Text = vbNewLine & vbNewLine & "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)." '"Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger."
|
||
End Select
|
||
Else : rpt.txtInfo.Text = "" : End If
|
||
|
||
If Row("Nettozahlungsziel") IsNot DBNull.Value AndAlso IsNumeric(Row("Nettozahlungsziel")) Then
|
||
rpt.Label2.Text = Row("Nettozahlungsziel")
|
||
Else
|
||
rpt.Label2.Text = ""
|
||
End If
|
||
|
||
If Row("Text") IsNot DBNull.Value AndAlso Row("Text") <> "" Then
|
||
rpt.txtInfo.Text &= vbNewLine & vbNewLine & Row("Text")
|
||
rpt.txtVermerk.Text = (If(Row("Text"), "").ToString.Trim & vbNewLine & vbNewLine & If(Row("Notiz"), "").ToString.Trim).ToString.Trim
|
||
Else
|
||
rpt.txtInfo.Text = ""
|
||
rpt.txtVermerk.Text = ""
|
||
End If
|
||
Else
|
||
rpt.txtInfo.Text = ""
|
||
rpt.txtVermerk.Text = ""
|
||
End If
|
||
|
||
|
||
If KD_RG IsNot Nothing AndAlso If(KD_RG.Steuernummer, "") <> String.Empty Then
|
||
If isMDMRechnungsdruck Then
|
||
rpt.lblRechnung_Steuernummer.Text = If(KD_RG.Steuernummer, "").ToString.Trim
|
||
Else
|
||
rpt.lblRechnung_Steuernummer.Text = If(KD_RG.LandKz, "") & " " & If(KD_RG.Steuernummer, "").ToString.Trim
|
||
' rpt.lblRechnung_UID.Text = If(KD_RG.UstIdKz, "") & " " & If(KD_RG.UstIdNr, "").ToString.Trim
|
||
|
||
End If
|
||
Else
|
||
rpt.lblRechnung_Steuernummer.Text = ""
|
||
' rpt.lblRechnung_UID.Text = ""
|
||
End If
|
||
rpt.lblRechnung_Steuernummer.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
rpt.lblRechnung_Steuernummer_Ueberschrift.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
|
||
rpt.lblRechnung_UID.Text = If(Row("RechnungsUstIdKz") IsNot DBNull.Value, Row("RechnungsUstIdKz"), "") & If(Row("RechnungsUstIdNr") IsNot DBNull.Value, Row("RechnungsUstIdNr"), "")
|
||
rpt.lblRechnung_UID.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
rpt.lblRechnung_UID_Ueberschrift.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
|
||
rpt.lblDurchlaufposten.Visible = isMDMRechnungsdruck
|
||
rpt.lblSteuerplichtUeberschriftMDM.Visible = isMDMRechnungsdruck
|
||
rpt.lblEORI.Visible = Not isMDMRechnungsdruck
|
||
rpt.lblEORIUeberschrift.Visible = Not isMDMRechnungsdruck
|
||
'rpt.txtAbfertigungsart.Visible = Not isMDMRechnungsdruck
|
||
|
||
Dim sumSteuerpflichtig As Double = 0
|
||
Dim sumSteuerfrei As Double = 0
|
||
|
||
|
||
If Sammelrechnungskopie Then
|
||
Dim imageForWatermark As Image
|
||
Select Case Row("RechnungSprache")
|
||
Case "EN" : rpt.lblUeberschriftRG_GS.Text &= " - COPY" : imageForWatermark = My.Resources.ungueltig_en
|
||
Case Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE" : imageForWatermark = My.Resources.ungueltig_de
|
||
End Select
|
||
|
||
If False Then 'deaktiviert weil nun doch nicht benötigt
|
||
If Rechnugnsdruck = 7 Then 'nur bei "Vorschaudruck"
|
||
rpt.Watermark = imageForWatermark
|
||
rpt.WatermarkSizeMode = GrapeCity.ActiveReports.SectionReportModel.SizeModes.Zoom
|
||
End If
|
||
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
AddHandler rpt.Detail.Format, Sub()
|
||
' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString
|
||
' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString
|
||
|
||
' rpt.lblLeistungNr.Text = checkNull(rpt.Fields.Item("LeistungsNr").Value)
|
||
' rpt.txtLeistung.Text = checkNull(rpt.Fields.Item("LeistungsBez").Value)
|
||
Dim RECHNUNG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(rpt.Fields.Item("RK_ID").Value)
|
||
If RECHNUNG IsNot Nothing Then
|
||
rpt.lblPosNr.Text = RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr & "/" & CDbl(If(RECHNUNG.SpeditionsbuchUnterNr, 0)).ToString("000")
|
||
rpt.lblDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString
|
||
|
||
Dim AbfertigungsBez = SQL.getValueTxtBySql("SELECT TOP 1 isnull(Abfertigungsbezeichnung,'') FROM [Speditionsbuch] inner join Abfertigungsarten ON Abfertigungsarten.Abfertigungsart=Speditionsbuch.Abfertigungsart WHERE FilialenNr='" & RECHNUNG.FilialenNr & "' AND AbfertigungsNr='" & RECHNUNG.AbfertigungsNr & "' AND UnterNr='" & RECHNUNG.SpeditionsbuchUnterNr & "'", "FMZOLL")
|
||
AbfertigungsBez = AbfertigungsBez.Replace("ZA", "Zollabfertigung")
|
||
AbfertigungsBez = AbfertigungsBez.Replace("AE", "Ausfuhrabfertigung")
|
||
AbfertigungsBez = AbfertigungsBez.Replace("T1", "T1 Versandschein")
|
||
AbfertigungsBez = AbfertigungsBez.Replace("T2", "T2 Versandschein")
|
||
'rpt.txtAbfertigungsart.Text = AbfertigungsBez
|
||
|
||
'rpt.txtPackstuecke.Text = ""
|
||
'If If(RECHNUNG.Packstücke_und_Warenbezeichnung, "") <> "" Then rpt.txtPackstuecke.Text = RECHNUNG.Packstücke_und_Warenbezeichnung.replace(vbNewLine, ", ")
|
||
|
||
'rpt.txtSendungsdetails.Text = ""
|
||
'If RECHNUNG.AbsenderName_1 <> "" Then rpt.txtSendungsdetails.Text &= "Absender: " & RECHNUNG.AbsenderName_1 & " " & If(RECHNUNG.AbsenderName_2, "") & " " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine
|
||
'If RECHNUNG.EmpfängerName_1 <> "" Then rpt.txtSendungsdetails.Text &= "Empfänger: " & RECHNUNG.EmpfängerName_1 & " " & If(RECHNUNG.EmpfängerName_2, "") & " " & If(RECHNUNG.EmpfängerOrt, "") & vbNewLine
|
||
'If RECHNUNG.LKW_Kennzeichen <> "" Then rpt.txtSendungsdetails.Text &= "LKW-Kennzeichen: " & RECHNUNG.LKW_Kennzeichen & vbNewLine
|
||
'If RECHNUNG.BelegNr <> "" Then rpt.txtSendungsdetails.Text &= "Zollbeleg-Nr.: " & RECHNUNG.BelegNr & vbNewLine
|
||
|
||
If If(RECHNUNG.Handling, "") <> "" Then
|
||
' rpt.txtSendungsdetails.Text &= "Handling: " & RECHNUNG.Handling.ToString.Replace(vbNewLine, ", ").Replace(vbCr, ", ").Replace(vbLf, ", ") & vbNewLine
|
||
End If
|
||
If True Then 'ANLAGEN
|
||
Dim Anlagen = ""
|
||
If If(RECHNUNG.Anlage_1, "") <> "" Then Anlagen &= RECHNUNG.Anlage_1 & ", "
|
||
If If(RECHNUNG.Anlage_2, "") <> "" Then Anlagen &= RECHNUNG.Anlage_2 & ", "
|
||
If If(RECHNUNG.Anlage_3, "") <> "" Then Anlagen &= RECHNUNG.Anlage_3 & ", "
|
||
If If(RECHNUNG.Anlage_4, "") <> "" Then Anlagen &= RECHNUNG.Anlage_4 & ", "
|
||
If If(RECHNUNG.Anlage_5, "") <> "" Then Anlagen &= RECHNUNG.Anlage_5 & ", "
|
||
If If(RECHNUNG.Anlage_6, "") <> "" Then Anlagen &= RECHNUNG.Anlage_6 & ", "
|
||
If Anlagen.EndsWith(", ") Then Anlagen = Anlagen.Substring(0, Anlagen.Length - 2)
|
||
'If Anlagen.Replace(" ", "").Trim <> "" Then 'rpt.txtSendungsdetails.Text &= "Anlagen: " & Anlagen
|
||
End If
|
||
|
||
|
||
|
||
'rpt.txtSendungsdetails.Text = rpt.txtSendungsdetails.Text.Trim
|
||
'rpt.txtKdAuftragsnummer.Text = If(RECHNUNG.KdAuftragsNr, "")
|
||
|
||
Dim stPfl As Double = 0
|
||
Dim stFrei As Double = 0
|
||
|
||
Dim vorzeichen = If(If(RECHNUNG.Vorzeichen, "") = "-", -1, 1) 'Bei Rechnung als Klasse ist der Betrag immer positiv!
|
||
|
||
For Each p In RECHNUNG.POSITIONEN
|
||
stPfl += CDbl(p.SteuerpflichtigerBetrag)
|
||
Next
|
||
stPfl *= vorzeichen
|
||
rpt.lblSteuerpflichtig.Text = If(stPfl <> 0, CDbl(stPfl).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
|
||
stFrei = CDbl(RECHNUNG.SteuerfreierGesamtbetrag) * vorzeichen
|
||
rpt.lblSteuerfrei.Text = If(stFrei <> 0, CDbl(stFrei).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
|
||
sumSteuerpflichtig += stPfl
|
||
sumSteuerfrei += stFrei
|
||
|
||
|
||
Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(RECHNUNG.RechnungsKundenNr)
|
||
If KUNDE_ERW.kde_FakturierungSR_Details OrElse isMDMRechnungsdruck Then
|
||
Dim subRpt = New rptSammelRechnungAnlagenDruck_Leistungen(rpt._LAN, RECHNUNG, VorschauID)
|
||
|
||
|
||
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
|
||
|
||
AddHandler rpt.ReportFooter1.Format, Sub()
|
||
rpt.lblSteuerpflichtigGes.Text = If(sumSteuerpflichtig <> 0, (sumSteuerpflichtig).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
rpt.lblSteuerfreiGes.Text = If(sumSteuerfrei <> 0, (sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
|
||
|
||
Dim steuerProz As Double = 0
|
||
Dim steuerBez As String = ""
|
||
|
||
Dim dt2 As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & checkNull(rpt.Fields.Item("Steuerschlüssel").Value) & "'", "FMZOLL")
|
||
If dt2 IsNot Nothing AndAlso dt2.Rows.Count > 0 Then
|
||
steuerProz = dt2.Rows(0)(0)
|
||
steuerBez = dt2.Rows(0)(1)
|
||
End If
|
||
|
||
Dim tmpSteuerbetrag = CDbl((sumSteuerpflichtig * steuerProz))
|
||
If tmpSteuerbetrag = 0 Then
|
||
rpt.lblSteuerbetrag.Visible = False
|
||
rpt.lblSteuersatz.Visible = False
|
||
End If
|
||
|
||
rpt.lblSteuersatz.Text = steuerBez
|
||
rpt.lblSteuerbetrag.Text = If((sumSteuerpflichtig * steuerProz) <> 0, tmpSteuerbetrag.ToString("N2", CultureInfo.CurrentCulture), "")
|
||
rpt.lblZWSumme.Text = (sumSteuerpflichtig + sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblSumme.Text = (sumSteuerpflichtig + sumSteuerfrei + (sumSteuerpflichtig * steuerProz)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.Label46.Text = If(Row("Währungscode") IsNot DBNull.Value, Row("Währungscode"), "EUR")
|
||
|
||
If sumSteuerfrei = 0 Or sumSteuerpflichtig = 0 Then
|
||
rpt.lblZwText.Visible = False
|
||
rpt.lblZWSumme.Visible = False
|
||
End If
|
||
|
||
End Sub
|
||
|
||
|
||
If Rechnugnsdruck = 4 Or Rechnugnsdruck = 2 Then
|
||
If Row("RechnungsLandKz") IsNot DBNull.Value AndAlso Row("RechnungsLandKz") <> "" AndAlso rpt.lblSteuerbetrag.Text = "" Then
|
||
rpt.txtInfo.Text &= vbNewLine & vbNewLine & (New SQL).getValueTxtBySql("SELECT Text FROM Rechnungstexte WHERE Firma_ID=0 AND EMailRechnung=1 AND Rechnungstexte.DrucksteuerungsKz='R' AND LandKZ='" & Row("RechnungsLandKz") & "'", "FMZOLL")
|
||
End If
|
||
End If
|
||
|
||
tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
Dim pEx As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
rpt.Run(False)
|
||
pEx.NeverEmbedFonts = ""
|
||
pEx.Export(rpt.Document, tmpPath)
|
||
|
||
|
||
Return rpt
|
||
|
||
End Function
|
||
|
||
|
||
|
||
Shared Function getSBRgName(Firma_id As Integer, USRKURZNAME As String, Optional NameAufBeleg As String = "") As String
|
||
|
||
If USRKURZNAME Is Nothing Then Return ""
|
||
If USRKURZNAME Is DBNull.Value Then Return ""
|
||
|
||
If NameAufBeleg <> "" Then
|
||
USRKURZNAME = NameAufBeleg
|
||
End If
|
||
|
||
If USRKURZNAME = "" Then USRKURZNAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
||
Dim txt = SQL.getValueTxtBySql("SELECT top 1 CASE WHEN mit_geschlecht='w' THEN 'Frau ' ELSE (CASE WHEN mit_geschlecht='m' THEN 'Herr ' ELSE '' END ) END + mit_nname FROM [tblMitarbeiter] WHERE [mit_username]='" & USRKURZNAME & "' ", "ADMIN")
|
||
If txt <> "" Then Return txt
|
||
Return USRKURZNAME
|
||
End Function
|
||
|
||
Shared Function getSBRgNameByMaId(Firma_id As Integer, MAID As Integer) As String
|
||
|
||
If MAID <= 0 Then Return ""
|
||
Dim txt = SQL.getValueTxtBySql("SELECT top 1 CASE WHEN mit_geschlecht='w' THEN 'Frau ' ELSE (CASE WHEN mit_geschlecht='m' THEN 'Herr ' ELSE '' END ) END + mit_nname FROM [tblMitarbeiter] WHERE [mit_id]='" & MAID & "' ", "ADMIN")
|
||
Return txt
|
||
|
||
End Function
|
||
|
||
|
||
Shared Function getSBRgName_FirmaPruef(Firma_id As Integer, USRKURZNAME As String) As String
|
||
Dim firma = ""
|
||
Select Case Firma_id
|
||
Case 20
|
||
firma = "'IMEX'"
|
||
Case 21
|
||
firma = "'UNISPED'"
|
||
Case Else
|
||
firma = "'VERAG','ALL'"
|
||
End Select
|
||
|
||
If USRKURZNAME Is Nothing Then Return ""
|
||
If USRKURZNAME Is DBNull.Value Then Return ""
|
||
If USRKURZNAME = "" Then USRKURZNAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
||
Dim txt = SQL.getValueTxtBySql("SELECT CASE WHEN mit_geschlecht='w' THEN 'Frau ' ELSE (CASE WHEN mit_geschlecht='m' THEN 'Herr ' ELSE '' END ) END + mit_nname FROM [tblMitarbeiter] WHERE [mit_username]='" & USRKURZNAME & "' AND [mit_firma] IN (" & firma & ")", "ADMIN")
|
||
If txt <> "" Then Return txt
|
||
Return USRKURZNAME
|
||
End Function
|
||
|
||
Shared Function addYeartoRgNr(Firma_ID, Buchungsjahr)
|
||
Select Case Firma_ID
|
||
Case "21", "22", "23" : Return Buchungsjahr.ToString.Substring(2) & "-"
|
||
End Select
|
||
Return ""
|
||
End Function
|
||
|
||
Shared Function doSAMMELRechnungDruck_Rechnungsdruck(dt As DataTable, RechnungsNr As Integer, DruckdatumUhrzeit As Date, Rgstatus As Integer, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional PrinterName As String = "", Optional SRDruckWiederholen As Boolean = False, Optional VorschauID As String = "", Optional mergePDF 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
|
||
Try
|
||
|
||
|
||
Dim ROW As DataRow = dt.Rows(0)
|
||
Dim rpt As New rptSammelRechnungDruck(ROW("RechnungSprache"))
|
||
|
||
Dim firmaID = ROW("Firma_ID")
|
||
|
||
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(firmaID)
|
||
Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
|
||
|
||
Dim isMDMRechnungsdruck = checkIfMDMSammelrechnung(Rechnugnsdruck, ROW("Status"))
|
||
|
||
If FIRMA Is Nothing Then MsgBox("Keine Firma gewählt!") : Return False
|
||
|
||
|
||
' Dim dataView As New DataView(dtDataSource)
|
||
' dataView.Sort = " LeistungsNr "
|
||
' Dim dtTmp As DataTable = dataView.ToTable()
|
||
|
||
' rpt.DataSource = SQL.loadDgvBySql("SELECT * FROM [Rechnungsausgangpositionen] where RK_ID ='" & RECHNUNG.RK_ID & "' ", "FMZOLL")
|
||
rpt.DataSource = dt
|
||
|
||
'' MsgBox(rpt.DataSource.rows.count)
|
||
'If rpt.DataSource.rows.count = 0 Then
|
||
' rpt.Dispose()
|
||
' MsgBox("Keine Daten vorhanden!")
|
||
' Return False
|
||
'End If
|
||
|
||
Dim sum = 0
|
||
'Select Case RECHNUNG.[BelegartenKz]
|
||
' Case "AR"
|
||
' rpt.lblUeberschriftRG_GS.Text = "RECHNUNG"
|
||
' Case "AG"
|
||
' rpt.lblUeberschriftRG_GS.Text = "GUTSCHRIFT"
|
||
' rpt.Label9.Text = "Gutschriftsbetrag:"
|
||
' rpt.Label16.Text = "Gutschrifts-Nr.:"
|
||
'End Select
|
||
|
||
'If RECHNUNG.DruckDatumZeit IsNot Nothing Then rpt.lblUeberschriftRG_GS.Text &= " - KOPIE"
|
||
|
||
|
||
' Dim Gesamt_RG_Betrag As Double = 0
|
||
Dim Gesamt_RG_Betrag As Double = CDbl(dt.Compute("SUM(SteuerFreierBetrag)", "")) + CDbl(dt.Compute("SUM(SteuerpflichtigerBetrag)", ""))
|
||
|
||
' If ROW("SteuerFreierBetrag") IsNot DBNull.Value AndAlso IsNumeric(ROW("SteuerFreierBetrag")) Then Gesamt_RG_Betrag += ROW("SteuerFreierBetrag")
|
||
'If ROW("SteuerpflichtigerBetrag") IsNot DBNull.Value AndAlso IsNumeric(ROW("SteuerpflichtigerBetrag")) Then Gesamt_RG_Betrag += ROW("SteuerpflichtigerBetrag")
|
||
Dim BelegartenKz = If(Gesamt_RG_Betrag < 0, "AG", "AR")
|
||
|
||
Select Case ROW("RechnungSprache")
|
||
Case "EN"
|
||
' MsgBox(("EN"))
|
||
Select Case BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "COLLECTIVE INVOICE"
|
||
rpt.lblSummeUeberschrift.Text = "Invoice Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Invoice No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Invoice Date:"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "CREDIT NOTE"
|
||
rpt.lblSummeUeberschrift.Text = "Credit Amount:"
|
||
rpt.lblRgNrUeberschrift.Text = "Credit Note No.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Credit Note Date:"
|
||
End Select
|
||
Case Else
|
||
Select Case BelegartenKz
|
||
Case "AR"
|
||
rpt.lblUeberschriftRG_GS.Text = "SAMMELRECHNUNG"
|
||
Case "AG"
|
||
rpt.lblUeberschriftRG_GS.Text = "GUTSCHRIFT"
|
||
rpt.lblSummeUeberschrift.Text = "Gutschriftsbetrag:"
|
||
rpt.lblRgNrUeberschrift.Text = "Gutschrifts-Nr.:"
|
||
rpt.lblRgDatumUeberschrift.Text = "Gutschrifts-Datum:"
|
||
End Select
|
||
|
||
End Select
|
||
|
||
initRgFirmaSammelRg(rpt, FIRMA, RechnungsNr, ROW("LandKz"), ROW("Buchungsjahr"))
|
||
|
||
'rpt.lblFirmaOrt.Text = If(FIRMA.Firma_Ort, "")
|
||
'rpt.lblFirmaStrasse.Text = If(FIRMA.Firma_Straße, "")
|
||
'rpt.lblFirmaTel.Text = If(FIRMA.Firma_Telefon, "")
|
||
'rpt.lblFirmaFax.Text = If(FIRMA.Firma_Telefax, "")
|
||
'rpt.lblFirmaEmail.Text = If(FIRMA.Firma_E_Mail, "")
|
||
|
||
Select Case ROW("Firma_ID")
|
||
Case 1 ' rpt.picVERAG.Image= My.Resources.Verag_AG_Logo : rpt.Picture1.Image = My.Resources.aeo_AT_imex is eh standard
|
||
Case 4 : rpt.picVERAG.Image = My.Resources.Verag_AG_Logo : rpt.Picture1.Image = Nothing
|
||
Case 7 : rpt.picVERAG.Image = My.Resources.Atilla_big_med : rpt.Picture1.Image = Nothing
|
||
Case 11 : rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo : rpt.Picture1.Image = My.Resources.aeo_CS
|
||
Case 19 : rpt.picVERAG.Image = My.Resources.VERAG_360 : rpt.Picture1.Image = Nothing
|
||
Case 20 : rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple : rpt.Picture1.Image = My.Resources.aeo_AT_imex
|
||
Case 21 : rpt.picVERAG.Image = My.Resources.Unisped_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_AT
|
||
Case 22 : rpt.picVERAG.Image = My.Resources.Unisped_DE_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_DE
|
||
Case 23 : rpt.picVERAG.Image = My.Resources.Unisped_ZS_logo : rpt.Picture1.Image = My.Resources.unisped_aeo_ZS_AT
|
||
Case 24 : rpt.picVERAG.Image = My.Resources.ambar_boarder : rpt.Picture1.Image = Nothing
|
||
Case 26 : rpt.picVERAG.Image = My.Resources.VERAG_UNISPED_Logo : rpt.Picture1.Image = Nothing
|
||
Case 17 : rpt.picVERAG.Image = My.Resources.FrontOfficeSUB_Horizontal : rpt.Picture1.Image = Nothing
|
||
End Select
|
||
|
||
|
||
Dim strText = ""
|
||
If ROW("Lastschrift") Then
|
||
strText = "Der Rechnungsbetrag wurde durch Lastschrift eingezogen."
|
||
End If
|
||
rpt.txtVermerk.Text = strText
|
||
|
||
|
||
|
||
Dim ZZTage = 10
|
||
Dim ZZKdZahlungsziel = SQL.DLookup("Zahlungsziel", "Kunden", "Kundennr=" & ROW("RechnungsKundenNr"), "FMZOLL", 10)
|
||
If ZZKdZahlungsziel IsNot Nothing AndAlso IsNumeric(ZZKdZahlungsziel) Then
|
||
ZZTage = ZZKdZahlungsziel
|
||
End If
|
||
Select Case ROW("RechnungSprache")
|
||
Case "EN" : rpt.Label2.Text = ZZTage & " Days" : rpt.Label1.Text = "Payment target:"
|
||
Case Else : rpt.Label2.Text = ZZTage & " Tage"
|
||
End Select
|
||
Select Case ROW("Firma_ID")
|
||
Case 21, 22, 23, 24, 26 : rpt.Label1.Visible = False : rpt.Label2.Visible = False
|
||
End Select
|
||
|
||
|
||
rpt.lblKundenNr.Text = If(ROW("RechnungsKundenNr") > 0, ROW("RechnungsKundenNr"), "")
|
||
rpt.lblRgNr.Text = If(ROW("RechnungsNr") IsNot DBNull.Value, addYeartoRgNr(FIRMA.Firma_ID, ROW("Buchungsjahr")) & ROW("RechnungsNr"), "Vorschau")
|
||
rpt.lblRgDatum.Text = If(ROW("RechnungsDatum") IsNot DBNull.Value, ROW("RechnungsDatum"), "Vorschau")
|
||
|
||
'rpt.lblKundenAuftragsnummer.Text = If(RECHNUNG.KdAuftragsNr, "")
|
||
'If rpt.lblKundenAuftragsnummer.Text = String.Empty Then rpt.lblKundenAuftragsnummerUeberschrift.Visible = False
|
||
|
||
'rpt.lblAbfertigungsNr.Text = ROW("FilialenNr") & " / " & ROW("AbfertigungsNr") & " " & ROW("SpeditionsbuchUnterNr").ToString("00")
|
||
'rpt.lblAbfertigungsDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString
|
||
'rpt.lblLKWId.Text = If(RECHNUNG.AvisoID, "")
|
||
Dim sachbearbeiterAufRechnung = getSBRgName(ROW("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, ROW("Sachbearbeiter"))
|
||
rpt.lblSachbearbeiter.Text = IIf(sachbearbeiterAufRechnung = "Herr Ordu", "Verrechnung", sachbearbeiterAufRechnung) 'könnten ja mehrerer SB die Rg-Anlagen geschreiben haben - NEU
|
||
|
||
'rpt.lblSachbearbeiter.Text = getSBRgName(ROW("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME) 'könnten ja mehrerer SB die Rg-Anlagen geschreiben haben - ALT
|
||
|
||
|
||
|
||
'rpt.lblFirmenbuch.Text = If(FIRMA.Firma_Firmenbuch, "").ToString.Replace("Firmenbuch: ", "").Trim
|
||
'rpt.lblUID.Text = If(FIRMA.Firma_UID, "")
|
||
'rpt.lblEORI.Text = If(FIRMA.Firma_EORI, "")
|
||
rpt.lblLKWId.Text = getLKWID(RechnungsNr, DruckdatumUhrzeit, Rgstatus)
|
||
rpt.lblLKWIdUebeschrift.Visible = (rpt.lblLKWId.Text.Trim <> "")
|
||
|
||
|
||
rpt.lblRechnungAn.Text = ROW("RechnungsName 1") & vbNewLine
|
||
If ROW("RechnungsName 2") IsNot DBNull.Value AndAlso ROW("RechnungsName 2") <> "" Then rpt.lblRechnungAn.Text &= ROW("RechnungsName 2") & vbNewLine
|
||
If ROW("RechnungsName_AdressZusatz") IsNot DBNull.Value AndAlso ROW("RechnungsName_AdressZusatz") <> "" Then rpt.lblRechnungAn.Text &= ROW("RechnungsName_AdressZusatz") & vbNewLine
|
||
If ROW("RechnungsStraße") IsNot DBNull.Value AndAlso ROW("RechnungsStraße") <> "" Then rpt.lblRechnungAn.Text &= ROW("RechnungsStraße") & vbNewLine
|
||
If ROW("RechnungsOrt") IsNot DBNull.Value AndAlso ROW("RechnungsOrt") <> "" Then rpt.lblRechnungAn.Text &= ROW("RechnungsOrt") & vbNewLine
|
||
If ROW("RechnungsLandKz") IsNot DBNull.Value AndAlso ROW("RechnungsLandKz") <> "" Then rpt.lblRechnungAn.Text &= cProgramFunctions.getLandBez_fromISO1Land(ROW("RechnungsLandKz"), "", ROW("RechnungSprache")).ToString.ToUpper
|
||
|
||
'If If(ROW("RechnungsName 2") IsNot DBNull.Value, ROW("RechnungsName 2"), "") = "" Then
|
||
' rpt.lblRechnung_Name1.Text = ""
|
||
' rpt.lblRechnung_Name2.Text = ROW("RechnungsName 1")
|
||
'Else
|
||
' rpt.lblRechnung_Name1.Text = ROW("RechnungsName 1")
|
||
' rpt.lblRechnung_Name2.Text = If(ROW("RechnungsName 2") IsNot DBNull.Value, ROW("RechnungsName 2"), "")
|
||
'End If
|
||
|
||
'rpt.lblRechnung_Strasse.Text = If(ROW("RechnungsStraße") IsNot DBNull.Value, ROW("RechnungsStraße"), "")
|
||
'rpt.lblRechnung_Ort.Text = If(ROW("RechnungsOrt") IsNot DBNull.Value, ROW("RechnungsOrt"), "")
|
||
'rpt.lblRechnung_Land.Text = cProgramFunctions.getLandBez_fromISO1Land(ROW("RechnungsLandKz"), "", ROW("RechnungSprache")).ToString.ToUpper
|
||
|
||
|
||
If KD_RG IsNot Nothing AndAlso If(KD_RG.Steuernummer, "") <> String.Empty Then
|
||
rpt.lblRechnung_Steuernummer.Text = If(KD_RG.LandKz, "") & " " & If(KD_RG.Steuernummer, "").ToString.Trim
|
||
' rpt.lblRechnung_UID.Text = If(KD_RG.UstIdKz, "") & " " & If(KD_RG.UstIdNr, "").ToString.Trim
|
||
Else
|
||
rpt.lblRechnung_Steuernummer.Text = ""
|
||
' rpt.lblRechnung_UID.Text = ""
|
||
End If
|
||
rpt.lblRechnung_Steuernummer.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
rpt.lblRechnung_Steuernummer_Ueberschrift.Visible = (rpt.lblRechnung_Steuernummer.Text <> String.Empty)
|
||
|
||
rpt.lblRechnung_UID.Text = If(ROW("RechnungsUstIdKz") IsNot DBNull.Value, ROW("RechnungsUstIdKz"), "") & If(ROW("RechnungsUstIdNr") IsNot DBNull.Value, ROW("RechnungsUstIdNr"), "")
|
||
rpt.lblRechnung_UID.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
rpt.lblRechnung_UID_Ueberschrift.Visible = (rpt.lblRechnung_UID.Text <> String.Empty)
|
||
|
||
|
||
|
||
|
||
|
||
' REVERSE CHARGE (Übergang der Steuerschuld in EU-Ländern).
|
||
' Dies hat zur Folge, dass steuerfreie Rechnungsbeträge für Leistungen,
|
||
' die in der Leistungstabelle als ReverseCharge gekennzeichnet sind,
|
||
' summiert und auf der Rechnung ausgewiesen werden.
|
||
If getReverseChargeSumme(FIRMA, ROW("RechnungsLandKz"), ROW("RechnungsNr"), ROW("RechnungsDatum"), VorschauID) > 0 Then
|
||
Select Case ROW("RechnungSprache")
|
||
Case "EN" : rpt.txtInfo.Text = "The VAT liability is transferred to the recipient of the service (reverse charge system)." '"Attention! For EU customers! Since 1.1.2010, services are subject to the application of the reverse charge procedure. Transfer of the tax liability to the recipient of the service."
|
||
Case Else : rpt.txtInfo.Text = "Die Umsatzsteuerschuld geht auf den Leistungsempfänger über (Reverse Charge Verfahren)." '"Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger."
|
||
End Select
|
||
Else : rpt.txtInfo.Text = "" : End If
|
||
|
||
'rpt.txtBank1.Text = If(FIRMA.Firma_Bankverbindung1, "") & vbNewLine & If(FIRMA.Firma_IBAN1, "") & vbNewLine & If(FIRMA.Firma_BIC1, "").ToString.Trim
|
||
'rpt.txtBank2.Text = If(FIRMA.Firma_Bankverbindung2, "") & vbNewLine & If(FIRMA.Firma_IBAN2, "") & vbNewLine & If(FIRMA.Firma_BIC2, "").ToString.Trim
|
||
|
||
'rpt.txtBank1.Text = rpt.txtBank1.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "BRD:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
'rpt.txtBank2.Text = rpt.txtBank2.Text.Replace("Österreich: ", "Österreich:" & vbNewLine).Replace("BRD: ", "BRD:" & vbNewLine).Replace("Deutschland: ", "Deutschland:" & vbNewLine)
|
||
|
||
|
||
Dim sumSteuerpflichtig As Double = 0
|
||
Dim sumSteuerfrei As Double = 0
|
||
|
||
|
||
AddHandler rpt.Detail.Format, Sub()
|
||
' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString
|
||
' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString
|
||
|
||
rpt.lblLeistungNr.Text = checkNull(rpt.Fields.Item("LeistungsNr").Value)
|
||
rpt.txtLeistung.Text = checkNull(rpt.Fields.Item("LeistungsBez").Value)
|
||
|
||
If Not ROW("Lastschrift") Then
|
||
If checkNull(rpt.Fields.Item("LeistungsNr").Value) = "750" Then
|
||
strText = "Pos. 750 kann bei Zahlung innerhalb 10 Tagen gekürzt werden."
|
||
End If
|
||
End If
|
||
|
||
|
||
If rpt.Fields.Item("Belegdaten") IsNot Nothing AndAlso rpt.Fields.Item("Belegdaten").Value IsNot Nothing Then
|
||
rpt.txtLeistung.Text &= vbNewLine & checkNull(rpt.Fields.Item("Belegdaten").Value)
|
||
End If
|
||
|
||
rpt.lblAnzahl.Text = checkNull(rpt.Fields.Item("Anzahl").Value)
|
||
' rpt.lblBetrag.Text = rpt.Fields.Item("betrag").Value
|
||
|
||
Dim stPfl As Double = 0
|
||
Dim stFrei As Double = 0
|
||
|
||
If IsNumeric(checkNull(rpt.Fields.Item("SteuerpflichtigerBetrag").Value)) Then stPfl = CDbl(rpt.Fields.Item("SteuerpflichtigerBetrag").Value())
|
||
rpt.lblSteuerpflichtig.Text = If(stPfl <> 0, CDbl(stPfl).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
If IsNumeric(checkNull(rpt.Fields.Item("SteuerfreierBetrag").Value)) Then stFrei = CDbl(rpt.Fields.Item("SteuerfreierBetrag").Value())
|
||
rpt.lblSteuerfrei.Text = If(stFrei <> 0, CDbl(stFrei).ToString("N2", Globalization.CultureInfo.CurrentCulture), "")
|
||
|
||
|
||
sumSteuerpflichtig += stPfl
|
||
sumSteuerfrei += stFrei
|
||
|
||
|
||
' Anz += 1
|
||
' gesAnz += 1
|
||
|
||
' If Anz Mod 2 = 0 Then
|
||
' rpt.Detail.BackColor = Color.FromArgb(240, 240, 240)
|
||
'Else
|
||
' rpt.Detail.BackColor = Color.White
|
||
' End If
|
||
'rpt.Line10.Height = rpt.Detail.Height
|
||
End Sub
|
||
|
||
AddHandler rpt.ReportFooter1.Format, Sub()
|
||
rpt.lblSteuerpflichtigGes.Text = If(sumSteuerpflichtig <> 0, (sumSteuerpflichtig).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
rpt.lblSteuerfreiGes.Text = If(sumSteuerfrei <> 0, (sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
|
||
|
||
Dim steuerProz As Double = 0
|
||
Dim steuerBez As String = ""
|
||
|
||
Dim dt2 As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & ROW("Steuerschlüssel") & "'", "FMZOLL")
|
||
If dt2 IsNot Nothing AndAlso dt2.Rows.Count > 0 Then
|
||
steuerProz = dt2.Rows(0)(0)
|
||
steuerBez = dt2.Rows(0)(1)
|
||
End If
|
||
|
||
rpt.lblSteuersatz.Text = steuerBez
|
||
rpt.lblSteuerbetrag.Text = If((sumSteuerpflichtig * steuerProz) <> 0, (sumSteuerpflichtig * steuerProz).ToString("N2", CultureInfo.CurrentCulture), "")
|
||
rpt.lblZWSumme.Text = (sumSteuerpflichtig + sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.lblSumme.Text = (sumSteuerpflichtig + sumSteuerfrei + (sumSteuerpflichtig * steuerProz)).ToString("N2", CultureInfo.CurrentCulture)
|
||
rpt.Label46.Text = If(ROW("Währungscode") IsNot DBNull.Value, ROW("Währungscode"), "EUR")
|
||
|
||
If sumSteuerfrei = 0 Or sumSteuerpflichtig = 0 Then
|
||
rpt.lblZwText.Visible = False
|
||
rpt.lblZWSumme.Visible = False
|
||
End If
|
||
|
||
|
||
|
||
|
||
|
||
End Sub
|
||
|
||
'DruckDatumUhrzeit wird gesetzt, falls noch ungedruckt...
|
||
'If RECHNUNG.DruckDatumZeit Is Nothing Then
|
||
' RECHNUNG.SET_DruckdatumUhrzeit()
|
||
'End If
|
||
|
||
|
||
If False Then
|
||
|
||
Else
|
||
|
||
'ORIGINAL
|
||
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
|
||
Dim RG_Bezeichnung = "Rechnung_" & RechnungsNr & ".pdf"
|
||
' Dim RG_Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "_Rechnung_" & RechnungsNr & ".pdf"
|
||
'Rechnugnsdruck = Individuell für deise Rechnung, wird optional mitgegeben
|
||
' MsgBox("RechnungsdruckArt2: " & If(Rechnugnsdruck > 0, Rechnugnsdruck, If(AD.Rechnungsdruck, 0)))
|
||
|
||
Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
rpt.Run(True)
|
||
p.NeverEmbedFonts = ""
|
||
p.Export(rpt.Document, tmpPath)
|
||
|
||
If Not isMDMRechnungsdruck Then
|
||
|
||
Dim Paramslist As New cParameterList(VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID)
|
||
Dim enableZugpferd = Paramslist.GET_PARAMETER_VALUE_BOOL("ZUGFeRD")
|
||
If enableZugpferd Then
|
||
tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.addAttachementToPDF(tmpPath, createZUGFeRD(False, Nothing, dt, rpt), "ZUGFeRD-invoice.xml")
|
||
Else
|
||
Dim Zugferdpath = createZUGFeRD(False, Nothing, dt, rpt)
|
||
If Zugferdpath IsNot Nothing AndAlso Zugferdpath <> "" Then
|
||
Dim fileInfo_ZP As New FileInfo(Zugferdpath)
|
||
Dim ZUGF_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "ZUGFERD", Now().Year & "_SR", "", "", fileInfo_ZP.Name, -1, False)
|
||
ZUGF_DS.uploadDataToDATENSERVER(Zugferdpath, fileInfo_ZP.Name, fileInfo_ZP.Extension,,,, True)
|
||
End If
|
||
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
Select Case If(Rechnugnsdruck > 0, Rechnugnsdruck, If(AD.Rechnungsdruck, 0))'If(AD.Rechnungsdruck, 0)
|
||
Case 0, 1 'DRUCKEN
|
||
|
||
If isMDMRechnungsdruck Then Return True 'MDM-Sammelrechnungen nicht mitgeben!
|
||
|
||
Path = tmpPath 'wird für Therefore benötigt
|
||
Return cProgramFunctions.printRpt(rpt, PrinterName, False)
|
||
'Case 1 'FAX
|
||
Case 2 'MAIL
|
||
|
||
'Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
'Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
'rpt.Run(True)
|
||
'p.NeverEmbedFonts = ""
|
||
'p.Export(rpt.Document, tmpPath)
|
||
'rpt.Dispose()
|
||
|
||
If isMDMRechnungsdruck Then Return True 'MDM-Sammelrechnungen nicht mitgeben!
|
||
|
||
Path = tmpPath
|
||
|
||
|
||
Try
|
||
Dim outl As New Outlook.Application
|
||
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
|
||
Mail = outl.CreateItem(0)
|
||
' Mail.Subject = "Rechnung Nr. " & ROW("RechnungsNr")
|
||
' Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>anbei erhalten Sie die Rechnung Nr. " & ROW("RechnungsNr") & "."
|
||
|
||
' Mail.Subject = " Rechnung Nr. " & ROW("RechnungsNr")
|
||
' Mail.Subject = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & " Rechnung Nr. " & ROW("RechnungsNr")
|
||
Select Case ROW("RechnungsLandKz")
|
||
Case "TR"
|
||
Mail.Subject = "Invoice NO. " & ROW("RechnungsNr")
|
||
Mail.HTMLBody = "Sayin Bayanlar ve Baylar,<br><br>ekte baslikta yazan faturayi bulabilirsinz."
|
||
Mail.HTMLBody &= "<br><br><br>Saygilarimizla<br><br>" & getSignature(ROW("RechnungsLandKz"), ROW("Firma_ID"))
|
||
Case "A", "AT", "D", "DE", "CH"
|
||
Mail.Subject = "Rechnung Nr. " & ROW("RechnungsNr")
|
||
Mail.HTMLBody = "Sehr geehrte Damen und Herren,<br><br>im Anhang senden wir Ihnen die o.g. Rechnung."
|
||
Mail.HTMLBody &= "<br><br><br>Mit freundlichen Grüßen<br><br>" & getSignature(ROW("RechnungsLandKz"), ROW("Firma_ID"))
|
||
Case Else
|
||
Mail.Subject = "Invoice No. " & ROW("RechnungsNr")
|
||
Mail.HTMLBody = "Dear Sir or Madam,<br><br>attached we send you the invoice mentioned above."
|
||
Mail.HTMLBody &= "<br><br><br>Best regards<br><br>" & getSignature(ROW("RechnungsLandKz"), ROW("Firma_ID"))
|
||
End Select
|
||
Mail.Attachments.Add(tmpPath, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , "Formular.pdf")
|
||
Mail.Display()
|
||
|
||
Catch ex As Exception
|
||
MsgBox("Fehler bim Öffnen des Mail-Programmes. PDF wird geladen!")
|
||
Process.Start(tmpPath)
|
||
End Try
|
||
rpt.Dispose()
|
||
Return True
|
||
|
||
Case 3 'PDF + öffnen
|
||
|
||
'Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
'Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
'rpt.Run(True)
|
||
'p.NeverEmbedFonts = ""
|
||
'p.Export(rpt.Document, tmpPath)
|
||
|
||
'rpt.Dispose()
|
||
Path = tmpPath
|
||
Process.Start(tmpPath)
|
||
rpt.Dispose()
|
||
Return True
|
||
Case 4 'PDF
|
||
'Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(RG_Bezeichnung, ".pdf", , False)
|
||
'Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
'rpt.Run(True)
|
||
'p.NeverEmbedFonts = ""
|
||
'p.Export(rpt.Document, tmpPath)
|
||
'rpt.Dispose()
|
||
|
||
If isMDMRechnungsdruck Then Return True 'MDM-Sammelrechnungen nicht mitgeben!
|
||
|
||
Path = tmpPath
|
||
rpt.Dispose()
|
||
Return True
|
||
|
||
|
||
End Select
|
||
End If
|
||
|
||
|
||
|
||
Catch ex As Exception
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
Return False
|
||
End Function
|
||
|
||
Shared Function getSAMMELRechnung_Dt(RechnungsNr As Integer, DruckDatumZeit As DateTime, Status As String, Optional VorschauID As String = "") As DataTable
|
||
Dim SQLStr = "SELECT DISTINCT MIN(Rechnungsausgang.RK_ID) as RK_ID,Rechnungsausgang.RechnungsNr, Rechnungsausgang.RechnungsDatum, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.Steuerpflichtig, RechnungsausgangPositionen.LeistungsBez, Rechnungsausgang.Status, Rechnungsausgang.DruckDatumZeit
|
||
,MIN(Filialen.Speditionsbuch) AS Speditionsbuch, Min(Rechnungsausgang.Abfertigungsdatum) AS AbfertigungsdatumVon, Max(Rechnungsausgang.Abfertigungsdatum) AS AbfertigungsdatumBis,
|
||
Min(Rechnungsausgang.AbfertigungsNr) AS AbfertigungsNr, Min(Rechnungsausgang.UnterNr) AS UnterNr, Min(Rechnungsausgang.FilialenNr) AS FilialenNr, Min(Filialen.[Name 1]) AS FilialenName1, MIN(Filialen.[Name 2]) AS FilialenName2, Min(Filialen.Straße) AS FilialenStraße,
|
||
--Min(([Filialen].[LandKz] + ' ' + [Filialen].[PLZ] + ' ' - [Filialen].[Ort])) AS FilialenOrt,
|
||
Min(Filialen.Telefon) AS FilialenTelefon, Min(Filialen.Telefax) AS FilialenTelefax,
|
||
Min(Filialen.[E-Mail]) AS [FilialenE-Mail], Min(Filialen.UstIdKz) AS FilialenUstIdKz,
|
||
MIN(Filialen.UstIdNr) AS FilialenUstIdNr, MIN(Filialen.Absender) AS Absender,
|
||
MIN(Rechnungsausgang.BelegartenNr) AS BelegartenNr, MIN(Rechnungsausgang.BelegartenKz) AS BelegartenKz,
|
||
MIN(Rechnungsausgang.BelegartenBez) AS BelegartenBez, MIN(Rechnungsausgang.KundenNrZentrale) AS KundenNrZentrale,
|
||
MIN(Rechnungsausgang.RechnungsKundenNr) AS RechnungsKundenNr, MIN(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1],
|
||
MIN(Rechnungsausgang.[RechnungsName 2]) AS [RechnungsName 2],MIN(RechnungsName_AdressZusatz) as RechnungsName_AdressZusatz, MIN(Rechnungsausgang.RechnungsStraße) AS RechnungsStraße,
|
||
MIN(Rechnungsausgang.RechnungsOrt) AS RechnungsOrt, MIN(Rechnungsausgang.RechnungsUstIdKz) AS RechnungsUstIdKz,
|
||
MIN(Rechnungsausgang.RechnungsUstIdNr) AS RechnungsUstIdNr, MIN(cast(Rechnungsausgang.Lastschrift as int)) AS Lastschrift,
|
||
Sum(RechnungsausgangPositionen.Anzahl) AS Anzahl, Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS SteuerpflichtigerBetrag,
|
||
Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS SteuerfreierBetrag, Rechnungsausgang.Buchungsjahr, Rechnungsausgang.Währungscode,
|
||
Rechnungsausgang.Steuerschlüssel, MIN(Rechnungsausgang.[Steuersatz %]) AS [Steuersatz %], MIN(Steuertabelle.Steuerbezeichnung) AS Steuerbezeichnung,
|
||
Adressen.LandKz AS LandKz, Adressen.Steuernummer AS Steuernummer, MIN(Rechnungsausgang.Sachbearbeiter) AS Sachbearbeiter, Rechnungsausgang.Firma_ID,
|
||
tblFirma.Firma_Firmenbuch, tblFirma.Firma_UID, tblFirma.Firma_EORI, tblFirma.Firma_Bankverbindung1, tblFirma.Firma_BLZ1, tblFirma.Firma_KTO1,
|
||
tblFirma.Firma_IBAN1, tblFirma.Firma_BIC1, tblFirma.Firma_Bankverbindung2, tblFirma.Firma_BLZ2, tblFirma.Firma_KTO2, tblFirma.Firma_IBAN2,
|
||
tblFirma.Firma_BIC2, tblFirma.Firma_Ort, tblFirma.Firma_Straße, tblFirma.Firma_Telefon, tblFirma.Firma_Telefax, tblFirma.[Firma_E-Mail],
|
||
tblFirma.Firma_Webadresse, MIN(Rechnungsausgang.KdAuftragsNr) as KdAuftragsNr,
|
||
MIN(Rechnungsausgang.RechnungsLandKz) AS RechnungsLandKz, MIN(Rechnungsausgang.RechnungSprache) AS RechnungSprache
|
||
FROM ((Adressen INNER JOIN ((Rechnungsausgang INNER JOIN Filialen ON Rechnungsausgang.FilialenNr = Filialen.FilialenNr) INNER JOIN Steuertabelle ON Rechnungsausgang.Steuerschlüssel = Steuertabelle.Steuerschlüssel) ON Adressen.AdressenNr = Rechnungsausgang.RechnungsKundenNr) INNER JOIN tblFirma ON REPLACE(Rechnungsausgang.Firma_ID,15,19)= tblFirma.Firma_ID) INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
|
||
|
||
where 1=1 "
|
||
|
||
If VorschauID = "" Then
|
||
SQLStr &= " AND Status IN (" & Status & ") And Convert(DateTime, DruckDatumZeit, 104) ='" & DruckDatumZeit.ToString("dd.MM.yyyy HH:mm:ss.fff") & "' and RechnungsNr='" & RechnungsNr & "'"
|
||
Else
|
||
SQLStr &= " AND RechnungsNr is null And VorschauID='" & VorschauID & "' "
|
||
End If
|
||
|
||
SQLStr &= " GROUP BY Rechnungsausgang.RechnungsNr, Rechnungsausgang.RechnungsDatum, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.Steuerpflichtig, RechnungsausgangPositionen.LeistungsBez, Rechnungsausgang.Status, Rechnungsausgang.DruckDatumZeit, Rechnungsausgang.Buchungsjahr, Rechnungsausgang.Währungscode, Rechnungsausgang.Steuerschlüssel, Adressen.LandKz, Adressen.Steuernummer, Rechnungsausgang.Firma_ID, tblFirma.Firma_Firmenbuch, tblFirma.Firma_UID, tblFirma.Firma_EORI, tblFirma.Firma_Bankverbindung1, tblFirma.Firma_BLZ1, tblFirma.Firma_KTO1, tblFirma.Firma_IBAN1, tblFirma.Firma_BIC1, tblFirma.Firma_Bankverbindung2, tblFirma.Firma_BLZ2, tblFirma.Firma_KTO2, tblFirma.Firma_IBAN2, tblFirma.Firma_BIC2, tblFirma.Firma_Ort, tblFirma.Firma_Straße, tblFirma.Firma_Telefon, tblFirma.Firma_Telefax, tblFirma.[Firma_E-Mail], tblFirma.Firma_Webadresse
|
||
ORDER BY Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.Steuerpflichtig, RechnungsausgangPositionen.LeistungsBez;
|
||
"
|
||
|
||
Return SQL.loadDgvBySql(SQLStr, "FMZOLL")
|
||
End Function
|
||
|
||
|
||
Shared Function getLKWID(RechnungsNr As Integer, DruckDatumZeit As Date, Status As Integer) As String
|
||
Dim SQLStr = "SELECT DISTINCT(AvisoId) FROM Rechnungsausgang WHERE Status='" & Status & "' and CONVERT(datetime,DruckDatumZeit ,104)='" & DruckDatumZeit.ToString("dd.MM.yyyy HH:mm:ss.fff") & "' and RechnungsNr='" & RechnungsNr & "' "
|
||
Dim dt = SQL.loadDgvBySql(SQLStr, "FMZOLL")
|
||
If dt.Rows.Count = 1 Then
|
||
Return dt.Rows(0)("AvisoId").ToString
|
||
End If
|
||
Return ""
|
||
End Function
|
||
|
||
Shared Function checkIfMDMSammelrechnung(Rechnungsdruck As Integer, Status As Integer)
|
||
|
||
'If (Rechnungsdruck = 7 OrElse Rechnungsdruck = 4 AndAlso (Status = 2 Or Status = 4)) Then Return True
|
||
|
||
If (Rechnungsdruck = 7 OrElse Rechnungsdruck = 8 OrElse Rechnungsdruck = 4 AndAlso (Status = 2 Or Status = 4) OrElse Rechnungsdruck = 3 AndAlso (Status = 2 Or Status = 4) OrElse Rechnungsdruck = 2 AndAlso (Status = 2 Or Status = 4)) Then Return True
|
||
|
||
Return False
|
||
|
||
|
||
|
||
End Function
|
||
|
||
Public Shared Function getRechnungsanshang(dt As DataTable, listAnh As List(Of String), extTyp As String, Optional onlyAsfinagMautanhang As Boolean = False)
|
||
|
||
|
||
Dim displayView = New DataView(dt, "", "RK_ID", DataViewRowState.CurrentRows)
|
||
Dim distinctDT_RK As DataTable = displayView.ToTable(True, "RK_ID")
|
||
|
||
For Each r In distinctDT_RK.Rows
|
||
Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(r("RK_ID"))
|
||
If RG IsNot Nothing Then
|
||
RG.LOAD_ANHAENGE()
|
||
Dim PDFList As New List(Of String)
|
||
Dim mergedPDFList = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Attachment_" & RG.RechnungsNr & ".pdf", "pdf",, False, "Zusammenfassung")
|
||
For Each RG_AH In RG.ANHAENGE.Where(Function(x) x.Bezeichnung.ToLower.EndsWith(extTyp))
|
||
|
||
Select Case extTyp
|
||
Case "pdf"
|
||
|
||
If onlyAsfinagMautanhang Then
|
||
If RG_AH.Bezeichnung.ToUpper.Contains("MAUT_AT") Then
|
||
Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId)
|
||
If Path <> "" Then listAnh.Add(Path)
|
||
End If
|
||
Else
|
||
|
||
|
||
If RG.Firma_ID = 19 AndAlso RG.Sammelrechnung = 6 AndAlso RG.FilialenNr = 4817 Then 'in diesem Fall PDFs zusammenfassen!
|
||
|
||
Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId)
|
||
If Not (Path.ToString.ToLower.Contains("sammelrechnung") OrElse Path.ToString.Contains("Maut") OrElse Path.ToString.Contains("POS") OrElse Path.ToString.ToLower.Contains("invoice") OrElse Path.ToString.ToLower.Contains("rechnung")) Then
|
||
If Path <> "" Then PDFList.Add(Path)
|
||
Else
|
||
If Path <> "" Then listAnh.Add(Path)
|
||
End If
|
||
|
||
Else
|
||
|
||
If RG_AH.Bezeichnung.ToUpper.Contains("MAUT") Or RG_AH.Bezeichnung.ToUpper.Contains("DIESEL") Or RG_AH.Bezeichnung.ToUpper.Contains("INVOICE") Then
|
||
Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId)
|
||
If Not listAnh.Contains(Path) Then
|
||
|
||
If Not (listAnh.Any(Function(f) f.Contains("COPY_INVOICE")) And Path.ToUpper.Contains("COPY_INVOICE")) Then 'damit diesel IDS-Rechnung nicht doppelt hinzugefügt wird.
|
||
If Path <> "" Then listAnh.Add(Path)
|
||
|
||
End If
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
Case "csv"
|
||
|
||
If RG_AH.Bezeichnung.ToUpper.Contains("MAUT") Then
|
||
Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(RG_AH.dsId)
|
||
If Not listAnh.Contains(Path) Then
|
||
|
||
If Path <> "" Then listAnh.Add(Path)
|
||
|
||
End If
|
||
End If
|
||
|
||
|
||
End Select
|
||
|
||
|
||
Next
|
||
|
||
If PDFList.Count = 1 Then
|
||
listAnh.Add(PDFList.First())
|
||
ElseIf PDFList.Count > 1 Then
|
||
If FormularManagerNEU.MergePdfFiles(PDFList, mergedPDFList) Then
|
||
listAnh.Add(mergedPDFList)
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
Next
|
||
|
||
|
||
|
||
End Function
|
||
End Class
|