3454 lines
218 KiB
VB.net
3454 lines
218 KiB
VB.net
|
|
Imports System.Globalization
|
|
Imports awt.ShellApi
|
|
Imports com.sun.org.apache.xerces.internal.impl.dv.xs
|
|
Imports java.awt.geom
|
|
Imports Microsoft.Office.Interop
|
|
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
|
|
|
|
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)
|
|
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 + 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
|
|
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 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 = "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 = "Payment term: " & ZZTage & " days from invoice date"
|
|
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+10T>)"
|
|
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 Then
|
|
Select Case RECHNUNG.RechnungSprache
|
|
Case "EN" : strText = strText & "The invoice amount has already been paid in advance." & 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 & "An advance payment has already been made for this invoice." & 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 & "An advance payment has already been made for this invoice, please transfer the difference." & vbCrLf
|
|
Case Else : strText = strText & "Zu dieser Rechnung wurde bereits eine Vorauszahlung geleistet, bitte überweisen Sie 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 amount was offset against the debit order issued." & vbCrLf
|
|
Case Else : strText = strText & "Der Gutschriftsbetrag wurde mit erteilten Abbuchungsauftrag verrechnet." & vbCrLf
|
|
End Select
|
|
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 VORL IsNot Nothing AndAlso VORL.Count > 0 Then
|
|
Select Case RECHNUNG.RechnungSprache
|
|
Case "EN" : strText = strText.Replace("<Vorlageprovision>", "If payment is received by <Rechnungsdatum+10T>, you can deduct the template commission charged. " & vbCrLf)
|
|
Case Else : strText = strText.Replace("<Vorlageprovision>", "Bei Zahlungseingang bis zum <Rechnungsdatum+10T> können Sie die verrechnete Vorlageprovision in Abzug bringen. " & vbCrLf)
|
|
End Select
|
|
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")
|
|
|
|
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) 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)
|
|
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, 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)", "")
|
|
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
|
|
|
|
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.picVERAG.Size = New SizeF(2.712, 0.61)
|
|
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"
|
|
rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR21 0006 2000 5440 0009 0818 67" & vbNewLine & "BLZ Sube.: 544 - 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 Else 'VERAG,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
|
|
|
|
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 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)", "")
|
|
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
|
|
|
|
' 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
|
|
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"
|
|
rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Hadimköy Ticari - Hesap: 9098713"
|
|
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
|
|
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 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_Ort, "")).ToString.Replace(" (DE)", "")
|
|
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
|
|
|
|
' 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 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"
|
|
rpt.txtBank1.Text = "Garanti Bank " & vbNewLine & "IBAN:TR84 0006 2001 6040 0009 0987 13 " & vbNewLine & "BLZ Sube.: 1604 - Hadimköy Ticari - Hesap: 9098713"
|
|
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
|
|
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
|
|
Try
|
|
Dim rpt As New rptRechnungDruck(RECHNUNG.RechnungSprache)
|
|
|
|
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(RECHNUNG.Firma_ID)
|
|
Dim KD_RG As New VERAG_PROG_ALLGEMEIN.cAdressen(RECHNUNG.RechnungsKundenNr)
|
|
|
|
If FIRMA Is Nothing Then MsgBox("Keine Firma gewählt!") : Return False
|
|
|
|
If Not SammelrechnungAnlagendruck Then
|
|
If vorschau = False And RECHNUNG.Sammelrechnung <> "0" Then MsgBox("Nur bei Einzelrechnung möglich!") : Return False
|
|
End If
|
|
|
|
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 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 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_simple : rpt.Picture1.Image = Nothing
|
|
rpt.txtAvisierer.Visible = False : rpt.lblAvisiererUeberschrift.Visible = False : rpt.txtWarenwert.Visible = False : rpt.lblWarenWertUeberschrift.Visible = False
|
|
Case 17 : rpt.picVERAG.Image = My.Resources.FrontOfficeSUB_Horizontal : rpt.Picture1.Image = Nothing
|
|
End Select
|
|
|
|
Dim ZZTage = 10
|
|
Dim ZZKdZahlungsziel = SQL.DLookup("Zahlungsziel", "Kunden", "Kundennr=" & RECHNUNG.RechnungsKundenNr, "FMZOLL", 10)
|
|
If ZZKdZahlungsziel IsNot Nothing AndAlso IsNumeric(ZZKdZahlungsziel) Then
|
|
ZZTage = ZZKdZahlungsziel
|
|
End If
|
|
Select Case RECHNUNG.RechnungSprache
|
|
Case "EN" : rpt.Label2.Text = ZZTage & " Days" : rpt.Label1.Text = "Payment target:"
|
|
Case Else : rpt.Label2.Text = ZZTage & " Tage"
|
|
End Select
|
|
|
|
|
|
Select Case RECHNUNG.Firma_ID
|
|
Case 21, 22, 23, 26, 24 : rpt.Label1.Visible = False : rpt.Label2.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, "")
|
|
|
|
rpt.lblSachbearbeiter.Text = getSBRgName(RECHNUNG.Firma_ID, RECHNUNG.Sachbearbeiter) '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.RechnungsName_AdressZusatz, "") <> "" Then rpt.lblRechnungAn.Text &= RECHNUNG.RechnungsName_AdressZusatz & vbNewLine
|
|
If If(RECHNUNG.RechnungsStraße, "") <> "" Then rpt.lblRechnungAn.Text &= RECHNUNG.RechnungsStraße & 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 "EN" : rpt.txtInfo.Text = "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 = "Achtung! Für EU-Kunden! Seit 1.1.2010 unterliegen Leistungen der Anwendung des Reverse Charge Verfahrens. Übergang der Steuerschuld an den Leistungsempfänger."
|
|
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.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
|
|
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 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 Else : rpt.lblUeberschriftRG_GS.Text &= " - KOPIE"
|
|
End Select
|
|
End If
|
|
End If
|
|
|
|
'Dim cnt As Integer = 0
|
|
|
|
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)
|
|
|
|
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 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
|
|
rpt.lblZwText.Text = "Summe Steuerfrei"
|
|
rpt.lblZWSumme.Text = CDbl(getSteuerfreiEUSTZOLL(FIRMA, RECHNUNG)).ToString("N2", CultureInfo.CurrentCulture)
|
|
rpt.lblZwText.Visible = True
|
|
rpt.lblZWSumme.Visible = True
|
|
|
|
rpt.lblSteuersatz.Text = "Summe Reverse Charge"
|
|
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(ZZTage).ToShortDateString)
|
|
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(ZZTage).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(ZZTage).ToShortDateString)
|
|
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
|
Else
|
|
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(ZZTage).ToShortDateString)
|
|
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(ZZTage).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(ZZTage).ToShortDateString)
|
|
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", CDate(RECHNUNG.RechnungsDatum).AddDays(ZZTage).ToShortDateString)
|
|
Else
|
|
rpt.txtVermerk.Text = rpt.txtVermerk.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(ZZTage).ToShortDateString)
|
|
rpt.TextBox1.Text = rpt.TextBox1.Text.Replace("<Rechnungsdatum+10T>", Now.AddDays(ZZTage).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)
|
|
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
|
|
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 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
|
|
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>"
|
|
Mail.To = VERAG_PROG_ALLGEMEIN.cKundenKontakte.getMailAdress(RECHNUNG.RechnungsKundenNr, "Rechnung an")
|
|
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
|
|
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
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
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
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
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
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
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
|
|
If ANH.dsId > 0 Then list.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(ANH.dsId))
|
|
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
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
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
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
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 = "") As String
|
|
getSignature = ""
|
|
|
|
firma = getFirmaNr(firma)
|
|
|
|
Dim imgsrc = System.IO.Path.GetFullPath(Application.StartupPath & "\Resources\").Replace("\", "/")
|
|
|
|
Dim 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")
|
|
getSignature &= "<img width=""250"" height=""70"" src=""" & imgsrc & "ambar_simple.png""/>"
|
|
If displayFirmenmane Then getSignature &= "<br><b>AMBAR Logistic Services GmbH</b><br>"
|
|
getSignature &= "<div style=""font-size:12px"">D 83435 Bad Reichenhall, Reichenhallerstrasse 62<br><b>T</b> +49 8651 99624911 | <b>F</b> +49 8651 9962493 | <b>@</b> " & If(individuell, emailindividuell, 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 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 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 Function
|
|
|
|
Shared Function getDefaultMail(firma)
|
|
Dim defaultMail = ""
|
|
Select Case firma
|
|
Case "AMBAR"
|
|
defaultMail = "import@ambarlog.de"
|
|
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 Select
|
|
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 = "") 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 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]
|
|
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)
|
|
'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
|
|
' 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 (CDbl(r("SteuerpflichtigerGesamtbetrag")) + CDbl(r("SteuerfreierGesamtbetrag"))) = 0 Then
|
|
Return False
|
|
End If
|
|
Next
|
|
Return True
|
|
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 = "") 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
|
|
|
|
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
|
|
Aktuelle_RgNr = getNewRgNr(Firma_ID, Buchungsjahr) 'Nimmt die aktuelle RgNr und zählt eine Pos. hoch.
|
|
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) '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 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)
|
|
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
|
|
RG.[RechnungsNr] = Aktuelle_RgNr
|
|
RG.[Status] = 3
|
|
RG.[RechnungsDatum] = Rechnungsdatum.ToShortDateString
|
|
RG.[Buchungsjahr] = Buchungsjahr
|
|
RG.[DruckDatumZeit] = DruckdatumUhrzeit.ToString("dd.MM.yyyy HH:mm:ss.fff")
|
|
End If
|
|
RG.SAVE()
|
|
|
|
|
|
If Not RG.checkRechnungsNrIsSet() AndAlso Not vorschau Then
|
|
MsgBox("Rechnungsnummer wurde nicht in Datenbank eingetragen" & vbNewLine & "Vorgang wird abgebrochen")
|
|
Return False
|
|
Else
|
|
found = True
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
|
|
'Letzter Abschnitt:
|
|
If found Then
|
|
Dim path = ""
|
|
doSAMMELRechnungsDruck_Abschnitt(Aktuelle_RgNr, Firma_ID, Buchungsjahr, DruckdatumUhrzeit, PrinterName, AnlageEinzelRg, Sammelrechnungsbericht, RechnungsdruckArt, path,, SB, AnlageExcelEvolog, SonstAnlagen, VorschauID, AnlageExcelTransferry360, FakturierungsGruppe, Abfertigungsart)
|
|
If path <> "" Then listPDFs.Add(path)
|
|
End If
|
|
lastAktuelle_RgNr = Aktuelle_RgNr
|
|
Return True
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
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 = "") 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, 3, [VorschauID]) ' 3-_> Anlagen gedruckt
|
|
End If
|
|
|
|
|
|
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) 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
|
|
|
|
'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 Not SRDruckWiederholen And (Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM OrElse vbYes = MsgBox("TEST - in Therefore speichern?", vbYesNoCancel)) Then
|
|
VERAG_PROG_ALLGEMEIN.cTherefore.saveFileTo_ImportFolder(pathPDF, "SA " & RechnungsNr & " " & dt.Rows(0)("RechnungsName 1"), "", Firma_ID, False)
|
|
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 fehlgeschalgen! " & ex.Message & ex.StackTrace)
|
|
End Try
|
|
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(3) 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
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
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
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Shared Function doSAMMELRechnungDruck_Rechnungsdruck_Sammelrechnungsbericht(RechnungsNr As Integer, DruckdatumUhrzeit As Date, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional PrinterName As String = "", Optional VorschauID As String = "") As Boolean 'RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "") As Boolean
|
|
Try
|
|
|
|
|
|
Dim dt As DataTable
|
|
If VorschauID = "" Then
|
|
dt = SQL.loadDgvBySql("Select * FROM Rechnungsausgang WHERE Rechnungsausgang.Status In(3) 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 RechnungsNr is null AND VorschauID='" & VorschauID & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
|
|
End If
|
|
Dim ROW As DataRow = dt.Rows(0)
|
|
|
|
Dim rpt As New rptSammelRechnungAnlagenDruck(ROW("RechnungSprache"))
|
|
rpt.DataSource = dt
|
|
|
|
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 dataView As New DataView(dtDataSource)
|
|
' dataView.Sort = " LeistungsNr "
|
|
' Dim dtTmp As DataTable = dataView.ToTable()
|
|
|
|
|
|
'' 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 = 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 = "AR" 'If(Gesamt_RG_Betrag < 0, "AG", "AR")
|
|
|
|
|
|
Select Case ROW("RechnungSprache")
|
|
Case "EN"
|
|
Select Case BelegartenKz
|
|
Case "AR"
|
|
rpt.lblUeberschriftRG_GS.Text = "Attatchment to INVOICE"
|
|
rpt.lblSummeUeberschrift.Text = "Invoice Amount:"
|
|
rpt.lblRgNrUeberschrift.Text = "Invoice No.:"
|
|
rpt.lblRgDatumUeberschrift.Text = "Invoice Date:"
|
|
Case "AG"
|
|
rpt.lblUeberschriftRG_GS.Text = "Attatchment to 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 = "Anlage zur 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_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 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, "")
|
|
|
|
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, "")
|
|
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 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)
|
|
|
|
|
|
|
|
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)
|
|
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 Then
|
|
Dim subRpt = New rptSammelRechnungAnlagenDruck_Leistungen(rpt._LAN, RECHNUNG)
|
|
rpt.SubReport.Report = subRpt
|
|
rpt.lblSteuerfrei.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold)
|
|
rpt.lblSteuerpflichtig.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold)
|
|
|
|
'txtPackstuecke.Top += SubReport.Height
|
|
'txtKdAuftragsnummer.Top += SubReport.Height
|
|
'txtSendungsdetails.Top += SubReport.Height
|
|
Else
|
|
rpt.SubReport.Report = Nothing
|
|
End If
|
|
' rpt.Line10.AnchorBottom = True
|
|
' rpt.Line10.Height = rpt.Detail.Height
|
|
End If
|
|
|
|
End Sub
|
|
|
|
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
|
|
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
|
|
|
|
|
|
'Dim BelegartenKz = If(CDbl((sumSteuerpflichtig + sumSteuerfrei + (sumSteuerpflichtig * steuerProz))) < 0, "AG", "AR")
|
|
|
|
|
|
End Sub
|
|
|
|
'DruckDatumUhrzeit wird gesetzt, falls noch ungedruckt...
|
|
'If RECHNUNG.DruckDatumZeit Is Nothing Then
|
|
' RECHNUNG.SET_DruckdatumUhrzeit()
|
|
'End If
|
|
|
|
|
|
|
|
|
|
'ORIGINAL
|
|
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(ROW("RechnungsKundenNr"))
|
|
'Dim RG_Bezeichnung = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & " _Rechnung_" & RechnungsNr & ".pdf"
|
|
Dim RG_Bezeichnung = "Rechnung_" & RechnungsNr & ".pdf"
|
|
'Rechnugnsdruck = Individuell für deise Rechnung, wird optional mitgegeben
|
|
|
|
Dim 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)
|
|
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
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
Shared Function getSBRgName(Firma_id As Integer, USRKURZNAME As String) As String
|
|
|
|
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 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 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 = "") 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 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 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 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
|
|
|
|
|
|
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, 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, "")
|
|
|
|
rpt.lblSachbearbeiter.Text = getSBRgName(ROW("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, "")
|
|
'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)
|
|
|
|
|
|
Select Case If(Rechnugnsdruck > 0, Rechnugnsdruck, If(AD.Rechnungsdruck, 0))'If(AD.Rechnungsdruck, 0)
|
|
Case 0, 1 'DRUCKEN
|
|
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()
|
|
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()
|
|
Path = tmpPath
|
|
rpt.Dispose()
|
|
Return True
|
|
|
|
End Select
|
|
End If
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
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 Rechnungsausgang.Firma_ID = 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
|
|
End Class
|