div. Änderungen
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
Imports System.Text.RegularExpressions
|
||||
Imports sun.util.resources.cldr.ve
|
||||
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
|
||||
|
||||
Public Class cSyska_Interface
|
||||
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
@@ -295,7 +296,7 @@ Public Class cSyska_Interface
|
||||
'DATEIPFAD für Buchungsdaten
|
||||
'-------------------------------------------------------------------------------------------
|
||||
Dim pathArchiv = "\\datenarchiv\Datenarchiv\SYSKA\" & FIRMA.Firma_ID & "\" & Now.Year & "\" & Now.Date.ToShortDateString & "\Archiv\"
|
||||
Dim path = "\\fmzoll\f\FMZoll\FiBu\Syska\" & FIRMA.Firma_ID & "\"
|
||||
Dim path = "\\syncluster01.verag.ost.dmn\F\BUCHHALTUNG\FIBU\Syska\" & FIRMA.Firma_ID & "\"
|
||||
'pathKD = pathArchivKD 'TEST
|
||||
|
||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
||||
@@ -314,89 +315,27 @@ Public Class cSyska_Interface
|
||||
'----------------- Buchungssätze -----------------
|
||||
If True Then 'boolBuchungen Then
|
||||
If WdhDateiname = "" AndAlso Not ambargubuchungen Then TrdInvoice_FUNCTIONS.TrdinSchreiben(FIRMA.Firma_ID) 'Lädt die Daten aus der Tabelle Rechnungsausgang in die Tabelle trdInvoice (nur für 20 = IMEX )
|
||||
Dim dt_Buchungen As DataTable = getBuchungen(FIRMA.Firma_ID, WdhDateiname, ambargubuchungen, ambarKreditor)
|
||||
Dim dt_Buchungen_ALL As DataTable = getBuchungen(FIRMA.Firma_ID, WdhDateiname, ambargubuchungen, ambarKreditor)
|
||||
' MsgBox(WdhDateiname & " - " & dt_Buchungen.Rows.Count)
|
||||
If dt_Buchungen IsNot Nothing AndAlso dt_Buchungen.Rows.Count > 0 Then
|
||||
If dt_Buchungen_ALL IsNot Nothing AndAlso dt_Buchungen_ALL.Rows.Count > 0 Then
|
||||
|
||||
Dim ROWS_BV = dt_Buchungen_ALL.AsEnumerable().Where(Function(r) r.Field(Of Boolean)("BV") = True)
|
||||
Dim ROWS_not_BV = dt_Buchungen_ALL.AsEnumerable().Where(Function(r) r.Field(Of Boolean)("BV") = False)
|
||||
|
||||
Dim dt_Buchungen_BV As DataTable = If(ROWS_BV.Any(), ROWS_BV.CopyToDataTable(), dt_Buchungen_ALL.Clone())
|
||||
Dim dt_Buchungen As DataTable = If(ROWS_not_BV.Any(), ROWS_not_BV.CopyToDataTable(), dt_Buchungen_ALL.Clone())
|
||||
|
||||
|
||||
Try
|
||||
Dim file As System.IO.StreamWriter
|
||||
Dim Dateiname = IIf(ambargubuchungen, "GS_AMBAR_" & ambarKreditor & "_", "AVISO_BUBE_") & Now.ToString("ddMMyyyy_HHmm") & ".txt"
|
||||
file = My.Computer.FileSystem.OpenTextFileWriter(path & Dateiname, True, System.Text.Encoding.GetEncoding("iso-8859-15"))
|
||||
|
||||
' initKDNr(dt_Buchungen)
|
||||
Dim SummeBuchungen As Double = 0
|
||||
'file.WriteLine(genBuchungenBeginn()) 'not needed
|
||||
For Each r In dt_Buchungen.Rows
|
||||
|
||||
Dim curDifferenzbetrag As Double = 0
|
||||
If r("WährungFremd") Is DBNull.Value Then
|
||||
curDifferenzbetrag = Math.Round(If(r("RechnungsbetragLokal") < 0, 0 - r("RechnungsbetragLokal"), r("RechnungsbetragLokal")), 2)
|
||||
Else
|
||||
curDifferenzbetrag = Math.Round(If(r("RechnungsbetragFremd") < 0, 0 - r("RechnungsbetragFremd"), r("RechnungsbetragFremd")), 2)
|
||||
End If
|
||||
|
||||
If r("BelegartenNr") = 70 Or ambargubuchungen And r("BelegartenNr") = 71 Then 'RECHNUNG ---> Immer am Anfang
|
||||
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
|
||||
End If
|
||||
Dim dt_BuchungenZeilen As DataTable
|
||||
|
||||
If Not ambargubuchungen Then
|
||||
dt_BuchungenZeilen = getBuchungenZeilen(FIRMA.Firma_ID, r("Rechnungsnummer"), r("Rechnungsdatum"), WdhDateiname)
|
||||
Else
|
||||
dt_BuchungenZeilen = getBuchungenZeilenAMBAR(r("Rechnungsnummer"), r("Rechnungsdatum"), WdhDateiname)
|
||||
End If
|
||||
|
||||
If dt_BuchungenZeilen IsNot Nothing AndAlso dt_BuchungenZeilen.Rows.Count > 0 Then
|
||||
For Each rz In dt_BuchungenZeilen.Rows
|
||||
file.WriteLine(genBuchungsZeile(rz, SummeBuchungen, Geschaeftsjahr, FIRMA, curDifferenzbetrag, ambargubuchungen, r("Buchungstext"))) ' BuchungsZeilen...
|
||||
Next
|
||||
End If
|
||||
If curDifferenzbetrag <> 0 Then 'Differenz --> Ausgelich auf Diff.Konto
|
||||
file.WriteLine(genBuchungsZeileDiffBetrag(r, SummeBuchungen, Geschaeftsjahr, FIRMA, curDifferenzbetrag))
|
||||
End If
|
||||
If r("BelegartenNr") = 71 And Not ambargubuchungen Then 'GUTSCHRIFT ---> Immer am Schluss
|
||||
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
|
||||
End If
|
||||
Next
|
||||
|
||||
For Each r In dt_Buchungen.Rows
|
||||
If r("VZ") = 1 Then
|
||||
file.WriteLine(genBuchungsZeileVZ(r, SummeBuchungen, Geschaeftsjahr, FIRMA, ambargubuchungen))
|
||||
End If
|
||||
Next
|
||||
' file.WriteLine(genBuchungenEnd(SummeBuchungen))
|
||||
bool_DatenVorhanden = True
|
||||
|
||||
'Update Filename TrdIn 'NOCH NICHT!!!! -->JETZT DOCH!!!
|
||||
Dim varDateiname As String = IIf(ambargubuchungen, "AmbDateiname", "TrdinDateiname")
|
||||
Dim whereAmbarBuchungen As String = ""
|
||||
|
||||
If ambargubuchungen And ambarKreditor = "AG" Then
|
||||
whereAmbarBuchungen = "AND RechnungsKundenNr = 3013401 and RechnungsUstIdNr = 'U53187000' And BelegartenNr = 71"
|
||||
ElseIf ambargubuchungen And ambarKreditor = "CS" Then
|
||||
whereAmbarBuchungen = "AND RechnungsKundenNr = 3017683 and RechnungsUstIdNr = 'U68374109' And BelegartenNr = 71"
|
||||
'2 Dateien Belege betreffend BV und andere Belege
|
||||
|
||||
If dt_Buchungen.Rows.Count > 0 Then
|
||||
createBuchungszeilen(dt_Buchungen, ambargubuchungen, FIRMA, WdhDateiname, Geschaeftsjahr, path, pathArchiv, ambarKreditor, bool_DatenVorhanden, OpenFile, False)
|
||||
End If
|
||||
If dt_Buchungen_BV.Rows.Count > 0 Then
|
||||
createBuchungszeilen(dt_Buchungen_BV, ambargubuchungen, FIRMA, WdhDateiname, Geschaeftsjahr, path, pathArchiv, ambarKreditor, bool_DatenVorhanden, OpenFile, True)
|
||||
End If
|
||||
|
||||
If WdhDateiname = "" Then
|
||||
SQL.doSQL("update [tblTrdinInvoice] Set " & varDateiname & "='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = " & FIRMA.Firma_ID & " AND " & varDateiname & " is null " & whereAmbarBuchungen, "FMZOLL")
|
||||
Else
|
||||
SQL.doSQL("update [tblTrdinInvoice] Set " & varDateiname & "='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = " & FIRMA.Firma_ID & " AND " & varDateiname & " ='" & WdhDateiname & "' " & whereAmbarBuchungen, "FMZOLL")
|
||||
End If
|
||||
|
||||
file.Close()
|
||||
|
||||
'In Archiv sichern
|
||||
If pathArchiv <> "" Then
|
||||
If Not System.IO.Directory.Exists(pathArchiv) Then System.IO.Directory.CreateDirectory(pathArchiv)
|
||||
If path <> pathArchiv Then System.IO.File.Copy(path & Dateiname, pathArchiv & Dateiname)
|
||||
End If
|
||||
|
||||
If bool_DatenVorhanden Then
|
||||
If OpenFile Then Process.Start(path & Dateiname)
|
||||
Else
|
||||
System.IO.File.Delete(path & Dateiname)
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
|
||||
@@ -414,6 +353,93 @@ Public Class cSyska_Interface
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Private Shared Function createBuchungszeilen(dt As DataTable, ambargubuchungen As Boolean, firma As cFirmen, WdhDateiname As String, Geschaeftsjahr As Integer, path As String, pathArchiv As String, ambarKreditor As String, bool_DatenVorhanden As Boolean, OpenFile As Boolean, onlyBarverkauf As Boolean)
|
||||
|
||||
Dim file As System.IO.StreamWriter
|
||||
Dim Dateiname = IIf(ambargubuchungen, "GS_AMBAR_" & ambarKreditor & "_", "AVISO_BUBE_") & IIf(onlyBarverkauf, "BV_", "") & Now.ToString("ddMMyyyy_HHmm") & ".txt"
|
||||
file = My.Computer.FileSystem.OpenTextFileWriter(path & Dateiname, True, System.Text.Encoding.GetEncoding("iso-8859-15"))
|
||||
|
||||
Dim SummeBuchungen As Double = 0
|
||||
|
||||
|
||||
For Each r In dt.Rows
|
||||
|
||||
If r("Buchungstext").ToString.Contains("26000033") Then
|
||||
Dim test As String = ""
|
||||
End If
|
||||
|
||||
Dim curDifferenzbetrag As Double = 0
|
||||
If r("WährungFremd") Is DBNull.Value Then
|
||||
curDifferenzbetrag = Math.Round(If(r("RechnungsbetragLokal") < 0, 0 - r("RechnungsbetragLokal"), r("RechnungsbetragLokal")), 2)
|
||||
Else
|
||||
curDifferenzbetrag = Math.Round(If(r("RechnungsbetragFremd") < 0, 0 - r("RechnungsbetragFremd"), r("RechnungsbetragFremd")), 2)
|
||||
End If
|
||||
|
||||
If (r("BelegartenNr") = 70 Or ambargubuchungen And r("BelegartenNr") = 71) Then 'RECHNUNG ---> Immer am Anfang
|
||||
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, firma, ambargubuchungen))
|
||||
End If
|
||||
Dim dt_BuchungenZeilen As DataTable
|
||||
|
||||
If Not ambargubuchungen Then
|
||||
dt_BuchungenZeilen = getBuchungenZeilen(firma.Firma_ID, r("Rechnungsnummer"), r("Rechnungsdatum"), r("Source"), WdhDateiname)
|
||||
Else
|
||||
dt_BuchungenZeilen = getBuchungenZeilenAMBAR(r("Rechnungsnummer"), r("Rechnungsdatum"), r("Source"), WdhDateiname)
|
||||
End If
|
||||
|
||||
If dt_BuchungenZeilen IsNot Nothing AndAlso dt_BuchungenZeilen.Rows.Count > 0 Then
|
||||
For Each rz In dt_BuchungenZeilen.Rows
|
||||
file.WriteLine(genBuchungsZeile(rz, SummeBuchungen, Geschaeftsjahr, firma, curDifferenzbetrag, ambargubuchungen, r("Buchungstext"))) ' BuchungsZeilen...
|
||||
Next
|
||||
End If
|
||||
If curDifferenzbetrag <> 0 AndAlso Not (r("BelegartenNr") = 31 Or r("BelegartenNr") = 30) Then 'Differenz --> Ausgelich auf Diff.Konto -> nicht bei EINZAHLUNGEN/AUSZAHLUNGEN
|
||||
file.WriteLine(genBuchungsZeileDiffBetrag(r, SummeBuchungen, Geschaeftsjahr, firma, curDifferenzbetrag))
|
||||
End If
|
||||
If (r("BelegartenNr") = 71 Or r("BelegartenNr") = 31 Or r("BelegartenNr") = 30) And Not ambargubuchungen Then 'GUTSCHRIFT|EINNAHNE|AUSGABE ---> Immer am Schluss
|
||||
file.WriteLine(genBuchungsZeileSum(r, SummeBuchungen, Geschaeftsjahr, firma, ambargubuchungen))
|
||||
End If
|
||||
Next
|
||||
|
||||
For Each r In dt.Rows
|
||||
If r("VZ") = 1 Then
|
||||
file.WriteLine(genBuchungsZeileVZ(r, SummeBuchungen, Geschaeftsjahr, firma, ambargubuchungen))
|
||||
End If
|
||||
Next
|
||||
|
||||
|
||||
bool_DatenVorhanden = True
|
||||
|
||||
Dim varDateiname As String = IIf(ambargubuchungen, "AmbDateiname", "TrdinDateiname")
|
||||
Dim whereAmbarBuchungen As String = ""
|
||||
|
||||
If ambargubuchungen And ambarKreditor = "AG" Then
|
||||
whereAmbarBuchungen = "AND RechnungsKundenNr = 3013401 and RechnungsUstIdNr = 'U53187000' And BelegartenNr = 71"
|
||||
ElseIf ambargubuchungen And ambarKreditor = "CS" Then
|
||||
whereAmbarBuchungen = "AND RechnungsKundenNr = 3017683 and RechnungsUstIdNr = 'U68374109' And BelegartenNr = 71"
|
||||
|
||||
End If
|
||||
|
||||
If WdhDateiname = "" Then
|
||||
SQL.doSQL("update [tblTrdinInvoice] Set " & varDateiname & "='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = " & firma.Firma_ID & " AND " & varDateiname & " is null and isnull(BV, 0) = " & IIf(onlyBarverkauf, "1", "0") & whereAmbarBuchungen, "FMZOLL")
|
||||
Else
|
||||
SQL.doSQL("update [tblTrdinInvoice] Set " & varDateiname & "='" & Now.ToString("ddMMyyyyHHmm") & "' WHERE [Firma_ID] = " & firma.Firma_ID & " AND " & varDateiname & " ='" & WdhDateiname & "' and isnull(BV, 0) = " & IIf(onlyBarverkauf, "1", "0") & whereAmbarBuchungen, "FMZOLL")
|
||||
End If
|
||||
|
||||
file.Close()
|
||||
|
||||
If pathArchiv <> "" Then
|
||||
If Not System.IO.Directory.Exists(pathArchiv) Then System.IO.Directory.CreateDirectory(pathArchiv)
|
||||
If path <> pathArchiv Then System.IO.File.Copy(path & Dateiname, pathArchiv & Dateiname)
|
||||
End If
|
||||
|
||||
If bool_DatenVorhanden Then
|
||||
If OpenFile Then Process.Start(path & Dateiname)
|
||||
Else
|
||||
System.IO.File.Delete(path & Dateiname)
|
||||
End If
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
'Public Shared Function genDatensatz_BuchungenTEST(ByRef Firma_ID As Integer, Optional OpenFile As Boolean = False) As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean
|
||||
' Try
|
||||
' Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID)
|
||||
@@ -549,11 +575,11 @@ 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, MAX(VZ) as VZ, SUM(isnull(PROD.VZBetrag,0)) as VZBetrag
|
||||
,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, IVO.BV, IVO.Source
|
||||
|
||||
FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum=PROD.Rechnungsdatum
|
||||
FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum=PROD.Rechnungsdatum and IVO.Source = PROD.Source
|
||||
" & where & "
|
||||
group by Firma_id, IVO.Rechnungsnummer,IVO.rechnungsdatum/*,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig*/
|
||||
group by Firma_id, IVO.Rechnungsnummer,IVO.rechnungsdatum, IVO.BV, IVO.Source/*,Leistungsnummer,Leistungsbezeichnung,Steuerpflichtig*/
|
||||
ORDER BY IVO.Rechnungsdatum, IVO.Rechnungsnummer "
|
||||
' --and IVO.Rechnungsnummer=19400002
|
||||
Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 9800)
|
||||
@@ -597,32 +623,32 @@ Public Class cSyska_Interface
|
||||
|
||||
'End Function
|
||||
|
||||
Shared Function getBuchungenZeilen(Firma_ID As Integer, Rechnungsnummer As Integer, Rechnungsdatum As Date, Optional WdhDateiname As String = "") As DataTable
|
||||
Shared Function getBuchungenZeilen(Firma_ID As Integer, Rechnungsnummer As Integer, Rechnungsdatum As Date, Source As String, Optional WdhDateiname As String = "") As DataTable
|
||||
|
||||
|
||||
Dim sqlStr = " SELECT Sachkonto,IVO.Rechnungsdatum Rechnungsdatum,IVO.Rechnungsnummer Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,steuerpflichtig,[Steuersatz %] Steuersatz,BelegartenNr,
|
||||
WährungFremd, WährungLokal,sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal])BetragLokal,
|
||||
sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd])BetragFremd ,sum(RechnungsbetragLokal) RechnungsbetragLokal,sum(RechnungsbetragFremd) RechnungsbetragFremd
|
||||
FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum = PROD.Rechnungsdatum
|
||||
WHERE Firma_ID ='" & Firma_ID & "' AND IVO.Rechnungsnummer ='" & Rechnungsnummer & "' AND cast(IVO.Rechnungsdatum as date) ='" & Rechnungsdatum.ToShortDateString & "' AND " & If(WdhDateiname = "", " TrdinDateiname Is Null ", " TrdinDateiname ='" & WdhDateiname & "' ") & "
|
||||
GROUP BY Sachkonto,IVO.Rechnungsdatum,IVO.Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,steuerpflichtig,[Steuersatz %] ,BelegartenNr,WährungFremd,WährungLokal
|
||||
ORDER BY Rechnungsdatum, Rechnungsnummer "
|
||||
sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd])BetragFremd ,sum(RechnungsbetragLokal) RechnungsbetragLokal,sum(RechnungsbetragFremd) RechnungsbetragFremd, IVO.Source
|
||||
FROM VERAG.dbo.tblTrdinInvoice as IVO left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum = PROD.Rechnungsdatum and IVO.Source = PROD.Source
|
||||
WHERE Firma_ID ='" & Firma_ID & "' AND IVO.Source = '" & Source & "' AND IVO.Rechnungsnummer ='" & Rechnungsnummer & "' AND cast(IVO.Rechnungsdatum as date) ='" & Rechnungsdatum.ToShortDateString & "' AND " & If(WdhDateiname = "", " TrdinDateiname Is Null ", " TrdinDateiname ='" & WdhDateiname & "' ") & "
|
||||
GROUP BY Sachkonto,IVO.Rechnungsdatum,IVO.Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,steuerpflichtig,[Steuersatz %] ,BelegartenNr,WährungFremd,WährungLokal, IVO.Source
|
||||
ORDER BY Rechnungsdatum, Rechnungsnummer, IVO.Source "
|
||||
' --and IVO.Rechnungsnummer=19400002
|
||||
Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 9800)
|
||||
|
||||
End Function
|
||||
|
||||
Shared Function getBuchungenZeilenAMBAR(Rechnungsnummer As Integer, Rechnungsdatum As Date, Optional WdhDateiname As String = "") As DataTable
|
||||
Shared Function getBuchungenZeilenAMBAR(Rechnungsnummer As Integer, Rechnungsdatum As Date, Source As String, Optional WdhDateiname As String = "") As DataTable
|
||||
|
||||
|
||||
Dim sqlStr = " SELECT isnull(le.SachkontoEUSteuerfrei,'0000') as Sachkonto ,IVO.Rechnungsdatum Rechnungsdatum,IVO.Rechnungsnummer Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,PROD.steuerpflichtig,[Steuersatz %] Steuersatz,BelegartenNr,
|
||||
WährungFremd, WährungLokal,sum(PROD.[SteuerpflichtigerBetragLokal] + PROD.[SteuerfreierBetragLokal])BetragLokal,
|
||||
sum(PROD.[SteuerpflichtigerBetragFremd]+PROD.[SteuerfreierBetragFremd])BetragFremd ,sum(RechnungsbetragLokal) RechnungsbetragLokal,sum(RechnungsbetragFremd) RechnungsbetragFremd
|
||||
FROM VERAG.dbo.tblTrdinInvoice as IVO
|
||||
left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum = PROD.Rechnungsdatum
|
||||
left JOIN tblTrdinProduct as PROD on IVO.Rechnungsnummer=PROD.Rechnungsnummer and IVO.Rechnungsdatum = PROD.Rechnungsdatum and IVO.Source = PROD.Source
|
||||
left join [Leistungen] as le on le.LeistungsNr = PROD.Leistungsnummer
|
||||
WHERE Firma_ID ='24' AND IVO.Rechnungsnummer ='" & Rechnungsnummer & "' AND cast(IVO.Rechnungsdatum as date) ='" & Rechnungsdatum.ToShortDateString & "' AND " & If(WdhDateiname = "", " AmbDateiname Is Null ", " AmbDateiname ='" & WdhDateiname & "' ") & "
|
||||
GROUP BY le.SachkontoEUSteuerfrei ,IVO.Rechnungsdatum,IVO.Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,PROD.steuerpflichtig,[Steuersatz %] ,BelegartenNr,WährungFremd,WährungLokal
|
||||
WHERE Firma_ID ='24' AND IVO.Source = '" & Source & "' AND IVO.Rechnungsnummer ='" & Rechnungsnummer & "' AND cast(IVO.Rechnungsdatum as date) ='" & Rechnungsdatum.ToShortDateString & "' AND " & If(WdhDateiname = "", " AmbDateiname Is Null ", " AmbDateiname ='" & WdhDateiname & "' ") & "
|
||||
GROUP BY le.SachkontoEUSteuerfrei ,IVO.Rechnungsdatum,IVO.Rechnungsnummer,FilialenNr,AbfertigungsNr,UnterNr,PROD.steuerpflichtig,[Steuersatz %] ,BelegartenNr,WährungFremd,WährungLokal, IVO.Source
|
||||
ORDER BY Rechnungsdatum, Rechnungsnummer "
|
||||
' --and IVO.Rechnungsnummer=19400002
|
||||
Return SQL.loadDgvBySql(sqlStr, "FMZOLL", 9800)
|
||||
@@ -735,6 +761,79 @@ Public Class cSyska_Interface
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
ElseIf row("BelegartenNr") = 31 Then 'Einnahme
|
||||
|
||||
Dim FiBuWährung = ""
|
||||
Dim FiBuSollkontonummer = "0"
|
||||
Dim FiBuHabenkontonummer = row("KundenNrZentrale")
|
||||
Dim FiBuBruttobetrag As Double
|
||||
|
||||
If row("WährungFremd") Is DBNull.Value Then
|
||||
FiBuWährung = row("WährungLokal")
|
||||
FiBuBruttobetrag = (CDbl(row("RechnungsbetragLokal")))
|
||||
Else
|
||||
FiBuWährung = row("WährungFremd")
|
||||
FiBuBruttobetrag = (CDbl(row("RechnungsbetragFremd")))
|
||||
End If
|
||||
|
||||
Dim FiBuEigenbruttobetrag = CDbl(row("RechnungsbetragLokal"))
|
||||
|
||||
genBuchungsZeileSum = "L" & vbTab
|
||||
genBuchungsZeileSum &= CDate(row("Rechnungsdatum")).ToString("dd.MM.yyyy") & vbTab
|
||||
genBuchungsZeileSum &= FormatStringSYS(row("Rechnungsnummer")) & vbTab
|
||||
|
||||
genBuchungsZeileSum &= FiBuSollkontonummer & vbTab
|
||||
genBuchungsZeileSum &= FiBuHabenkontonummer & vbTab
|
||||
|
||||
genBuchungsZeileSum &= IIf(row("Buchungstext") <> "" AndAlso row("Buchungstext").ToString.Contains("Zinsen"), row("Buchungstext") & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
|
||||
|
||||
genBuchungsZeileSum &= Format(CDbl(FiBuBruttobetrag), fmt) & vbTab
|
||||
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuersatz
|
||||
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuerbetrag
|
||||
genBuchungsZeileSum &= FiBuWährung & vbTab
|
||||
genBuchungsZeileSum &= Format(CDbl(FiBuEigenbruttobetrag), fmt) & vbTab
|
||||
|
||||
|
||||
ElseIf row("BelegartenNr") = 30 Then 'Ausgabe
|
||||
|
||||
Dim FiBuSollkontonummer = "0"
|
||||
Dim FiBuHabenkontonummer = row("KundenNrZentrale") '2700
|
||||
|
||||
Dim Bruttobetrag As Double
|
||||
Dim FiBuWährung = ""
|
||||
|
||||
If row("WährungFremd") Is DBNull.Value Then
|
||||
Bruttobetrag = row("RechnungsbetragLokal") 'Bruttobetrag
|
||||
Else
|
||||
Bruttobetrag = row("RechnungsbetragFremd") 'Bruttobetrag
|
||||
End If
|
||||
If row("WährungFremd") Is DBNull.Value Then
|
||||
FiBuWährung = row("WährungLokal")
|
||||
Else
|
||||
FiBuWährung = row("WährungFremd")
|
||||
End If
|
||||
|
||||
Dim FiBuEigenbruttobetrag = row("RechnungsbetragLokal")
|
||||
|
||||
genBuchungsZeileSum = "L" & vbTab
|
||||
genBuchungsZeileSum &= CDate(row("Rechnungsdatum")).ToString("dd.MM.yyyy") & vbTab
|
||||
genBuchungsZeileSum &= FormatStringSYS(row("Rechnungsnummer")) & vbTab
|
||||
|
||||
genBuchungsZeileSum &= FiBuSollkontonummer & vbTab
|
||||
genBuchungsZeileSum &= FiBuHabenkontonummer & vbTab
|
||||
'genBuchungsZeileSum &= row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab
|
||||
genBuchungsZeileSum &= IIf(row("Buchungstext") <> "" AndAlso row("Buchungstext").ToString.Contains("Zinsen"), row("Buchungstext") & vbTab, row("FilialenNr") & "/" & row("AbfertigungsNr") & "/" & CDbl(row("UnterNr")).ToString("00") & vbTab)
|
||||
|
||||
genBuchungsZeileSum &= Format(CDbl(Bruttobetrag), fmt) & vbTab
|
||||
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuersatz
|
||||
genBuchungsZeileSum &= "" & vbTab 'FiBuSteuerbetrag
|
||||
genBuchungsZeileSum &= FiBuWährung & vbTab
|
||||
genBuchungsZeileSum &= Format(CDbl(FiBuEigenbruttobetrag), fmt) & vbTab
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
@@ -752,11 +851,11 @@ Public Class cSyska_Interface
|
||||
Dim FiBuSteuerbetrag As String
|
||||
Dim FiBuSollkontonummer As Integer
|
||||
Dim FiBuHabenkontonummer As Integer
|
||||
|
||||
Dim FiBuWährung = "EUR"
|
||||
|
||||
Select Case row("BelegartenNr")
|
||||
Case 70 'Rechnung
|
||||
|
||||
Case 70 'Rechnung
|
||||
FiBuSollkontonummer = "0"
|
||||
FiBuHabenkontonummer = If(row("Sachkonto") IsNot DBNull.Value AndAlso IsNumeric(row("Sachkonto")), row("Sachkonto"), 0)
|
||||
If row("WährungFremd") Is DBNull.Value Then
|
||||
@@ -784,6 +883,28 @@ Public Class cSyska_Interface
|
||||
|
||||
End If
|
||||
|
||||
Case 31 'Einnahme
|
||||
|
||||
FiBuSollkontonummer = 2700 'If(row("Sachkonto") IsNot DBNull.Value AndAlso IsNumeric(row("Sachkonto")), row("Sachkonto"), 0)
|
||||
FiBuHabenkontonummer = "0"
|
||||
If row("WährungFremd") Is DBNull.Value Then
|
||||
curNettobetrag = row("BetragLokal")
|
||||
Else
|
||||
curNettobetrag = row("BetragFremd")
|
||||
End If
|
||||
|
||||
Case 30 'Ausgabe
|
||||
|
||||
FiBuSollkontonummer = If(row("Sachkonto") IsNot DBNull.Value AndAlso IsNumeric(row("Sachkonto")), row("Sachkonto"), 0)
|
||||
FiBuHabenkontonummer = "0"
|
||||
If row("WährungFremd") Is DBNull.Value Then
|
||||
curNettobetrag = row("BetragLokal")
|
||||
Else
|
||||
curNettobetrag = row("BetragFremd")
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Select
|
||||
|
||||
If CBool(row("steuerpflichtig")) Then
|
||||
@@ -935,6 +1056,14 @@ Public Class cSyska_Interface
|
||||
Case 71 'Gutschrift
|
||||
FiBuSollkontonummer = "8490"
|
||||
FiBuHabenkontonummer = "0"
|
||||
|
||||
Case 31 'Einnahme
|
||||
FiBuSollkontonummer = "8490"
|
||||
FiBuHabenkontonummer = "0"
|
||||
Case 30 'Ausgabe
|
||||
FiBuSollkontonummer = "8490"
|
||||
FiBuHabenkontonummer = "0"
|
||||
|
||||
End Select
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user