558 lines
29 KiB
VB.net
558 lines
29 KiB
VB.net
Imports System.Data.SqlClient
|
|
Imports System.Reflection
|
|
|
|
Public Class cRechnungsausgang
|
|
|
|
Property RK_ID As Integer
|
|
Property FilialenNr As Integer
|
|
Property AbfertigungsNr As Integer
|
|
Property UnterNr As Integer = -1
|
|
Property Abfertigungsdatum As Date
|
|
Property RechnungsNr As Object = Nothing
|
|
Property RechnungsDatum As Object = Nothing
|
|
Property Sammelrechnung As Integer
|
|
Property BelegartenNr As Integer = 70 'Nothing
|
|
Property BelegartenKz As String = ""
|
|
Property BelegartenBez As String = ""
|
|
Property Vorzeichen As String = ""
|
|
Property BelegNr As Object = Nothing
|
|
Property AbsenderLandKz As Object = Nothing
|
|
Property AbsenderKundenNr As Object = Nothing
|
|
Property AbsenderName_1 As Object = Nothing '!!!!
|
|
Property AbsenderName_2 As Object = Nothing '!!!!
|
|
Property AbsenderStraße As Object = Nothing
|
|
Property AbsenderOrt As Object = Nothing
|
|
Property AbsenderOffertenNr As Object = Nothing
|
|
Property EmpfängerLandKz As Object = Nothing
|
|
Property EmpfängerKundenNr As Object = Nothing
|
|
Property EmpfängerName_1 As Object = Nothing '!!!!
|
|
Property EmpfängerName_2 As Object = Nothing '!!!!
|
|
Property EmpfängerStraße As Object = Nothing
|
|
Property EmpfängerOrt As Object = Nothing
|
|
Property EmpfängerOffertenNr As Object = Nothing
|
|
Property VermittlerLandKz As Object = Nothing
|
|
Property VermittlerKundenNr As Object = Nothing
|
|
Property VermittlerName_1 As Object = Nothing '!!!!
|
|
Property VermittlerName_2 As Object = Nothing '!!!!
|
|
Property VermittlerStraße As Object = Nothing
|
|
Property VermittlerOrt As Object = Nothing
|
|
Property VermittlerOffertenNr As Object = Nothing
|
|
Property Rechnung_an As Integer
|
|
Property KundenNrZentrale As Object = Nothing
|
|
Property RechnungsLandKz As Object = Nothing
|
|
Property RechnungsKundenNr As Integer
|
|
Property RechnungsName_1 As Object = Nothing '!!!!
|
|
Property RechnungsName_2 As Object = Nothing '!!!!
|
|
Property RechnungsStraße As Object = Nothing
|
|
Property RechnungsOrt As Object = Nothing
|
|
Property RechnungsUstIdKz As Object = Nothing
|
|
Property RechnungsUstIdNr As Object = Nothing
|
|
Property RechnungsUstIdGeprüft As Object = Nothing 'Date = CDate("01.01.2000")
|
|
Property Lastschrift As Boolean = False
|
|
Property Kunden_SVS As Boolean = False
|
|
Property Steuerschlüssel As Integer
|
|
Property Steuersatz_Proz As Double
|
|
Property LKW_Kennzeichen As Object = Nothing '!!!!
|
|
Property WährungsNr As Object = Nothing
|
|
Property Wert As Object = Nothing
|
|
Property Umrechnungskurs As Object = Nothing
|
|
Property Packstücke_und_Warenbezeichnung As Object = Nothing '!!!!
|
|
Property Vermerk As Object = Nothing
|
|
Property Anlage_1 As Object = Nothing '!!!!
|
|
Property Anlage_2 As Object = Nothing '!!!!
|
|
Property Anlage_3 As Object = Nothing '!!!!
|
|
Property Anlage_4 As Object = Nothing '!!!!
|
|
Property Anlage_5 As Object = Nothing '!!!!
|
|
Property Anlage_6 As Object = Nothing '!!!!
|
|
Property OffertenNr As Object = Nothing
|
|
Property Vorlageprovision_Proz As Object = Nothing '!!!!%
|
|
Property Kreditaufwendungen_Proz As Object = Nothing '!!!!%
|
|
Property Besonderheiten As Object = Nothing
|
|
Property Vorkasse As Boolean = False
|
|
Property Text As Object = Nothing
|
|
Property SteuerpflichtigerGesamtbetrag As Decimal = 0
|
|
Property SteuerfreierGesamtbetrag As Decimal = 0
|
|
Property Status As Object = 0
|
|
Property DruckDatumZeit As Object = Nothing
|
|
Property Abfertigungskosten As Object = Nothing
|
|
Property Vorkosten As Object = Nothing
|
|
Property Erlös As Object = Nothing
|
|
Property Buchungsjahr As Object = Nothing
|
|
Property Währungscode As Object = "EUR"
|
|
Property Sachbearbeiter As Object = Nothing
|
|
Property Trdin As Boolean = False
|
|
Property KartenNr As Object = Nothing
|
|
Property RefFilialenNr As Object = Nothing
|
|
Property RefAbfertigungsNr As Object = Nothing
|
|
Property RefUnterNr As Object = Nothing
|
|
Property Notiz As Object = Nothing
|
|
Property Zucker_MRN_Nr As Object = Nothing
|
|
Property Zucker_MRN_Datum As Object = Nothing
|
|
Property Zucker_Aufschub As Object = Nothing
|
|
Property ReErfZeitstempel As Object = Nothing
|
|
Property Nettozahlungsziel As Object = Nothing
|
|
Property Firma_ID As Integer = 0
|
|
Property SpeditionsbuchUnterNr As Object = Nothing
|
|
Property ErfassungsNr As Object = Nothing
|
|
'Property upsize_ts As Object = Nothing
|
|
Property AvisiererKundenNr As Object = Nothing
|
|
Property Avisierer As Object = Nothing
|
|
Property EMailRechnungstext As Object = Nothing
|
|
Property AvisoID As Object = Nothing
|
|
Property KdAuftragsNr As Object = Nothing
|
|
|
|
' FROM [VERAG as object=nothing.[dbo as object=nothing.[Rechnungsausgang as object=nothing
|
|
|
|
Public POSITIONEN As New List(Of cRechnungsausgangPositionen)
|
|
Shared SQL As New SQL
|
|
|
|
Sub New()
|
|
End Sub
|
|
|
|
Sub New(RK_ID)
|
|
Me.RK_ID = RK_ID
|
|
LOAD() : LOAD_POSITIONEN()
|
|
End Sub
|
|
|
|
|
|
Public Function getMaxRGUnterNr() As Integer
|
|
Return getMaxRGUnterNr(FilialenNr, AbfertigungsNr, SpeditionsbuchUnterNr)
|
|
End Function
|
|
|
|
Public Shared Function getMaxRGUnterNr(FilialenNr As Integer, AbfertigungsNr As Integer, SpeditionsbuchUnterNr As Integer) As Integer
|
|
' Dim Nr = SQL.getValueTxtBySql("Select isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' And SpeditionsbuchUnterNr='" & SpeditionsbuchUnterNr & "' ORDER BY [UnterNr] desc", "FMZOLL")
|
|
Dim Nr = SQL.getValueTxtBySql("Select TOP 1 isnull([UnterNr], -1) + 1 FROM [Rechnungsausgang] where [FilialenNr]='" & FilialenNr & "' And AbfertigungsNr='" & AbfertigungsNr & "' ORDER BY [UnterNr] desc", "FMZOLL")
|
|
Return If(IsNumeric(Nr), Nr, 0)
|
|
End Function
|
|
|
|
|
|
Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
|
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RK_ID", RK_ID, , True, True))
|
|
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", FilialenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", AbfertigungsNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UnterNr", UnterNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungsdatum", Abfertigungsdatum))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsNr", RechnungsNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsDatum", RechnungsDatum))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sammelrechnung", Sammelrechnung))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenNr", BelegartenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenKz", BelegartenKz))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegartenBez", BelegartenBez))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorzeichen", Vorzeichen))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BelegNr", BelegNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderLandKz", AbsenderLandKz))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderKundenNr", AbsenderKundenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderName 1", AbsenderName_1, "AbsenderName_1")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderName 2", AbsenderName_2, "AbsenderName_2")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderStraße", AbsenderStraße))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderOrt", AbsenderOrt))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbsenderOffertenNr", AbsenderOffertenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerLandKz", EmpfängerLandKz))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerKundenNr", EmpfängerKundenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerName 1", EmpfängerName_1, "EmpfängerName_1")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerName 2", EmpfängerName_2, "EmpfängerName_2")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerStraße", EmpfängerStraße))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerOrt", EmpfängerOrt))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmpfängerOffertenNr", EmpfängerOffertenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerLandKz", VermittlerLandKz))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerKundenNr", VermittlerKundenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerName 1", VermittlerName_1, "VermittlerName_1")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerName 2", VermittlerName_2, "VermittlerName_2")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerStraße", VermittlerStraße))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerOrt", VermittlerOrt))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VermittlerOffertenNr", VermittlerOffertenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Rechnung an", Rechnung_an, "Rechnung_an")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNrZentrale", KundenNrZentrale))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsLandKz", RechnungsLandKz))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsKundenNr", RechnungsKundenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsName 1", RechnungsName_1, "RechnungsName_1")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsName 2", RechnungsName_2, "RechnungsName_2")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsStraße", RechnungsStraße))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsOrt", RechnungsOrt))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdKz", RechnungsUstIdKz))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdNr", RechnungsUstIdNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungsUstIdGeprüft", RechnungsUstIdGeprüft))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Lastschrift", Lastschrift))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunden-SVS", Kunden_SVS, "Kunden_SVS")) '!!!!-
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerschlüssel", Steuerschlüssel))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuersatz %", Steuersatz_Proz, "Steuersatz_Proz")) '!!!! %
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW Kennzeichen", LKW_Kennzeichen, "LKW_Kennzeichen")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("WährungsNr", WährungsNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Wert", Wert))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Umrechnungskurs", Umrechnungskurs))
|
|
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Packstücke und Warenbezeichnung", Packstücke_und_Warenbezeichnung, "Packstücke_und_Warenbezeichnung")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vermerk", Vermerk))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 1", Anlage_1, "Anlage_1")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 2", Anlage_2, "Anlage_2")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 3", Anlage_3, "Anlage_3")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 4", Anlage_4, "Anlage_4")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 5", Anlage_5, "Anlage_5")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anlage 6", Anlage_6, "Anlage_6")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OffertenNr", OffertenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorlageprovision %", Vorlageprovision_Proz, "Vorlageprovision_Proz")) '!!!!%
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kreditaufwendungen %", Kreditaufwendungen_Proz, "Kreditaufwendungen_Proz")) '!!!!%
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Besonderheiten", Besonderheiten))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorkasse", Vorkasse))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Text", Text))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerGesamtbetrag", SteuerpflichtigerGesamtbetrag))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierGesamtbetrag", SteuerfreierGesamtbetrag))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", Status))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DruckDatumZeit", DruckDatumZeit))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Abfertigungskosten", Abfertigungskosten))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Vorkosten", Vorkosten))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Erlös", Erlös))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungsjahr", Buchungsjahr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Währungscode", Währungscode))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachbearbeiter", Sachbearbeiter))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Trdin", Trdin))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KartenNr", KartenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefFilialenNr", RefFilialenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefAbfertigungsNr", RefAbfertigungsNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RefUnterNr", RefUnterNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Notiz", Notiz))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Nr", Zucker_MRN_Nr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_MRN_Datum", Zucker_MRN_Datum))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zucker_Aufschub", Zucker_Aufschub))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ReErfZeitstempel", ReErfZeitstempel))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Nettozahlungsziel", Nettozahlungsziel))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Firma_ID", Firma_ID))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SpeditionsbuchUnterNr", SpeditionsbuchUnterNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ErfassungsNr", ErfassungsNr))
|
|
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisiererKundenNr", AvisiererKundenNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Avisierer", Avisierer))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EMailRechnungstext", EMailRechnungstext))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisoID", AvisoID))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNr", KdAuftragsNr))
|
|
|
|
Return list
|
|
End Function
|
|
|
|
|
|
|
|
Public Shared Function LOADByFilialeAbfNrsssasdssssssssss(FilialeNr As Integer, AbfertigungsNr As Integer) As cVorauskasse
|
|
Try
|
|
Dim VK As New cVorauskasse
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
|
Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE vk_AbfertigungsNr=@vk_AbfertigungsNr AND vk_FilialeNr=@vk_FilialeNr ", conn)
|
|
cmd.Parameters.AddWithValue("@vk_FilialeNr", FilialeNr)
|
|
cmd.Parameters.AddWithValue("@vk_AbfertigungsNr", AbfertigungsNr)
|
|
Dim dr = cmd.ExecuteReader()
|
|
If dr.Read Then
|
|
For Each l In VK.getParameterList()
|
|
Dim propInfo As PropertyInfo = VK.GetType.GetProperty(l.Scalarvariable)
|
|
|
|
If dr.Item(l.Text) Is DBNull.Value Then
|
|
propInfo.SetValue(VK, Nothing)
|
|
Else
|
|
propInfo.SetValue(VK, dr.Item(l.Text))
|
|
End If
|
|
Next
|
|
dr.Close()
|
|
Return VK
|
|
End If
|
|
dr.Close()
|
|
End Using
|
|
'VOREZEICHENCNENCNECNENCN!!!
|
|
End Using
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return Nothing
|
|
End Function
|
|
|
|
|
|
Public Function SAVE(Optional saveAll As Boolean = True) As Boolean
|
|
doVorzeichen()
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Rechnungsausgang WHERE RK_ID=@RK_ID) " &
|
|
" BEGIN " & getUpdateCmd() & " END " &
|
|
" Else " &
|
|
" BEGIN " & getInsertCmd() & " END " &
|
|
" commit tran "
|
|
|
|
RK_ID = SQL.doSQLVarListID(RK_ID, sqlstr, "FMZOLL", , list)
|
|
|
|
|
|
If RK_ID > 0 Then
|
|
doVorzeichenPOS()
|
|
If saveAll Then SAVE_POSITIONEN(RK_ID) ' positionen speicehrn
|
|
doVorzeichenPOS()
|
|
End If
|
|
doVorzeichen()
|
|
Return RK_ID > 0
|
|
End Function
|
|
|
|
Public Function SAVE_DruckDatumZeit() As Boolean
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
Dim sqlstr = " UPDATE Rechnungsausgang SET DruckDatumZeit=@DruckDatumZeit WHERE RK_ID=@RK_ID) "
|
|
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
|
End Function
|
|
|
|
|
|
Public Sub doVorzeichen()
|
|
Dim vz = If(Vorzeichen = "-", -1, 1)
|
|
Me.SteuerfreierGesamtbetrag *= vz
|
|
Me.SteuerpflichtigerGesamtbetrag *= vz
|
|
Me.Abfertigungskosten *= vz
|
|
End Sub
|
|
Public Sub doVorzeichenPOS()
|
|
Dim vz = If(Vorzeichen = "-", -1, 1)
|
|
For Each p In POSITIONEN
|
|
p.doVorzeichen(Vorzeichen)
|
|
Next
|
|
End Sub
|
|
|
|
Public Function CHECK_Validation(ByRef errMsg) As Boolean
|
|
If Rechnung_an = 0 OrElse CStr(Rechnung_an) = "" Then errMsg = "ERROR: Rechnungsempfänger auswählen!" : Return False
|
|
' If Steuerschlüssel Then errMsg = "ERROR: Steuerschlüssel muss angegeben werden!" : Return False
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Public Function SAVE_POSITIONEN(RK_ID) As Boolean
|
|
If DELETE_POSITIONEN() Then ' zuerst Einträge löschen...
|
|
For Each p In POSITIONEN
|
|
If Not p.INSERT(RK_ID) Then Return False ' ... dann insert
|
|
Next
|
|
Else : Return False
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
|
|
Public Sub LOAD()
|
|
Try
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
|
Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE RK_ID=@RK_ID ", conn)
|
|
cmd.Parameters.AddWithValue("@RK_ID", RK_ID)
|
|
Dim dr = cmd.ExecuteReader()
|
|
If dr.Read Then
|
|
For Each l In getParameterList()
|
|
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
|
|
|
|
If dr.Item(l.Text) Is DBNull.Value Then
|
|
propInfo.SetValue(Me, Nothing)
|
|
Else
|
|
propInfo.SetValue(Me, dr.Item(l.Text))
|
|
End If
|
|
|
|
Next
|
|
|
|
End If
|
|
dr.Close()
|
|
End Using
|
|
doVorzeichen()
|
|
End Using
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Public Function getUpdateCmd() As String
|
|
Try
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
|
|
Dim str As String = ""
|
|
For Each i In list
|
|
If Not i.isPrimaryParam Then
|
|
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
|
End If
|
|
Next
|
|
str = str.Substring(0, str.Length - 1) 'wg. ','
|
|
Return (" UPDATE [Rechnungsausgang] SET " & str & " WHERE RK_ID=@RK_ID ")
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
Public Function getInsertCmd() As String
|
|
Try
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
Dim str As String = ""
|
|
Dim values As String = ""
|
|
For Each i In list
|
|
If Not i.isPrimaryParam Then
|
|
str &= "[" & i.Text & "],"
|
|
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
|
End If
|
|
Next
|
|
str = str.Substring(0, str.Length - 1) 'wg. ','
|
|
values = values.Substring(0, values.Length - 1) 'wg. ','
|
|
Return (" INSERT INTO Rechnungsausgang (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
Public Function SET_DruckdatumUhrzeit() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
|
Dim sqlstr = " UPDATE [Rechnungsausgang] SET DruckDatumZeit=GETDATE WHERE RK_ID=" & Me.RK_ID
|
|
Return SQL.doSQL(sqlstr, "FMZOLL")
|
|
End Function
|
|
|
|
Public Function isReverseChargeSumme() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
|
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='" & Me.RK_ID & "' AND LD.ReverseCharge = 1 AND Leistungen.ReverseCharge = 1"
|
|
|
|
Return If(SQL.getValueTxtBySql(sqlstr, "FMZOLL") Is DBNull.Value, False, True)
|
|
End Function
|
|
|
|
Public Function setSPEDBUCH_FAKTURIERT(Optional wert As Boolean = True) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
|
Dim sqlstr = " UPDATE Speditionsbuch SET Fakturiert='" & If(wert, 1, 0) & "' WHERE FilialenNr = '" & Me.FilialenNr & "' AND AbfertigungsNr = '" & Me.[AbfertigungsNr] & "' AND UnterNr = '" & Me.[SpeditionsbuchUnterNr] & "'"
|
|
Return SQL.doSQL(sqlstr, "FMZOLL")
|
|
End Function
|
|
|
|
Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
|
Dim sqlstr = " DELETE FROM [Rechnungsausgang] WHERE RK_ID=" & Me.RK_ID
|
|
Return SQL.doSQL(sqlstr, "FMZOLL")
|
|
End Function
|
|
|
|
Public Function DELETE_POSITIONEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
|
|
Dim sqlstr = " DELETE FROM [RechnungsausgangPositionen] WHERE RK_ID=" & Me.RK_ID
|
|
Return SQL.doSQL(sqlstr, "FMZOLL")
|
|
End Function
|
|
|
|
Public Sub LOAD_POSITIONEN()
|
|
Try
|
|
POSITIONEN.Clear()
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
|
Using cmd As New SqlCommand("Select * FROM RechnungsausgangPositionen WHERE RK_ID=@RK_ID ", conn)
|
|
cmd.Parameters.AddWithValue("@RK_ID", Me.RK_ID)
|
|
|
|
Dim dr = cmd.ExecuteReader()
|
|
While dr.Read
|
|
Dim l As New cRechnungsausgangPositionen
|
|
For Each i In l.getParameterList()
|
|
Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
|
|
If dr.Item(i.Text) Is DBNull.Value Then
|
|
propInfo.SetValue(l, Nothing)
|
|
Else
|
|
propInfo.SetValue(l, dr.Item(i.Text))
|
|
End If
|
|
Next
|
|
POSITIONEN.Add(l)
|
|
End While
|
|
dr.Close()
|
|
End Using
|
|
End Using
|
|
doVorzeichenPOS()
|
|
Catch ex As Exception
|
|
MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
|
|
|
|
Public Class cRechnungsausgangPositionen
|
|
|
|
Property RK_ID As Integer
|
|
Property LeistungsNr As Integer
|
|
Property Steuerpflichtig As Boolean
|
|
Property LeistungsBez As String = Nothing
|
|
Property IndexZkteing As Integer = 0
|
|
Property BerechnungsartNr As Integer = 1
|
|
Property Preis As Object = Nothing
|
|
Property Anzahl As Object = Nothing
|
|
Property SteuerpflichtigerBetrag As Decimal = 0
|
|
Property SteuerfreierBetrag As Decimal = 0
|
|
Property AufschubkontoNr As Object = Nothing
|
|
Property Aufschubfälligkeit As Object = Nothing
|
|
Property Prüfsumme_berechnen As Boolean '!!!!
|
|
Property DateiNameAufschub As Object = Nothing
|
|
Property Preisbindung As Boolean '!!!!
|
|
Property Belegdaten As Object = Nothing
|
|
Property Fremdwährung As Object = Nothing
|
|
Property BGebLeistungsNr As Object = Nothing
|
|
Property BGebProzent As Object = Nothing
|
|
Property BGebBgl As Object = Nothing
|
|
Property BGebMinBetrag As Object = Nothing
|
|
Property RePosZeitstempel As Object = Nothing
|
|
|
|
'FROM [VERAG].[dbo].[RechnungsausgangPositionen]
|
|
|
|
|
|
Dim SQL As New SQL
|
|
|
|
Sub New()
|
|
End Sub
|
|
|
|
|
|
|
|
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
|
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RK_ID", RK_ID))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Steuerpflichtig", Steuerpflichtig))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IndexZkteing", IndexZkteing))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartNr", BerechnungsartNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preis", Preis))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anzahl", Anzahl))
|
|
|
|
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerpflichtigerBetrag", SteuerpflichtigerBetrag))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SteuerfreierBetrag", SteuerfreierBetrag))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AufschubkontoNr", AufschubkontoNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Aufschubfälligkeit", Aufschubfälligkeit))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Prüfsumme berechnen", Prüfsumme_berechnen, "Prüfsumme_berechnen")) '!!!!
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("DateiNameAufschub", DateiNameAufschub))
|
|
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Preisbindung", Preisbindung))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdaten", Belegdaten))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fremdwährung", Fremdwährung))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebLeistungsNr", BGebLeistungsNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebProzent", BGebProzent))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebBgl", BGebBgl))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebMinBetrag", BGebMinBetrag))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RePosZeitstempel", RePosZeitstempel))
|
|
|
|
'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("upsize_ts", XXXXXXXXXXXXX))
|
|
Return list
|
|
End Function
|
|
|
|
Public Function INSERT(RK_ID) As Boolean
|
|
Me.RK_ID = RK_ID
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
Return SQL.doSQLVarList(getInsertCmd, "FMZOLL", , list)
|
|
End Function
|
|
|
|
|
|
Public Sub doVorzeichen(Vorzeichen)
|
|
Dim vz = If(Vorzeichen = "-", -1, 1)
|
|
Me.Preis *= vz
|
|
Me.SteuerfreierBetrag *= vz
|
|
Me.SteuerpflichtigerBetrag *= vz
|
|
End Sub
|
|
|
|
Public Function getInsertCmd() As String
|
|
Try
|
|
'Me.Eingegeben_am = Now
|
|
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
|
Dim str As String = ""
|
|
Dim values As String = ""
|
|
For Each i In list
|
|
If Not i.isPrimaryParam Then
|
|
str &= "[" & i.Text & "],"
|
|
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
|
End If
|
|
Next
|
|
str = str.Substring(0, str.Length - 1) 'wg. ','
|
|
values = values.Substring(0, values.Length - 1) 'wg. ','
|
|
Return (" INSERT INTO RechnungsausgangPositionen (" & str & ") VALUES(" & values & ") ")
|
|
Catch ex As Exception
|
|
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
End Class |