938 lines
46 KiB
VB.net
938 lines
46 KiB
VB.net
Imports System.Data.SqlClient
|
|
Imports System.Reflection
|
|
Imports System.Windows.Forms
|
|
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
|
|
|
|
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_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 |