Files
SDL/VERAG_PROG_ALLGEMEIN/Classes/cRechnungsausgang.vb

1005 lines
49 KiB
VB.net

Imports System.Data.SqlClient
Imports System.Reflection
Imports System.Windows.Forms
'Imports DocumentFormat.OpenXml.Drawing.Charts
'Imports DocumentFormat.OpenXml.Spreadsheet
Public Class cRechnungsausgangLIST
End Class
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 RechnungsName_AdressZusatz As String = ""
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 Integer = 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
Property Handling As Object = Nothing
Property VorschauID As Object = Nothing
Property Grenze As Object = Nothing
Property RechnungSprache As Object = Nothing
Property FakturierungsGruppe As String = ""
Property TextZZ As Object = Nothing
Property ForceSteuerschlüssel As Object = Nothing
' FROM [VERAG as object=nothing.[dbo as object=nothing.[Rechnungsausgang as object=nothing
Public POSITIONEN As New List(Of cRechnungsausgangPositionen)
Public ANHAENGE As New List(Of cRechnungsausgangAnhaenge)
Shared SQL As New SQL
Sub New()
End Sub
Sub New(RK_ID)
Me.RK_ID = RK_ID
LOAD() : LOAD_POSITIONEN() : LOAD_ANHAENGE()
End Sub
Sub New(FilialenNr, AbfertigungsNr)
Me.FilialenNr = FilialenNr
Me.AbfertigungsNr = AbfertigungsNr
LOAD(FilialenNr, AbfertigungsNr)
End Sub
Public Function getMaxRGUnterNr() As Integer
Return getMaxRGUnterNr(FilialenNr, AbfertigungsNr, SpeditionsbuchUnterNr)
End Function
Public Function checkAlreadyPrinted() As Integer
'Rechnung wurde bereits gedruck - evtl. bei überschneidenden Rechnungslauf --> Druck abbrechen!
If Me.RK_ID <= 0 Then Return False
Dim cnt = SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Rechnungsausgang] WHERE RK_ID='" & Me.RK_ID & "' and DruckDatumZeit is not null", "FMZOLL")
Return cnt > 0
End Function
Public Function checkRechnungsNrIsSet() As Boolean
'Prüfugn ob Eintrag mit dieser Rechnungsnr in DB existiert
If Me.RechnungsNr <= 0 Then Return False
Dim cnt = SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Rechnungsausgang] WHERE RechnungsNr='" & Me.RechnungsNr & "' and DruckDatumZeit is not null and Buchungsjahr = " & Me.Buchungsjahr & " and Firma_ID = '" & Me.Firma_ID & "'", "FMZOLL")
Return cnt > 0
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 Shared Function GET_LIST_WEB(KundenNr As Integer, von As Date, bis As Date, Optional RechnungsNr As Integer = -1, Optional Absender As String = "", Optional Empfänger As String = "", Optional LKW_Kennzeichen As String = "", Optional KdAuftragsNr As String = "") As List(Of cRechnungsausgang)
Dim LIST As New List(Of cRechnungsausgang)
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Dim sqlWHERE = ""
If RechnungsNr > 0 Then sqlWHERE &= " AND RechnungsNr LIKE @RechnungsNr"
If Absender <> "" Then sqlWHERE &= " AND Absender LIKE @Absender"
If Empfänger <> "" Then sqlWHERE &= " AND Empfänger LIKE @Empfänger"
If LKW_Kennzeichen <> "" Then sqlWHERE &= " AND [LKW Kennzeichen] LIKE @LKW_Kennzeichen"
If KdAuftragsNr <> "" Then sqlWHERE &= " AND KdAuftragsNr LIKE @KdAuftragsNr"
Using cmd As New SqlCommand("SELECT * FROM [Rechnungsausgang] WHERE RechnungsKundenNr=@RechnungsKundenNr and RechnungsDatum BETWEEN @RechnungsDatumVON and @RechnungsDatumBIS ORDER BY RechnungsNr ", conn)
cmd.Parameters.AddWithValue("@RechnungsKundenNr", KundenNr)
cmd.Parameters.AddWithValue("@RechnungsDatumVON", von)
cmd.Parameters.AddWithValue("@RechnungsDatumBIS", bis)
cmd.Parameters.AddWithValue("@Absender", Absender & "%")
cmd.Parameters.AddWithValue("@Empfänger", Empfänger & "%")
cmd.Parameters.AddWithValue("@LKW_Kennzeichen", "%" & LKW_Kennzeichen & "%")
cmd.Parameters.AddWithValue("@KdAuftragsNr", "%" & KdAuftragsNr & "%")
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim RG As New cRechnungsausgang
For Each li In RG.getParameterList()
Dim propInfo As PropertyInfo = RG.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(RG, Nothing)
Else
propInfo.SetValue(RG, dr.Item(li.Text))
End If
Next
RG.doVorzeichen()
LIST.Add(RG)
' If loadPos Then LOAD_POSITIONEN()
End While
dr.Close()
End Using
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 LIST
End Function
Public Shared Function GET_LIST_WEB_SR(RK_ID As Integer) As List(Of cRechnungsausgang)
Dim LIST As New List(Of cRechnungsausgang)
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()
While dr.Read
Dim RG As New cRechnungsausgang
For Each li In RG.getParameterList()
Dim propInfo As PropertyInfo = RG.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(RG, Nothing)
Else
propInfo.SetValue(RG, dr.Item(li.Text))
End If
Next
RG.doVorzeichen()
LIST.Add(RG)
' If loadPos Then LOAD_POSITIONEN()
End While
dr.Close()
End Using
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 LIST
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("RechnungsName_AdressZusatz", RechnungsName_AdressZusatz))
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))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Handling", Handling))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VorschauID", VorschauID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Grenze", Grenze))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RechnungSprache", RechnungSprache))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FakturierungsGruppe", FakturierungsGruppe))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TextZZ", TextZZ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ForceSteuerschlüssel", ForceSteuerschlüssel))
Return list
End Function
Public Sub LOAD(FilialeNr As Integer, AbfertigungsNr As Integer, Optional loadPos As Boolean = True)
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE FilialeNr=@FilialeNr AND AbfertigungsNr=@AbfertigungsNr ", conn)
cmd.Parameters.AddWithValue("@FilialeNr", FilialeNr)
cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
If loadPos Then LOAD_POSITIONEN()
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 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 li In VK.getParameterList()
Dim propInfo As PropertyInfo = VK.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(VK, Nothing)
Else
propInfo.SetValue(VK, dr.Item(li.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() ' Für GS in Minusbeträge umwandeln
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() ' Für GS in Minusbeträge umwandeln
If saveAll Then SAVE_POSITIONEN(RK_ID) ' positionen speicehrn
doVorzeichenPOS() ' Minusbeträge bei GS zurückumwandeln
If saveAll Then SAVE_ANHAENGE(RK_ID) ' positionen speicehrn
End If
doVorzeichen() ' Minusbeträge bei GS zurückumwandeln
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 String, dgv As MyDatagridview) As Boolean
If Firma_ID <= 0 Then errMsg = "ERROR: Firma auswählen!" : Return False
If Rechnung_an = 0 OrElse CStr(Rechnung_an) = "" Then errMsg = "ERROR: Rechnungsempfänger auswählen!" : Return False
If SpeditionsbuchUnterNr Is Nothing Then errMsg = "ERROR: Speditionsbuch-UnterNr auswählen!" : Return False
If RechnungsKundenNr <= 0 Then errMsg = "ERROR: Kunden-Nummer fehlt!" : Return False
' If Steuerschlüssel Then errMsg = "ERROR: Steuerschlüssel muss angegeben werden!" : Return False
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID)
If FIRMA.Firma_ID = 26 Then
If RechnungsLandKz <> "GB" And RechnungsLandKz <> "UK" Then
errMsg = "WARN: Abrechnung außerhalb GB." ' Return False
End If
If Währungscode <> "GBP" Then
errMsg = "ERROR: Es darf nur mit Währung 'GBP' abgerechnet werden!" : Return False
End If
End If
If RechnungsLandKz = FIRMA.Firma_LandKz Then
If Steuersatz_Proz = 0 Then
If vbYes <> MsgBox("Es wurde kein Steuerschlüssel angegeben." & vbNewLine & vbNewLine & "Sind Sie sicher, dass Sie ohne Steuerschlüssel fortfahren möchten.", vbYesNoCancel) Then
errMsg = "ERROR: Steuerschlüssel angegeben!"
Return False
End If
End If
End If
If dgv Is Nothing Then
errMsg = "ERROR: Keine Positionen angegeben!" : Return False
Else
If dgv.Rows.Count > 1 Then
'Prüfung für doppelte Positionen mit PK: Bezeichnung und LeistungNr!
Dim dt As New DataTable
dt.Columns.Add("name", GetType(String))
For Each row As DataGridViewRow In dgv.Rows
Dim R As DataRow = dt.NewRow
R("name") = row.Cells(0).Value
dt.Rows.Add(R)
Next
Dim dv As New DataView(dt)
Dim distinct As DataTable = dv.ToTable(True, New String() {"name"})
If distinct.Rows.Count <> dt.Rows.Count Then
errMsg = "ERROR: Doppelte Positionen vorhanden!" : Return False
End If
End If
End If
If dgv Is Nothing Then
errMsg = "ERROR: Keine Positionen angegeben!" : Return False
Else
If dgv.Rows.Count > 1 Then
'Prüfung für doppelte Positionen mit PK: Bezeichnung und LeistungNr!
Dim dt As New DataTable
dt.Columns.Add("name", GetType(String))
For Each row As DataGridViewRow In dgv.Rows
Dim R As DataRow = dt.NewRow
R("name") = row.Cells(0).Value
dt.Rows.Add(R)
Next
Dim dv As New DataView(dt)
Dim distinct As DataTable = dv.ToTable(True, New String() {"name"})
If distinct.Rows.Count <> dt.Rows.Count Then
errMsg = "ERROR: Doppelte Positionen vorhanden!" : Return False
End If
End If
End If
'checkFirmen
Return True
End Function
Public Function SAVE_POSITIONEN(RK_ID) As Boolean
If DELETE_POSITIONEN() Then ' zuerst Einträge löschen...
ORDER_POSITIONEN() ' ... dann ordnen ...
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 Function SAVE_ANHAENGE(RK_ID) As Boolean
If DELETE_ANHAENGE() Then ' zuerst Einträge löschen...
'ORDER_ANHAENGE() ' ... dann ordnen ...
For Each p In ANHAENGE
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 i In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(i.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 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 Function DELETE_ANHAENGE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
Dim sqlstr = " DELETE FROM [RechnungsausgangAnhaenge] 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() ' Minus in Plus umwandeln (DB hat Minus, System hat Plus-Beträge)
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 Sub LOAD_POSITIONEN_FROM_OFFERTE(OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte)
For Each O In OFFERTE.POSITIONEN
'If row("Anzahl") > 0 Then -->SQL
Dim l As New cRechnungsausgangPositionen
l.LeistungsNr = O.LeistungsNr
l.LeistungsBez = O.LeistungsBez
l.Anzahl = O.Anzahl
l.Preis = O.Preis
l.BerechnungsartNr = O.BerechnungsartNr
l.BGebLeistungsNr = O.BGebLeistungsNr
l.BGebProzent = O.BGebProzent
l.BGebMinBetrag = O.BGebMinBetrag
' l.Steuerpflichtig = O.ste
l.RK_ID = Me.RK_ID
POSITIONEN.Add(l)
' End If
Next
End Sub
Public Sub LOAD_OFFERT_POSITIONEN()
Try
' POSITIONEN.Clear()
Dim dt = SQL.loadDgvBySql(" Select [Offertenpositionen].[LeistungsNr],[Offertenpositionen].[LeistungsBez],[Anzahl],[Preis],[Offertenpositionen].[BerechnungsartNr],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],Steuerpflichtig/*,[Geändert am],[Sachbearbeiter]*/,BerechnungsartPosInkludiert
From [Offertenpositionen] INNER Join [Leistungen] On Leistungen.LeistungsNr=Offertenpositionen.LeistungsNr
Where KundenNr ='" & Me.RechnungsKundenNr & "' and OffertenNr='" & OffertenNr & "' AND Anzahl>0 AND Preis>0 ORDER BY LeistungsNr", "FMZOLL")
For Each row In dt.Rows
'If row("Anzahl") > 0 Then -->SQL
Dim l As New cRechnungsausgangPositionen
l.LeistungsNr = row("LeistungsNr")
l.LeistungsBez = row("LeistungsBez")
l.Anzahl = row("Anzahl")
l.Preis = row("Preis")
l.BerechnungsartNr = row("BerechnungsartNr")
l.BGebLeistungsNr = row("BGebLeistungsNr")
l.BGebProzent = row("BGebProzent")
l.BGebMinBetrag = row("BGebMinBetrag")
l.Steuerpflichtig = row("Steuerpflichtig")
'l.BGebBgl = l.Preis
If l.Steuerpflichtig Then
l.SteuerpflichtigerBetrag = l.Preis
l.Preis = l.Preis
Else
Dim steuersatz = SQL.DLookup("Steuertabelle.[Steuersatz %] ", "[Kunden] inner join Steuertabelle on Steuertabelle.Steuerschlüssel=kunden.Steuerschlüssel", "KundenNr='" & Me.RechnungsKundenNr & "'", "FMZOLL", "0")
l.SteuerfreierBetrag = l.Preis + (l.Preis * steuersatz)
l.Preis = l.Preis + (l.Preis * steuersatz)
End If
l.RK_ID = Me.RK_ID
POSITIONEN.Add(l)
' End If
Next
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 Sub LOAD_ANHAENGE()
Try
ANHAENGE.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM RechnungsausgangAnhaenge 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 cRechnungsausgangAnhaenge
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
ANHAENGE.Add(l)
End While
dr.Close()
End Using
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
Shared Function LOAD_ANHAENGE_LIST(RK_ID) As List(Of cRechnungsausgangAnhaenge)
Dim ANHAENGE As New List(Of cRechnungsausgangAnhaenge)
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM RechnungsausgangAnhaenge WHERE RK_ID=@RK_ID ", conn)
cmd.Parameters.AddWithValue("@RK_ID", RK_ID)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim l As New cRechnungsausgangAnhaenge
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
ANHAENGE.Add(l)
End While
dr.Close()
End Using
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 ANHAENGE
End Function
Public Sub ORDER_POSITIONEN()
Try
' Dim POSITIONEN_Tmp As New List(Of cRechnungsausgangPositionen)
Try
POSITIONEN = POSITIONEN.OrderByDescending(Function(x) x.Preis).ToList()
Catch ex As Exception
'Preis null??
End Try
POSITIONEN = POSITIONEN.OrderBy(Function(x) CInt(x.LeistungsNr)).ToList()
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
Sub New(_RK_ID)
RK_ID = _RK_ID
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
Public Class cRechnungsausgangAnhaenge
Property RK_ID As Integer
Property dsId As Integer
Property anhId As Integer
Property Bezeichnung As String = ""
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("dsId", dsId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("anhId", anhId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezeichnung", Bezeichnung))
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 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 RechnungsausgangAnhaenge (" & 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