Kundebeabeit, MDMDatenverarb., Fakt, Syska-Einarbeitung, Offerten, etc.
This commit is contained in:
@@ -225,7 +225,7 @@ Public Class cOfferte
|
||||
End Function
|
||||
|
||||
|
||||
Function RESET_STANDARTOFFERTEN(Sachbearbeiter) As Boolean
|
||||
Function RESET_STANDARTOFFERTEN(Sachbearbeiter As String, Optional Sprache As String = "DE") As Boolean
|
||||
'Zuserst alle OffertenPos von dem Offert löschen
|
||||
If SQL.doSQL("DELETE FROM [Offertenpositionen] WHERE KundenNr=" & Me.KundenNr & " and OffertenNr=" & Me.OffertenNr, "FMZOLL") Then
|
||||
'jetzt die Standartofferten einfügen
|
||||
@@ -233,12 +233,28 @@ Public Class cOfferte
|
||||
Dim P As New cOffertPosition()
|
||||
Dim Leistung As New cLeistungen(r("LeistungsNr"))
|
||||
|
||||
|
||||
P.KundenNr = Me.KundenNr
|
||||
P.OffertenNr = Me.OffertenNr
|
||||
|
||||
P.LeistungsNr = r("LeistungsNr")
|
||||
P.LeistungsBez = r("LeistungsBez")
|
||||
|
||||
Dim leistBez As String = ""
|
||||
|
||||
Select Case Sprache
|
||||
Case "EN" : leistBez = IIf(Not IsDBNull(r("LeistungsBez_EN")), r("LeistungsBez_EN"), "")
|
||||
Case "RO" : leistBez = IIf(Not IsDBNull(r("LeistungsBez_RO")), r("LeistungsBez_RO"), "")
|
||||
Case "TR" : leistBez = IIf(Not IsDBNull(r("LeistungsBez_TR")), r("LeistungsBez_TR"), "")
|
||||
Case Else
|
||||
P.LeistungsBez = r("LeistungsBez")
|
||||
End Select
|
||||
|
||||
If leistBez.Length > 30 Then
|
||||
P.LeistungsBez = leistBez.Substring(0, 30)
|
||||
Else
|
||||
P.LeistungsBez = leistBez
|
||||
End If
|
||||
|
||||
If IsDBNull(P.LeistungsBez) OrElse P.LeistungsBez = "" Then P.LeistungsBez = r("LeistungsBez")
|
||||
|
||||
P.BerechnungsartNr = Leistung.BerechnungsartNr
|
||||
P.Preis = r("Preis")
|
||||
P.Anzahl = r("Anzahl")
|
||||
@@ -253,6 +269,23 @@ Public Class cOfferte
|
||||
'P.Preisänderung = XXXXXXXXX
|
||||
'P.PreisänderungProzent = XXXXXXXXX
|
||||
'P.PreisAlt = XXXXXXXXX
|
||||
|
||||
Dim LandISO As String = ""
|
||||
|
||||
Select Case P.OffertenNr
|
||||
|
||||
Case 31, 15, 14
|
||||
If (P.LeistungsNr = 124 Or P.LeistungsNr = 125 Or P.LeistungsNr = 126) Then
|
||||
LandISO = P.LeistungsBez.ToString.Substring(P.LeistungsBez.ToString.Length - 2, 2)
|
||||
End If
|
||||
|
||||
|
||||
End Select
|
||||
|
||||
If LandISO <> "" AndAlso LandISO.All(Function(c) Char.IsUpper(c)) Then
|
||||
P.Land = LandISO
|
||||
End If
|
||||
|
||||
If Not P.INSERT() Then
|
||||
Return False
|
||||
End If
|
||||
@@ -262,9 +295,9 @@ Public Class cOfferte
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
Public Function RESET_STANDARTOFFERTEN_FIRMA(Sachbearbeiter, Firma) As Boolean
|
||||
Public Function RESET_STANDARTOFFERTEN_FIRMA(Sachbearbeiter As String, Firma As String, Optional Sprache As String = "DE") As Boolean
|
||||
If Firma = "" Or Firma = "VERAG" Then
|
||||
Return RESET_STANDARTOFFERTEN(Sachbearbeiter)
|
||||
Return RESET_STANDARTOFFERTEN(Sachbearbeiter, Sprache)
|
||||
Else
|
||||
|
||||
'Zuserst alle OffertenPos von dem Offert löschen
|
||||
@@ -279,7 +312,25 @@ Public Class cOfferte
|
||||
P.OffertenNr = Me.OffertenNr
|
||||
|
||||
P.LeistungsNr = r("LeistungsNr")
|
||||
P.LeistungsBez = r("LeistungsBez")
|
||||
|
||||
Dim leistBez As String = ""
|
||||
|
||||
Select Case Sprache
|
||||
Case "EN" : leistBez = r("LeistungsBez_EN")
|
||||
Case "RO" : leistBez = r("LeistungsBez_RO")
|
||||
Case "TR" : leistBez = r("LeistungsBez_TR")
|
||||
Case Else
|
||||
P.LeistungsBez = r("LeistungsBez")
|
||||
End Select
|
||||
|
||||
If leistBez.Length > 30 Then
|
||||
P.LeistungsBez = leistBez.Substring(0, 30)
|
||||
Else
|
||||
P.LeistungsBez = leistBez
|
||||
End If
|
||||
|
||||
If IsDBNull(P.LeistungsBez) OrElse P.LeistungsBez = "" Then P.LeistungsBez = r("LeistungsBez")
|
||||
|
||||
P.BerechnungsartNr = Leistung.BerechnungsartNr
|
||||
P.Preis = r("Preis")
|
||||
P.Anzahl = r("Anzahl")
|
||||
@@ -294,6 +345,20 @@ Public Class cOfferte
|
||||
'P.Preisänderung = XXXXXXXXX
|
||||
'P.PreisänderungProzent = XXXXXXXXX
|
||||
'P.PreisAlt = XXXXXXXXX
|
||||
|
||||
|
||||
Dim LandISO As String = ""
|
||||
|
||||
Select Case P.OffertenNr
|
||||
|
||||
Case 31, 15, 14
|
||||
LandISO = P.LeistungsBez.ToString.Substring(P.LeistungsBez.ToString.Length - 2, 2)
|
||||
End Select
|
||||
|
||||
If LandISO <> "" AndAlso LandISO.All(Function(c) Char.IsUpper(c)) Then
|
||||
P.Land = LandISO
|
||||
End If
|
||||
|
||||
If Not P.INSERT() Then
|
||||
Return False
|
||||
End If
|
||||
@@ -328,6 +393,10 @@ Public Class cOffertPosition
|
||||
Property PreisAlt As Object = Nothing
|
||||
Property BerechnungsartPosInkludiert As Object = Nothing
|
||||
Property SSMA_TimeStamp As Object = Nothing
|
||||
Property Land As Object = Nothing
|
||||
Property VZ As Object = Nothing
|
||||
Property RMC As Object = Nothing
|
||||
Property Fremd As Object = Nothing
|
||||
|
||||
Dim SQL As New SQL
|
||||
|
||||
@@ -355,6 +424,11 @@ Public Class cOffertPosition
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisänderungProzent", PreisänderungProzent))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PreisAlt", PreisAlt))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartPosInkludiert", BerechnungsartPosInkludiert))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Land", Land))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZ", VZ))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RMC", RMC))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Fremd", Fremd))
|
||||
|
||||
Return list
|
||||
End Function
|
||||
|
||||
@@ -735,3 +809,143 @@ Public Class cOffertPositionArchiv
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
Public Class cStandardofferten
|
||||
Property OffertenNr As Integer
|
||||
Property Währungscode As Object = Nothing
|
||||
Property LeistungsNr As Integer
|
||||
Property LeistungsBez As Object = Nothing
|
||||
Property Preis As Object = Nothing
|
||||
Property Anzahl As Object = Nothing
|
||||
Property BGebLeistungsNr As Object = Nothing
|
||||
Property BGebProzent As Object = Nothing
|
||||
Property BGebMinBetrag As Object = Nothing
|
||||
Property BerechnungsartPosInkludiert As Object = Nothing
|
||||
Property BerechnungsartNr As Object = Nothing
|
||||
|
||||
Property LeistungsBez_EN As Object = Nothing
|
||||
Property LeistungsBez_RO As Object = Nothing
|
||||
|
||||
Property LeistungsBez_TR As Object = Nothing
|
||||
|
||||
Public hasEntry = False
|
||||
|
||||
Dim SQL As New SQL
|
||||
|
||||
Sub New(OffertenNr, Währungscode, LeistungsNr, LeistungsBez)
|
||||
Me.OffertenNr = OffertenNr
|
||||
Me.Währungscode = Währungscode
|
||||
Me.LeistungsNr = LeistungsNr
|
||||
Me.LeistungsBez = LeistungsBez
|
||||
LOAD()
|
||||
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("OffertenNr", OffertenNr))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Währungscode", Währungscode))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsNr", LeistungsNr))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez", LeistungsBez))
|
||||
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("BGebLeistungsNr", BGebLeistungsNr))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebProzent", BGebProzent))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BGebMinBetrag", BGebMinBetrag))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartPosInkludiert", BerechnungsartPosInkludiert))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BerechnungsartNr", BerechnungsartNr))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez_EN", LeistungsBez_EN))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez_RO", LeistungsBez_RO))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LeistungsBez_TR", LeistungsBez_TR))
|
||||
|
||||
Return list
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Public Function SAVE() As Boolean
|
||||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||||
|
||||
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM Standardofferten WHERE OffertenNr=@OffertenNr AND Währungscode=@Währungscode AND LeistungsNr=@LeistungsNr AND LeistungsBez=@LeistungsBez) " &
|
||||
" BEGIN " & getUpdateCmd() & " END " &
|
||||
" Else " &
|
||||
" BEGIN " & getInsertCmd() & " END " &
|
||||
" commit tran "
|
||||
|
||||
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
||||
End Function
|
||||
|
||||
Public Sub LOAD()
|
||||
Try
|
||||
hasEntry = False
|
||||
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||
Using cmd As New SqlCommand("SELECT * FROM Standardofferten WHERE OffertenNr=@OffertenNr AND Währungscode=@Währungscode AND LeistungsNr=@LeistungsNr AND LeistungsBez=@LeistungsBez ", conn)
|
||||
cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
|
||||
cmd.Parameters.AddWithValue("@Währungscode", Währungscode)
|
||||
cmd.Parameters.AddWithValue("@LeistungsNr", LeistungsNr)
|
||||
cmd.Parameters.AddWithValue("@LeistungsBez", LeistungsBez)
|
||||
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
|
||||
hasEntry = True
|
||||
End If
|
||||
dr.Close()
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
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 [Standardofferten] SET " & str & " WHERE OffertenNr=@OffertenNr AND Währungscode=@Währungscode AND LeistungsNr=@LeistungsNr AND LeistungsBez=@LeistungsBez ")
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
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 Standardofferten (" & str & ") VALUES(" & values & ") ")
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||
End Try
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
@@ -371,8 +371,8 @@ Public Class cRechnungsausgang
|
||||
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)
|
||||
Using cmd As New SqlCommand("SELECT * FROM Rechnungsausgang WHERE FilialenNr=@FilialenNr AND AbfertigungsNr=@AbfertigungsNr ", conn)
|
||||
cmd.Parameters.AddWithValue("@FilialenNr", FilialeNr)
|
||||
cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr)
|
||||
Dim dr = cmd.ExecuteReader()
|
||||
If dr.Read Then
|
||||
|
||||
@@ -34,6 +34,7 @@ Public Class cTrdInvoice
|
||||
Property Nettozahlungsziel As Object = Nothing
|
||||
Property Firma_ID As Object = Nothing
|
||||
Property UStVAn_ID As Object = Nothing
|
||||
Property VZ As Integer
|
||||
|
||||
Property hasEntry As Boolean = False
|
||||
|
||||
@@ -89,6 +90,7 @@ Public Class cTrdInvoice
|
||||
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("UStVAn_ID", UStVAn_ID))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZ", VZ))
|
||||
|
||||
|
||||
Return list
|
||||
@@ -238,6 +240,7 @@ Public Class cTrdProduct
|
||||
Property Belegdaten As Object = Nothing
|
||||
Property Sachkonto As Object = Nothing
|
||||
Property Buchungstext As Object = Nothing
|
||||
Property VZBetrag As Object = Nothing
|
||||
|
||||
|
||||
Dim SQL As New SQL
|
||||
@@ -262,6 +265,7 @@ Public Class cTrdProduct
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Belegdaten", Belegdaten))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Sachkonto", Sachkonto))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Buchungstext", Buchungstext))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VZBetrag", VZBetrag))
|
||||
|
||||
Return list
|
||||
End Function
|
||||
@@ -447,6 +451,7 @@ Class TrdInvoice_FUNCTIONS
|
||||
TRD_INVOICE.SteuerfreierBetragLokal = 0
|
||||
TRD_INVOICE.SteuerbetragLokal = 0
|
||||
TRD_INVOICE.RechnungsbetragLokal = 0
|
||||
TRD_INVOICE.RechnungsbetragLokal = 0
|
||||
|
||||
WährungsdifferenzSteuerpflichtigerBetrag = TRD_INVOICE.SteuerpflichtigerBetragLokal
|
||||
WährungsdifferenzSteuerfreierBetrag = TRD_INVOICE.SteuerfreierBetragLokal
|
||||
@@ -475,10 +480,11 @@ Class TrdInvoice_FUNCTIONS
|
||||
TRD_INVOICE.Abgleich_op_debitor = 0
|
||||
TRD_INVOICE.Nettozahlungsziel = ROW("RK_Nettozahlungsziel")
|
||||
TRD_INVOICE.Firma_ID = ROW("RK_Firma_ID")
|
||||
TRD_INVOICE.UStVAn_ID = Nothing
|
||||
TRD_INVOICE.UStVAn_ID = ROW("AntragsID")
|
||||
TRD_INVOICE.VZ = ROW("VZ")
|
||||
|
||||
If TRD_INVOICE.SAVE Then
|
||||
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), ROW("RK_Buchungstext"), TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr) Then
|
||||
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), ROW("RK_Buchungstext"), TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, ROW("VZ")) Then
|
||||
'UPDATE rechnugnsausgang
|
||||
Dim firmaTmpsql = If(Firma > 0, " AND Firma_ID= '" & Firma & "' ", "")
|
||||
Dim buchungsjahrTmpsql = If(Buchungsjahr > 0, " AND Buchungsjahr= '" & Buchungsjahr & "' ", "")
|
||||
@@ -504,7 +510,7 @@ Class TrdInvoice_FUNCTIONS
|
||||
|
||||
|
||||
|
||||
Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, TRD_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag, Buchungsjahr) As Boolean
|
||||
Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, TRD_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag, Buchungsjahr, isVZ) As Boolean
|
||||
Try
|
||||
|
||||
Dim LOKALWÄHRUNG = "EUR"
|
||||
@@ -555,6 +561,18 @@ Class TrdInvoice_FUNCTIONS
|
||||
TRD_PRODUCT.Sachkonto = getSachkonto(RK_Firma_ID, ROW("RP_LeistungsNr"), RK_RechnungsLandKz, ROW("RP_Steuerpflichtig"), ROW("AufschubkontoNr"))
|
||||
TRD_PRODUCT.Buchungstext = RK_Buchungstext
|
||||
|
||||
If isVZ > 0 Then
|
||||
Select Case ROW("RP_LeistungsNr")
|
||||
Case "124", "125", "126", "117", "118", "119"
|
||||
TRD_PRODUCT.VZBetrag = TRD_PRODUCT.SteuerfreierBetragLokal
|
||||
|
||||
Case Else
|
||||
TRD_PRODUCT.VZBetrag = 0
|
||||
End Select
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
TRD_PRODUCT.SAVE()
|
||||
@@ -676,8 +694,8 @@ Class TrdInvoice_FUNCTIONS
|
||||
Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RK_SteuerfreierBetrag
|
||||
, (Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100 AS RK_Steuerbetrag,
|
||||
Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)+Sum(RechnungsausgangPositionen.SteuerfreierBetrag)+((Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100) AS RK_Rechnungsbetrag,
|
||||
Count(1) AS RK_Satzzähler
|
||||
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
|
||||
Count(1) AS RK_Satzzähler, max(CONVERT(int,isnull(tblUStVPositionen.UStVPo_VZ,0))) as VZ, MAX(isnull(tblUStVPositionen.UStVAn_ID,0)) as AntragsID
|
||||
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID LEFT JOIN tblUStVPositionen on Rechnungsausgang.RK_ID = UStVPo_VZ_RKID
|
||||
WHERE (((Rechnungsausgang.RechnungsDatum) Is Not Null) AND ((Rechnungsausgang.RechnungsNr) Is Not Null) AND ((Rechnungsausgang.Trdin)=0)) " & If(Firma > 0, " and Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Buchungsjahr=" & Buchungsjahr, "") & "
|
||||
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr
|
||||
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports System.Text.RegularExpressions
|
||||
Imports sun.util.resources.cldr.ve
|
||||
|
||||
Public Class cSyska_Interface
|
||||
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
@@ -359,6 +360,9 @@ Public Class cSyska_Interface
|
||||
If r("BelegartenNr") = 71 And Not ambargubuchungen Then 'GUTSCHRIFT ---> Immer am Schluss
|
||||
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
|
||||
End If
|
||||
If r("VZ") = 1 Then
|
||||
file.WriteLine(genBuchungsZeileVZ(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
|
||||
End If
|
||||
Next
|
||||
' file.WriteLine(genBuchungenEnd(SummeBuchungen))
|
||||
bool_DatenVorhanden = True
|
||||
@@ -545,7 +549,7 @@ Public Class cSyska_Interface
|
||||
,min(WährungFremd) as WährungFremd,min(SteuerbetragFremd) as SteuerbetragFremd,min(RechnungsbetragFremd) as RechnungsbetragFremd,min(TrdinDateiname) as TrdinDateiname,min(Abgleich_op_debitor+0) as Abgleich_op_debitor
|
||||
,min(Nettozahlungsziel) as Nettozahlungsziel,min(Firma_ID) as Firma_ID,min(UStVAn_ID) as UStVAn_ID /*,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig*/,sum(PROD.SteuerpflichtigerBetragLokal) as SteuerpflichtigerBetragLokal
|
||||
,sum(PROD.SteuerfreierBetragLokal) as SteuerfreierBetragLokal,sum(PROD.SteuerpflichtigerBetragFremd) as SteuerpflichtigerBetragFremd,sum(PROD.SteuerfreierBetragFremd) as SteuerfreierBetragFremd,min(Belegdaten) as Belegdaten
|
||||
,min(Sachkonto) as Sachkonto,min(Buchungstext) as Buchungstext,Sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal]) As BetragLokal, Sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd]) As BetragFremd
|
||||
,min(Sachkonto) as Sachkonto,min(Buchungstext) as Buchungstext,Sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal]) As BetragLokal, Sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd]) As BetragFremd, MAX(VZ) as VZ, SUM(isnull(PROD.VZBetrag,0)) as VZBetrag
|
||||
|
||||
FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum=PROD.Rechnungsdatum
|
||||
" & where & "
|
||||
@@ -821,6 +825,97 @@ Public Class cSyska_Interface
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
Public Shared Function genBuchungsZeileVZ(row As DataRow, ByRef SummeBuchungen As Double, ByRef Geschäftsjahr As Integer, ByRef FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, ByRef curDifferenzbetrag As Double, Optional ambargubuchungen As Boolean = False) As String
|
||||
|
||||
Dim curSteuerbetrag As Double
|
||||
Dim curNettobetrag As Double
|
||||
Dim curBruttobetrag As Double
|
||||
Dim FiBuBruttobetrag As String
|
||||
Dim FiBuEigenbruttobetrag As Double
|
||||
Dim FiBuSteuersatz As Double
|
||||
Dim FiBuSteuerbetrag As String
|
||||
Dim FiBuSollkontonummer As Integer
|
||||
Dim FiBuHabenkontonummer As Integer
|
||||
|
||||
Dim FiBuWährung = "EUR"
|
||||
|
||||
|
||||
Dim ANTRAG As New cUSTVAntrag(row("UStVAn_ID"))
|
||||
Dim KUNDE_ERW As New cKundenErweitert(ANTRAG.UStVAn_KuNr)
|
||||
|
||||
|
||||
Dim MonthStart As String = IIf(CDate(ANTRAG.UStVAn_ReDatVon).Month < 10, "0", "") & CDate(ANTRAG.UStVAn_ReDatVon).Month
|
||||
Dim MonthEnd As String = IIf(CDate(ANTRAG.UStVAn_ReDatBis).Month < 10, "0", "") & CDate(ANTRAG.UStVAn_ReDatBis).Month
|
||||
|
||||
|
||||
Select Case row("BelegartenNr")
|
||||
Case 71 'Gutschrift
|
||||
If Not ambargubuchungen Then
|
||||
|
||||
Select Case row("KundenNrZentrale")
|
||||
Case "150000", "180000" : FiBuSollkontonummer = 2865
|
||||
Case "140000" : FiBuSollkontonummer = 2868
|
||||
Case Else
|
||||
FiBuSollkontonummer = 2866
|
||||
End Select
|
||||
|
||||
FiBuHabenkontonummer = If(row("Sachkonto") IsNot DBNull.Value, row("Sachkonto"), " ")
|
||||
|
||||
If row("WährungFremd") Is DBNull.Value Then
|
||||
curNettobetrag = 0 - row("VZBetrag")
|
||||
Else
|
||||
curNettobetrag = 0 - row("VZBetrag")
|
||||
End If
|
||||
End If
|
||||
|
||||
End Select
|
||||
|
||||
'If CBool(row("steuerpflichtig")) Then
|
||||
' curSteuerbetrag = CLng(curNettobetrag * CDbl(row("Steuersatz")) * 100) / 100
|
||||
' curBruttobetrag = curNettobetrag + curSteuerbetrag
|
||||
' FiBuBruttobetrag = curBruttobetrag.ToString("N2")
|
||||
' curDifferenzbetrag = Math.Round(curDifferenzbetrag, 2) - Math.Round(CDbl(FiBuBruttobetrag), 2)
|
||||
' FiBuSteuersatz = Format(CDbl(row("Steuersatz")) * 100, "00.00")
|
||||
' ' Die folgende Zeile führt zu Buchungsfehler bei Fremdwährung,
|
||||
' ' Buchungssatz.FiBuSteuerbetrag = Format(curSteuerbetrag, "########0.00")
|
||||
' ' deshalb nur Steuerprozent und keinen Steuerbetrag übergeben.
|
||||
' FiBuSteuerbetrag = ""
|
||||
'Else
|
||||
curBruttobetrag = curNettobetrag
|
||||
FiBuBruttobetrag = curBruttobetrag.ToString("N2")
|
||||
curDifferenzbetrag = Math.Round(curDifferenzbetrag, 2) - Math.Round(CDbl(FiBuBruttobetrag), 2)
|
||||
FiBuSteuersatz = "00,00"
|
||||
FiBuSteuerbetrag = ""
|
||||
'End If
|
||||
|
||||
If row("WährungFremd") Is DBNull.Value Then
|
||||
FiBuEigenbruttobetrag = CDbl(row("RechnungsbetragLokal")) 'Bruttobetrag
|
||||
FiBuWährung = row("WährungLokal")
|
||||
Else
|
||||
FiBuWährung = row("WährungFremd")
|
||||
FiBuEigenbruttobetrag = CDbl(row("RechnungsbetragFremd")) 'Bruttobetrag
|
||||
End If
|
||||
|
||||
genBuchungsZeileVZ = "L" & vbTab
|
||||
genBuchungsZeileVZ &= CDate(row("Rechnungsdatum")).ToString("dd.MM.yyyy") & vbTab
|
||||
genBuchungsZeileVZ &= "VZ " & CDate(row("Rechnungsdatum")).ToString("ddMMyy") & vbTab
|
||||
|
||||
genBuchungsZeileVZ &= FiBuSollkontonummer & vbTab
|
||||
genBuchungsZeileVZ &= FiBuHabenkontonummer & vbTab
|
||||
genBuchungsZeileVZ &= ANTRAG.UStVAn_KuNr & " " & IIf(Not IsDBNull(KUNDE_ERW.kde_BezFIBU), KUNDE_ERW.kde_BezFIBU, "") & " / " & ANTRAG.UStVAn_LandKz & " " & MonthStart & "-" & MonthEnd & "/" & CDate(ANTRAG.UStVAn_ReDatBis).Year.ToString.Substring(2) & " VZ" & vbTab
|
||||
|
||||
genBuchungsZeileVZ &= Format(CDbl(FiBuBruttobetrag), fmt) & vbTab
|
||||
genBuchungsZeileVZ &= Format(CDbl(FiBuSteuersatz), fmt) & vbTab 'FiBuSteuersatz
|
||||
genBuchungsZeileVZ &= FormatStringDbl(FiBuSteuerbetrag) & vbTab 'FiBuSteuerbetrag
|
||||
genBuchungsZeileVZ &= FiBuWährung & vbTab
|
||||
genBuchungsZeileVZ &= Format(CDbl(FiBuBruttobetrag), fmt) & vbTab
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Public Shared Function genBuchungsZeileDiffBetrag(row As DataRow, ByRef SummeBuchungen As Double, ByRef Geschäftsjahr As Integer, ByRef FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen, ByRef curDifferenzbetrag As Double) As String
|
||||
|
||||
' Buchungssatz Steuerdifferenz
|
||||
|
||||
Reference in New Issue
Block a user