6404 lines
268 KiB
VB.net
6404 lines
268 KiB
VB.net
Imports SDL.RKSVServer
|
|
Imports System.Drawing.Printing
|
|
Imports GrapeCity.ActiveReports
|
|
Imports VERAG_PROG_ALLGEMEIN.DSFinVKService
|
|
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
|
|
|
|
Public Class cRKSV
|
|
Shared SQL As New SQL
|
|
|
|
Shared Function insertRKSV(ByVal kasse As cRKSV_Kasse, CompanyGUID As String, ByVal umsatzZaehler As Double, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
|
|
'
|
|
Try
|
|
|
|
|
|
|
|
Dim client As RKSVWcfClient = New RKSVWcfClient()
|
|
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
|
|
client.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
credentials.Database = "RKSVWcfDB"
|
|
credentials.Server = "AVISO\SQLEXPRESS"
|
|
|
|
credentials.Username = "Admin"
|
|
credentials.Password = "verag#2"
|
|
credentials.CashboxID = kasse.rksv_bez
|
|
'"VERAG-SUB-KASSE-ZOLL"
|
|
credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
Dim jws As String = String.Empty
|
|
Dim qr As String = String.Empty
|
|
Dim ocra As String = String.Empty
|
|
'Dim answer As String = String.Empty
|
|
|
|
Dim Belegnummer = RKSV_Beleg_Id
|
|
Dim BelegDatumUhrzeit = belegDat ' BELEG.BelegDat
|
|
|
|
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & steuerSchluessel & "' ", "FMZOLL")
|
|
|
|
|
|
|
|
Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe
|
|
Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
|
|
Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
|
|
Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
|
|
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
|
|
Dim StandUmsatzzaehler = umsatzZaehler 'KASSE.rksv_Umsatzzaehler
|
|
|
|
|
|
|
|
If TEST Then
|
|
If (client.SignTrainReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal, BetragSatzErm1, BetragSatzErm2, BetragSatzBesonders, BetragSatzNull, jws, qr, ocra, answer)) Then
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
If (jws.Length > 50) Then
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
'Unmittelbares return, damit Änderungen Rückgängig gemacht werden, bevor die nächste Belegerstellung anfängt
|
|
'MessageBox.Show(answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Return False
|
|
End If
|
|
End If
|
|
Else
|
|
If (client.SignReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal, BetragSatzErm1, BetragSatzErm2, BetragSatzBesonders, BetragSatzNull, StandUmsatzzaehler, jws, qr, ocra, answer)) Then
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
If (jws.Length > 50) Then
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
'Unmittelbares return, damit Änderungen Rückgängig gemacht werden, bevor die nächste Belegerstellung anfängt
|
|
' MessageBox.Show(answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Return False
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If QR_CodeString.Length > 50 And LastJWS.Length > 50 Then
|
|
Return True
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
Shared Function getKB(BELEG As EABeleg, PERSONAL As cPersonal, ByRef KBEntry As cKassenbuch, ByRef KBEntryGB As cKassenbuch, Firma As String) As Boolean
|
|
Dim j1 = SQL.getValueTxtBySql("SELECT [JournalNr] FROM [tblKassenbuch] " &
|
|
" WHERE [Mandant]='" & PERSONAL.Mandant & "' AND [Niederlassung]='" & PERSONAL.Niederlassung & "' AND [Benutzer]='" & PERSONAL.ID & "' AND [Geschäftsjahr]='" & cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND [BelegNr] ='" & BELEG.BelegNr & "' and Steuer <=0 AND Soll <> 0", "FMZOLL")
|
|
Dim j2 = SQL.getValueTxtBySql("SELECT [JournalNr] FROM [tblKassenbuch] " &
|
|
" WHERE [Mandant]='" & PERSONAL.Mandant & "' AND [Niederlassung]='" & PERSONAL.Niederlassung & "' AND [Benutzer]='" & PERSONAL.ID & "' AND [Geschäftsjahr]='" & cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND [BelegNr] ='" & BELEG.BelegNr & "' and Steuer <=0 AND Haben <> 0", "FMZOLL")
|
|
Dim journalNr = ""
|
|
Dim journalNrGB = ""
|
|
|
|
If BELEG.Belegart = 1 Then
|
|
journalNr = j1
|
|
journalNrGB = j2
|
|
Else
|
|
journalNr = j2
|
|
journalNrGB = j1
|
|
End If
|
|
|
|
If Not IsNumeric(journalNr) Or Not IsNumeric(journalNrGB) Then
|
|
MsgBox("Zugehörige Kassenbucheinträge wurden nicht gefunden!")
|
|
Return False
|
|
End If
|
|
'J1 /j2 nicht ganz sicher...
|
|
KBEntry = New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), j2)
|
|
KBEntryGB = New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), j1)
|
|
Return True
|
|
End Function
|
|
|
|
Shared Function getZahlungsmittel(BELEG As EABeleg, PERSONAL As cPersonal, Firma As String) As String
|
|
Dim zm = SQL.getValueTxtBySql("SELECT [Finanzwege] FROM [tblKassenbuch] " &
|
|
" WHERE [Mandant]='" & PERSONAL.Mandant & "' AND [Niederlassung]='" & PERSONAL.Niederlassung & "' AND [Benutzer]='" & PERSONAL.ID & "' AND [Geschäftsjahr]='" & cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND [BelegNr] ='" & BELEG.BelegNr & "' and Steuer <=0 AND Soll <> 0", "FMZOLL")
|
|
|
|
|
|
If zm Is DBNull.Value Or zm Is Nothing Then
|
|
Return "-"
|
|
End If
|
|
|
|
Return zm
|
|
End Function
|
|
|
|
|
|
Shared Function getDEP(ByVal kasse_id As Integer, ByRef exportResult As String) As Boolean
|
|
|
|
Dim KASSE As New cRKSV_Kasse(kasse_id)
|
|
Dim client As RKSVWcfClient = New RKSVWcfClient()
|
|
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(KASSE))
|
|
client.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
credentials.Database = "RKSVWcfDB"
|
|
credentials.Server = "AVISO\SQLEXPRESS"
|
|
'KASSENPWD: !VERAG-SUB-KASSE-ZOLL#2016
|
|
' Select Case kasse ' KASSE.rksv_bez
|
|
' Case "VERAG-SUB-KASSE-ZOLL"
|
|
credentials.Username = "Admin"
|
|
credentials.Password = "verag#2"
|
|
|
|
|
|
|
|
If KASSE.rksv_ITG_id Is Nothing Then
|
|
MsgBox("Keine RKSV-ITG-ID vorhanden!")
|
|
Return False
|
|
End If
|
|
|
|
|
|
credentials.CashboxID = KASSE.rksv_bez '"VERAG-SUB-KASSE-ZOLL"
|
|
credentials.CompanyGUID = KASSE.rksv_CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
' Dim inValue As RKSVServer.ExportJWSRequest = New RKSVServer.ExportJWSRequest()
|
|
' inValue.certificate = certificate
|
|
' # inValue.certificateChain = certificateChain
|
|
' inValue.jwsCompactReceipts = jwsCompactReceipts
|
|
' inValue.exportResult = exportResult
|
|
' Dim retVal As RKSVServer.ExportJWSResponse = CType(Me, RKSVServer.IRKSVWcf).ExportJWS(inValue)
|
|
' exportResult = retVal.exportResult
|
|
|
|
' Dim exportResult = ""
|
|
|
|
If False Then '(client.ExportJWS( certificate , certificateChain , jwsCompactReceipts, exportResult ) Then
|
|
' If (client.SignTrainReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal,
|
|
' BetragSatzErm1, BetragSatzErm2, BetragSatzNull, BetragSatzBesonders,
|
|
' jws, qr, ocra, answer)) Then
|
|
|
|
Else
|
|
|
|
MessageBox.Show("FEHLER", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
|
Return False
|
|
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
'Shared Function getRKSVLink(ByVal kasse As String) As String
|
|
' If kasse = "FRONT-OFFICE-SUB-KASSE" Then
|
|
' Return "http://192.168.0.25:8733/Design_Time_Addresses/RKSVCompleteServer/Service1/?singleWsdl"
|
|
' End If
|
|
' Return "http://192.168.0.106:8733/Design_Time_Addresses/RKSVCompleteServer/Service1/?singleWsdl"
|
|
'End Function
|
|
|
|
Shared Function getRKSVLink(ByVal kasse As cRKSV_Kasse) As String
|
|
Return kasse.rksv_ipAdresse
|
|
'Return getRKSVLink(kasse.rksv_bez)
|
|
End Function
|
|
'Shared Function stornoRKSV_DE(ByVal kasse As cRKSV_Kasse, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, ByRef answer As String) As Boolean
|
|
Shared Function stornoRKSV_DE_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal OLD_RKSV_Beleg_Id As Object, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
|
|
Try
|
|
|
|
' MsgBox("0: ")
|
|
Dim cashbox As String = kasse.rksv_KassaGuid '"VERAG_GMBH_KASSE_01" "KASSA 001"
|
|
|
|
Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.DSFinVKServerClient() 'PROBLEM??
|
|
m_com.Endpoint.Address = New System.ServiceModel.EndpointAddress("http://ymgk028055.verag.ost.dmn:8733/DSFinVKService?wsdl")
|
|
m_com.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
'Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
'credentials.Database = "RKSVWcfDB"
|
|
'credentials.Server = "AVISO\SQLEXPRESS"
|
|
|
|
'credentials.Username = "Admin"
|
|
'credentials.Password = "verag#2"
|
|
'credentials.CashboxID = kasse.rksv_bez
|
|
''"VERAG-SUB-KASSE-ZOLL"
|
|
'credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
|
|
|
|
'Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer() 'PROBLEM??
|
|
' m_com.Url = "http://ymgk028055.verag.ost.dmn:8733/DSFinVKService"
|
|
Dim [error] As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.ErrorCode
|
|
Dim InitializeLibraryResultSpecified As Boolean
|
|
' Dim [error] = "" 'm_com.InitializeLibrary(tbLicense.Text, "D:\Database\DSFinVK\dsfinvkdb.db3", "Administrator", "test", cashbox)
|
|
[error] = m_com.InitializeLibrary("SQLGUIDE01.verag.ost.dmn", "itg_RKSV_DE", "dsfinvk", "dsfinvk#1337", cashbox) '[error], InitializeLibraryResultSpecified)
|
|
|
|
' MsgBox("1: " & [error])
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
If [error].ToString() <> "CASHBOX_ALREADY_MANAGED" Then '--> CASHBOX_ALREADY_MANAGED --> der Fehler darf auftreten, die Cashbox wird Serverseitig initialisert, hier nur der Versuch, falls das nciht geschehen ist... lt. Jan Mika / AITG
|
|
MessageBox.Show([error].ToString(), "Error1", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
'BelegNr wird von RKSV übernommen
|
|
Dim BON_ID As Integer = 0
|
|
If False Then
|
|
|
|
Dim BON_IDSpecified = False
|
|
Dim GetNextBON_IDResultSpecified = False
|
|
[error] = m_com.GetNextBON_ID(cashbox, BON_ID)
|
|
' MsgBox("3: " & [error])
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error2", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
Else
|
|
' MsgBox(RKSV_Beleg_Id)
|
|
BON_ID = RKSV_Beleg_Id
|
|
End If
|
|
|
|
|
|
'Dim BON_NR As Integer = 0
|
|
'[error] = m_com.GetNextBON_NR(cashbox, BON_NR)
|
|
|
|
'If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
' MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' Return False
|
|
'End If
|
|
|
|
|
|
' MsgBox("4")
|
|
|
|
'Rechnung beginnen
|
|
|
|
|
|
Dim stornoVz = -1
|
|
|
|
|
|
Dim bonkopfBegin As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonKopfBegin = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonKopfBegin
|
|
' Dim bonkopfBegin As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfBegin = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfBegin()
|
|
|
|
bonkopfBegin.Z_KASSE_ID = cashbox
|
|
|
|
bonkopfBegin.BEDIENER_ID = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID 'tbBEDIENER_ID.Text
|
|
|
|
bonkopfBegin.BEDIENER_NAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME 'tbBEDIENER_NAME.Text
|
|
|
|
bonkopfBegin.BON_ID = BON_ID.ToString()
|
|
bonkopfBegin.REF_BON_ID = If(OLD_RKSV_Beleg_Id, "").ToString
|
|
|
|
bonkopfBegin.BON_NAME = "" 'tbBON_NAME.Text
|
|
|
|
bonkopfBegin.BON_NOTIZ = "" 'tbBON_NOTIZ.Text
|
|
|
|
bonkopfBegin.BON_NR = BON_ID
|
|
|
|
bonkopfBegin.BON_STORNO = 1 'If(cbBON_STORNO.Checked, "1", "0")
|
|
|
|
bonkopfBegin.BON_TYP = "Beleg" 'cmbBON_TYP.SelectedItem.ToString()
|
|
|
|
bonkopfBegin.KUNDE_ID = If(BELEG.KundenNr > 0, BELEG.KundenNr, "") 'tbKUNDE_ID.Text
|
|
|
|
bonkopfBegin.KUNDE_LAND = If(BELEG.LandKz, "") 'tbKUNDE_LAND.Text
|
|
|
|
bonkopfBegin.KUNDE_NAME = If(BELEG.Frachtführer, "") 'tbKUNDE_NAME.Text
|
|
|
|
bonkopfBegin.KUNDE_ORT = If(BELEG.Ort, "") 'tbKUNDE_ORT.Text
|
|
|
|
bonkopfBegin.KUNDE_PLZ = If(BELEG.PLZ, "") 'tbKUNDE_PLZ.Text
|
|
|
|
bonkopfBegin.KUNDE_STRASSE = If(BELEG.Straße, "") ' tbKUNDE_STRASSE.Text
|
|
|
|
bonkopfBegin.KUNDE_TYP = "" ' tbKUNDE_TYP.Text
|
|
|
|
bonkopfBegin.KUNDE_USTID = If(BELEG.UstIdKz, "") & If(BELEG.UstIdNr, "") ' tbKUNDE_USTID.Text
|
|
|
|
bonkopfBegin.TERMINAL_ID = "" 'tbTERMINAL_ID.Text
|
|
|
|
Dim transactionNumber As Integer = 0
|
|
Dim transactionNumberSpecified As Boolean
|
|
|
|
Dim BeginReceiptResultSpecified As Boolean
|
|
[error] = m_com.BeginReceipt(cashbox, bonkopfBegin, transactionNumber)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error3", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
' MsgBox("5 ANZ: " & BELEG.POS.Count)
|
|
Dim cntZeile = 1
|
|
Dim GES_BRUTTO As Double = 0
|
|
For Each POS In BELEG.POS
|
|
|
|
'Bonposition hinzufügen
|
|
Dim position As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonPosition = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonPosition()
|
|
|
|
position.AGENTUR_ID = -1 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["AGENTUR_ID"].Value)
|
|
|
|
position.ARTIKELTEXT = POS.LeistungsBez 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ARTIKELTEXT"].Value)
|
|
|
|
position.ART_NR = POS.LeistungsNr ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ART_NR"].Value)
|
|
|
|
position.BON_ID = Convert.ToString(BON_ID)
|
|
|
|
position.EINHEIT = "Stk." ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["EINHEIT"].Value)
|
|
|
|
position.FAKTOR = 1 ' Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["FAKTOR"].Value)
|
|
|
|
position.GTIN = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GTIN"].Value)
|
|
|
|
position.GUTSCHEIN_NR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GUTSCHEIN_NR"].Value)
|
|
|
|
position.GV_NAME = "" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_NAME"].Value)
|
|
|
|
position.GV_TYP = "Umsatz" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_TYP"].Value)
|
|
|
|
position.INHAUS = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["INHAUS"].Value)
|
|
|
|
position.MENGE = POS.Anzahl 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["MENGE"].Value)
|
|
|
|
position.POS_TERMINAL_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_TERMINAL_ID"].Value)
|
|
|
|
position.POS_ZEILE = cntZeile 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_ZEILE"].Value)
|
|
|
|
position.P_STORNO = 0 'Hier kein Storno, das wäre nur wenn eine Pos storniert wird...
|
|
|
|
position.STK_BR = POS.Preis 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["STK_BR"].Value)
|
|
|
|
position.WARENGR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR"].Value)
|
|
|
|
position.WARENGR_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR_ID"].Value)
|
|
|
|
position.Z_KASSE_ID = cashbox 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["Z_KASSE_ID"].Value)
|
|
|
|
' Beträge der Position
|
|
|
|
Dim position_vat = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonPosition_Ust()
|
|
|
|
position_vat.BON_ID = position.BON_ID
|
|
|
|
position_vat.POS_ZEILE = position.POS_ZEILE
|
|
|
|
Dim steuersatzID = 1
|
|
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT [Steuersatz] FROM [tblSteuersätze] where nr='" & BELEG.Steuerschlüssel & "'", "FMZOLL")
|
|
Select Case steuersatz
|
|
Case 0.19 : steuersatzID = 1
|
|
Case 0.07 : steuersatzID = 2
|
|
Case 0.00 : steuersatzID = 6
|
|
End Select
|
|
' MsgBox(POS.Anzahl)
|
|
' MsgBox(POS.Betrag)
|
|
|
|
position_vat.UST_SCHLUESSEL = steuersatzID 'm_com.GetTaxIds(cashbox,) 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["UST_SCHLUESSEL"].Value)
|
|
Dim steuerBetrag = POS.Betrag * position_vat.UST_SCHLUESSEL
|
|
position_vat.POS_BRUTTO = POS.Betrag + steuerBetrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_BRUTTO"].Value)
|
|
|
|
position_vat.POS_NETTO = POS.Betrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_NETTO"].Value)
|
|
|
|
position_vat.POS_UST = steuerBetrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_UST"].Value)
|
|
|
|
position_vat.POS_BRUTTO *= stornoVz
|
|
position_vat.POS_NETTO *= stornoVz
|
|
position_vat.POS_UST *= stornoVz
|
|
|
|
Dim AddPositionToReceiptResultSpecified As Boolean
|
|
[error] = m_com.AddPositionToReceipt(cashbox, position, position_vat, transactionNumber)
|
|
cntZeile += 1
|
|
GES_BRUTTO += position_vat.POS_BRUTTO
|
|
|
|
Next
|
|
' MsgBox("6: " & GES_BRUTTO)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error4", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
'Rechnung abschließen
|
|
|
|
Dim bonkopfFinish As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonKopfFinish = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.BonKopfFinish()
|
|
|
|
bonkopfFinish.Z_KASSE_ID = cashbox
|
|
|
|
bonkopfFinish.BON_ID = BON_ID
|
|
|
|
|
|
|
|
If Not Decimal.TryParse(GES_BRUTTO, bonkopfFinish.UMS_BRUTTO) Then
|
|
bonkopfFinish.UMS_BRUTTO = 0.00
|
|
End If
|
|
|
|
|
|
bonkopfFinish.PROCESS_TYPE = "Kassenbeleg-V1"
|
|
|
|
bonkopfFinish.payment_currencies = {"EUR"}
|
|
|
|
bonkopfFinish.payment_types = {"Bar"}
|
|
|
|
bonkopfFinish.payment_per_currency = {GES_BRUTTO} '{0.0} 'BETRAG"!!!!!!!!!!!!
|
|
|
|
' MsgBox("6,1: ")
|
|
|
|
Dim FinishReceiptResult As Boolean = True
|
|
Dim FinishReceiptResultSpecified As Boolean
|
|
[error] = m_com.FinishReceipt(cashbox, bonkopfFinish, transactionNumber)
|
|
' MsgBox("6,2: ")
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error5", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
' Kassenabschluss anlegen über alle noch nicht abgeschlossenen Rechnungen zu dieser Kasse
|
|
|
|
' Error = m_com.CreateCashpointClosing(cashbox)
|
|
|
|
' ' DSFinV-K-Export
|
|
|
|
' Int from = 0
|
|
|
|
'Int to = 10
|
|
|
|
'Dim ret = m_com.ExportCSVFiles(from, to, tbSelectedFolder.Text, tbZipName.Text, True, True,
|
|
|
|
'true, true, true, true, true, true,
|
|
|
|
'true, true, true, true,
|
|
|
|
'true, true, true, true, true,
|
|
|
|
'true, true, true);
|
|
|
|
'If (ret == ErrorCode.OK) Then
|
|
|
|
'{
|
|
|
|
'MessageBox.Show("Die CSV Dateien wurden im Ordner " + tbSelectedFolder.Text + " angelegt und in die Zip-Datei " + tbZipName.Text + " gepackt.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
'}
|
|
|
|
'Else
|
|
|
|
'{
|
|
|
|
'MessageBox.Show("Beim exportieren der CSV-Dateien ging etwas schief:\r\n" + ret.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
|
|
'}
|
|
' MsgBox("7")
|
|
|
|
Dim transactionNumberRet As String
|
|
Dim serialNumber As String
|
|
Dim signature As String
|
|
Dim transactionStart As Date
|
|
Dim transactionFinish As Date
|
|
Dim sigCounter As String
|
|
Dim transactionStartSpecified As Boolean
|
|
Dim transactionFinishSpecified As Boolean
|
|
Dim GetLastReceiptValuesResultSpecified As Boolean
|
|
'
|
|
[error] = m_com.GetLastReceiptValues(cashbox, transactionNumberRet, serialNumber, signature, transactionStart, transactionFinish, sigCounter)
|
|
|
|
' MsgBox("8")
|
|
|
|
Dim qrCode As String = String.Empty
|
|
Dim mimeType As String = String.Empty
|
|
Dim GetLastReceiptQrCodeResult As Boolean
|
|
Dim GetLastReceiptQrCodeResultSpecified As Boolean
|
|
[error] = m_com.GetLastReceiptQrCode(cashbox, qrCode, mimeType)
|
|
|
|
QR_CodeString = qrCode
|
|
LastJWS = signature
|
|
|
|
|
|
' MsgBox("9")
|
|
If QR_CodeString.Length > 50 And LastJWS.Length > 50 Then
|
|
Return True
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
Shared Function stornoRKSV_DE(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal OLD_RKSV_Beleg_Id As Object, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
|
|
Try
|
|
|
|
' MsgBox("0: ")
|
|
Dim cashbox As String = kasse.rksv_KassaGuid '"VERAG_GMBH_KASSE_01" "KASSA 001"
|
|
'Dim endpoint = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
|
|
' Dim m_com As VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient("DSFinVKService", endpoint) '"http://ymgk028055.verag.ost.dmn:8733/DSFinVKService")
|
|
|
|
Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer() 'PROBLEM??
|
|
m_com.Url = "http://ymgk028055.verag.ost.dmn:8733/DSFinVKService"
|
|
Dim [error] As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.ErrorCode
|
|
Dim InitializeLibraryResultSpecified As Boolean
|
|
' Dim [error] = "" 'm_com.InitializeLibrary(tbLicense.Text, "D:\Database\DSFinVK\dsfinvkdb.db3", "Administrator", "test", cashbox)
|
|
m_com.InitializeLibrary("SQLGUIDE01.verag.ost.dmn", "itg_RKSV_DE", "dsfinvk", "dsfinvk#1337", cashbox, [error], InitializeLibraryResultSpecified)
|
|
|
|
' Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer() 'PROBLEM??
|
|
' Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService_2022.DSFinVKServerClient() 'PROBLEM??
|
|
|
|
' m_com.Url = "http://ymgk028055.verag.ost.dmn:8733/DSFinVKService"
|
|
'Dim [error] As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.ErrorCode
|
|
'Dim InitializeLibraryResultSpecified As Boolean
|
|
' Dim [error] = "" 'm_com.InitializeLibrary(tbLicense.Text, "D:\Database\DSFinVK\dsfinvkdb.db3", "Administrator", "test", cashbox)
|
|
' m_com.InitializeLibrary("SQLGUIDE01.verag.ost.dmn", "itg_RKSV_DE", "dsfinvk", "dsfinvk#1337", cashbox, [error], InitializeLibraryResultSpecified)
|
|
|
|
' MsgBox("1: " & [error])
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
If [error].ToString() <> "CASHBOX_ALREADY_MANAGED" Then '--> CASHBOX_ALREADY_MANAGED --> der Fehler darf auftreten, die Cashbox wird Serverseitig initialisert, hier nur der Versuch, falls das nciht geschehen ist... lt. Jan Mika / AITG
|
|
MessageBox.Show([error].ToString(), "Error1", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
' MsgBox("2")
|
|
Dim BON_ID As Integer = 0
|
|
If False Then
|
|
|
|
Dim BON_IDSpecified = False
|
|
Dim GetNextBON_IDResultSpecified = False
|
|
m_com.GetNextBON_ID(cashbox, BON_ID, BON_IDSpecified, [error], GetNextBON_IDResultSpecified)
|
|
' MsgBox("3: " & [error])
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
If [error].ToString() <> "CASHBOX_ALREADY_MANAGED" Then '--> CASHBOX_ALREADY_MANAGED --> der Fehler darf auftreten, die Cashbox wird Serverseitig initialisert, hier nur der Versuch, falls das nciht geschehen ist... lt. Jan Mika / AITG
|
|
MessageBox.Show([error].ToString(), "Error2", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
End If
|
|
Else
|
|
' MsgBox(RKSV_Beleg_Id)
|
|
BON_ID = RKSV_Beleg_Id
|
|
End If
|
|
|
|
'Dim BON_ID As Integer = 0
|
|
'Dim BON_IDSpecified = False
|
|
'Dim GetNextBON_IDResultSpecified = False
|
|
'm_com.GetNextBON_ID(cashbox, BON_ID, BON_IDSpecified, [error], GetNextBON_IDResultSpecified)
|
|
''MsgBox("3: " & [error])
|
|
|
|
'If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
' MessageBox.Show([error].ToString(), "Error2", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' Return False
|
|
'End If
|
|
|
|
'Dim BON_NR As Integer = 0
|
|
'[error] = m_com.GetNextBON_NR(cashbox, BON_NR)
|
|
|
|
'If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
' MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' Return False
|
|
'End If
|
|
|
|
|
|
' MsgBox("4")
|
|
|
|
'Rechnung beginnen
|
|
|
|
|
|
Dim stornoVz = -1
|
|
|
|
|
|
Dim bonkopfBegin As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfBegin = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfBegin()
|
|
|
|
bonkopfBegin.Z_KASSE_ID = cashbox
|
|
|
|
bonkopfBegin.BEDIENER_ID = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID 'tbBEDIENER_ID.Text
|
|
|
|
bonkopfBegin.BEDIENER_NAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME 'tbBEDIENER_NAME.Text
|
|
|
|
bonkopfBegin.BON_ID = BON_ID.ToString()
|
|
bonkopfBegin.REF_BON_ID = If(OLD_RKSV_Beleg_Id, "").ToString()
|
|
|
|
bonkopfBegin.BON_NAME = "" 'tbBON_NAME.Text
|
|
|
|
bonkopfBegin.BON_NOTIZ = "" 'tbBON_NOTIZ.Text
|
|
|
|
bonkopfBegin.BON_NR = BON_ID
|
|
|
|
bonkopfBegin.BON_STORNO = 1 'If(cbBON_STORNO.Checked, "1", "0")
|
|
|
|
bonkopfBegin.BON_TYP = "Beleg" 'cmbBON_TYP.SelectedItem.ToString()
|
|
|
|
bonkopfBegin.KUNDE_ID = If(BELEG.KundenNr > 0, BELEG.KundenNr, "") 'tbKUNDE_ID.Text
|
|
|
|
bonkopfBegin.KUNDE_LAND = If(BELEG.LandKz, "") 'tbKUNDE_LAND.Text
|
|
|
|
bonkopfBegin.KUNDE_NAME = If(BELEG.Frachtführer, "") 'tbKUNDE_NAME.Text
|
|
|
|
bonkopfBegin.KUNDE_ORT = If(BELEG.Ort, "") 'tbKUNDE_ORT.Text
|
|
|
|
bonkopfBegin.KUNDE_PLZ = If(BELEG.PLZ, "") 'tbKUNDE_PLZ.Text
|
|
|
|
bonkopfBegin.KUNDE_STRASSE = If(BELEG.Straße, "") ' tbKUNDE_STRASSE.Text
|
|
|
|
bonkopfBegin.KUNDE_TYP = "" ' tbKUNDE_TYP.Text
|
|
|
|
bonkopfBegin.KUNDE_USTID = If(BELEG.UstIdKz, "") & If(BELEG.UstIdNr, "") ' tbKUNDE_USTID.Text
|
|
|
|
bonkopfBegin.TERMINAL_ID = "" 'tbTERMINAL_ID.Text
|
|
|
|
Dim transactionNumber As Integer = 0
|
|
Dim transactionNumberSpecified As Boolean
|
|
|
|
Dim BeginReceiptResultSpecified As Boolean
|
|
m_com.BeginReceipt(cashbox, bonkopfBegin, transactionNumber, transactionNumberSpecified, [error], BeginReceiptResultSpecified)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error3", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
' MsgBox("5 ANZ: " & BELEG.POS.Count)
|
|
Dim cntZeile = 1
|
|
Dim GES_BRUTTO As Double = 0
|
|
For Each POS In BELEG.POS
|
|
|
|
'Bonposition hinzufügen
|
|
Dim position As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonPosition = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonPosition()
|
|
|
|
position.AGENTUR_ID = -1 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["AGENTUR_ID"].Value)
|
|
|
|
position.ARTIKELTEXT = POS.LeistungsBez 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ARTIKELTEXT"].Value)
|
|
|
|
position.ART_NR = POS.LeistungsNr ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ART_NR"].Value)
|
|
|
|
position.BON_ID = Convert.ToString(BON_ID)
|
|
|
|
position.EINHEIT = "Stk." ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["EINHEIT"].Value)
|
|
|
|
position.FAKTOR = 1 ' Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["FAKTOR"].Value)
|
|
|
|
position.GTIN = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GTIN"].Value)
|
|
|
|
position.GUTSCHEIN_NR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GUTSCHEIN_NR"].Value)
|
|
|
|
position.GV_NAME = "" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_NAME"].Value)
|
|
|
|
position.GV_TYP = "Umsatz" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_TYP"].Value)
|
|
|
|
position.INHAUS = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["INHAUS"].Value)
|
|
|
|
position.MENGE = POS.Anzahl 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["MENGE"].Value)
|
|
|
|
position.POS_TERMINAL_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_TERMINAL_ID"].Value)
|
|
|
|
position.POS_ZEILE = cntZeile 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_ZEILE"].Value)
|
|
|
|
position.P_STORNO = 0 'Hier kein Storno, das wäre nur wenn eine Pos storniert wird...
|
|
|
|
position.STK_BR = POS.Preis 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["STK_BR"].Value)
|
|
|
|
position.WARENGR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR"].Value)
|
|
|
|
position.WARENGR_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR_ID"].Value)
|
|
|
|
position.Z_KASSE_ID = cashbox 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["Z_KASSE_ID"].Value)
|
|
|
|
' Beträge der Position
|
|
|
|
Dim position_vat = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonPosition_Ust()
|
|
|
|
position_vat.BON_ID = position.BON_ID
|
|
|
|
position_vat.POS_ZEILE = position.POS_ZEILE
|
|
|
|
Dim steuersatzID = 1
|
|
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT [Steuersatz] FROM [tblSteuersätze] where nr='" & BELEG.Steuerschlüssel & "'", "FMZOLL")
|
|
Select Case steuersatz
|
|
Case 0.19 : steuersatzID = 1
|
|
Case 0.07 : steuersatzID = 2
|
|
Case 0.00 : steuersatzID = 6
|
|
End Select
|
|
' MsgBox(POS.Anzahl)
|
|
' MsgBox(POS.Betrag)
|
|
|
|
position_vat.UST_SCHLUESSEL = steuersatzID 'm_com.GetTaxIds(cashbox,) 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["UST_SCHLUESSEL"].Value)
|
|
Dim steuerBetrag = POS.Betrag * position_vat.UST_SCHLUESSEL
|
|
position_vat.POS_BRUTTO = POS.Betrag + steuerBetrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_BRUTTO"].Value)
|
|
|
|
position_vat.POS_NETTO = POS.Betrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_NETTO"].Value)
|
|
|
|
position_vat.POS_UST = steuerBetrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_UST"].Value)
|
|
|
|
position_vat.POS_BRUTTO *= stornoVz
|
|
position_vat.POS_NETTO *= stornoVz
|
|
position_vat.POS_UST *= stornoVz
|
|
|
|
Dim AddPositionToReceiptResultSpecified As Boolean
|
|
m_com.AddPositionToReceipt(cashbox, position, position_vat, transactionNumber, transactionNumberSpecified, [error], AddPositionToReceiptResultSpecified)
|
|
cntZeile += 1
|
|
GES_BRUTTO += position_vat.POS_BRUTTO
|
|
|
|
Next
|
|
' MsgBox("6: " & GES_BRUTTO)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error4", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
'Rechnung abschließen
|
|
|
|
Dim bonkopfFinish As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfFinish = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfFinish()
|
|
|
|
bonkopfFinish.Z_KASSE_ID = cashbox
|
|
|
|
bonkopfFinish.BON_ID = BON_ID
|
|
|
|
|
|
|
|
If Not Decimal.TryParse(GES_BRUTTO, bonkopfFinish.UMS_BRUTTO) Then
|
|
bonkopfFinish.UMS_BRUTTO = 0.00
|
|
End If
|
|
|
|
|
|
bonkopfFinish.PROCESS_TYPE = "Kassenbeleg-V1"
|
|
|
|
bonkopfFinish.payment_currencies = {"EUR"}
|
|
|
|
bonkopfFinish.payment_types = {"Bar"}
|
|
|
|
bonkopfFinish.payment_per_currency = {GES_BRUTTO} '{0.0} 'BETRAG"!!!!!!!!!!!!
|
|
|
|
' MsgBox("6,1: ")
|
|
|
|
Dim FinishReceiptResult As Boolean = True
|
|
Dim FinishReceiptResultSpecified As Boolean
|
|
m_com.FinishReceipt(cashbox, bonkopfFinish, transactionNumber, FinishReceiptResult, [error], FinishReceiptResultSpecified)
|
|
' MsgBox("6,2: ")
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error5", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
' Kassenabschluss anlegen über alle noch nicht abgeschlossenen Rechnungen zu dieser Kasse
|
|
|
|
' Error = m_com.CreateCashpointClosing(cashbox)
|
|
|
|
' ' DSFinV-K-Export
|
|
|
|
' Int from = 0
|
|
|
|
'Int to = 10
|
|
|
|
'Dim ret = m_com.ExportCSVFiles(from, to, tbSelectedFolder.Text, tbZipName.Text, True, True,
|
|
|
|
'true, true, true, true, true, true,
|
|
|
|
'true, true, true, true,
|
|
|
|
'true, true, true, true, true,
|
|
|
|
'true, true, true);
|
|
|
|
'If (ret == ErrorCode.OK) Then
|
|
|
|
'{
|
|
|
|
'MessageBox.Show("Die CSV Dateien wurden im Ordner " + tbSelectedFolder.Text + " angelegt und in die Zip-Datei " + tbZipName.Text + " gepackt.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
'}
|
|
|
|
'Else
|
|
|
|
'{
|
|
|
|
'MessageBox.Show("Beim exportieren der CSV-Dateien ging etwas schief:\r\n" + ret.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
|
|
'}
|
|
' MsgBox("7")
|
|
|
|
Dim transactionNumberRet As String
|
|
Dim serialNumber As String
|
|
Dim signature As String
|
|
Dim transactionStart As Date
|
|
Dim transactionFinish As Date
|
|
Dim sigCounter As String
|
|
Dim transactionStartSpecified As Boolean
|
|
Dim transactionFinishSpecified As Boolean
|
|
Dim GetLastReceiptValuesResultSpecified As Boolean
|
|
'
|
|
m_com.GetLastReceiptValues(cashbox, transactionNumberRet, serialNumber, signature, transactionStart, transactionStartSpecified, transactionFinish, transactionFinishSpecified, sigCounter, [error], GetLastReceiptValuesResultSpecified)
|
|
|
|
' MsgBox("8")
|
|
|
|
Dim qrCode As String = String.Empty
|
|
Dim mimeType As String = String.Empty
|
|
Dim GetLastReceiptQrCodeResult As Boolean
|
|
Dim GetLastReceiptQrCodeResultSpecified As Boolean
|
|
m_com.GetLastReceiptQrCode(cashbox, qrCode, mimeType, GetLastReceiptQrCodeResult, GetLastReceiptQrCodeResultSpecified)
|
|
|
|
QR_CodeString = qrCode
|
|
LastJWS = signature
|
|
|
|
|
|
' MsgBox("9")
|
|
If QR_CodeString.Length > 50 And LastJWS.Length > 50 Then
|
|
Return True
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
Shared Function stornoRKSV(ByVal kasse As cRKSV_Kasse, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, ByRef answer As String) As Boolean
|
|
Try
|
|
|
|
If RKSV_Beleg_Id <= 0 Then
|
|
MsgBox("Keine RKSV-Beleg-ID")
|
|
Return False
|
|
End If
|
|
Dim client As RKSVWcfClient = New RKSVWcfClient()
|
|
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
|
|
client.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
credentials.Database = "RKSVWcfDB"
|
|
credentials.Server = "AVISO\SQLEXPRESS"
|
|
|
|
|
|
credentials.Username = "Admin"
|
|
credentials.Password = "verag#2"
|
|
'credentials.CashboxID = kasse '"VERAG-SUB-KASSE-ZOLL"
|
|
'credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
credentials.CashboxID = kasse.rksv_bez '"VERAG-SUB-KASSE-ZOLL"
|
|
credentials.CompanyGUID = kasse.rksv_CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
|
|
|
|
|
|
Dim jws As String = String.Empty
|
|
Dim qr As String = String.Empty
|
|
Dim ocra As String = String.Empty
|
|
'Dim answer As String = String.Empty
|
|
|
|
Dim Belegnummer = RKSV_Beleg_Id
|
|
Dim BelegDatumUhrzeit = belegDat
|
|
|
|
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & steuerSchluessel & "' ", "FMZOLL")
|
|
|
|
|
|
|
|
Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe
|
|
Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
|
|
Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
|
|
Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
|
|
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
|
|
Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler 'KASSE.rksv_Umsatzzaehler
|
|
|
|
|
|
' Dim BetragSatzNormal = summe * -1
|
|
' Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summe, 0.0) * -1
|
|
' Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summe, 0.0) * -1
|
|
' Dim BetragSatzNull = IIf(steuersatz = 0.0, summe, 0.0) * -1
|
|
' Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summe, 0.0) * -1
|
|
' Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler
|
|
|
|
' Dim BetragSatzBesonders = 0
|
|
' Dim BetragSatzBesonders = 0
|
|
' Dim BetragSatzBesonders = 0
|
|
'client.ExportJWS
|
|
|
|
' MsgBox(credentials.CashboxID & " credentials.CashboxID")
|
|
' MsgBox(credentials.CompanyGUID & " credentials.CompanyGUID")
|
|
|
|
|
|
If (client.SignStornoReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal, BetragSatzErm1, BetragSatzErm2, BetragSatzBesonders, BetragSatzNull, jws, qr, ocra, answer)) Then
|
|
|
|
QR_CodeString = qr
|
|
LastJWS = jws
|
|
Else
|
|
|
|
If (jws.Length > 50) Then
|
|
|
|
QR_CodeString = qr
|
|
' Dim bmpBytes As Byte() = Convert.FromBase64String(qr)
|
|
' Dim ms As New System.IO.MemoryStream(bmpBytes)
|
|
' Dim bmp As Image = Image.FromStream(ms)
|
|
' QR_Image = Image.FromStream(ms)
|
|
' pbQrCode.Image = bmp
|
|
LastJWS = jws
|
|
Else
|
|
|
|
Return False
|
|
End If
|
|
End If
|
|
Return True
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
'Beleg storno und Kassenbuch Gegenbuchung
|
|
Shared Function STORNO(BELEG As EABeleg, ByVal grund As String, Firma As String, Optional stornoGegenbuchen As Boolean = False) As EABeleg
|
|
If (Not BELEG.gebuchtStorno) Or stornoGegenbuchen Then
|
|
' MsgBox("SELECT * FROM tblKassenbuch WHERE [Mandant]='" & BELEG.Mandant & "' AND Niederlassung='" & BELEG.Niederlassung & "' AND Benutzer='" & BELEG.Benutzer & "' AND Geschäftsjahr='" & getGJ(BELEG.BelegDat) & "' AND BelegNr='" & BELEG.BelegNr & "'")
|
|
'Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM tblKassenbuch WHERE [Mandant]='" & BELEG.Mandant & "' AND Niederlassung='" & BELEG.Niederlassung & "' AND Benutzer='" & BELEG.Benutzer & "' AND Geschäftsjahr='" & getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND BelegNr='" & BELEG.BelegNr & "'", "FMZOLL")
|
|
Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM tblKassenbuch WHERE [Mandant]='" & BELEG.Mandant & "' AND Niederlassung='" & BELEG.Niederlassung & "' AND Benutzer='" & BELEG.Benutzer & "' AND Geschäftsjahr='" & getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND rksv_BelegId='" & BELEG.rksv_BelegId & "'", "FMZOLL")
|
|
' Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, getGJ(BELEG.BelegDat))
|
|
If dt IsNot Nothing Then
|
|
For Each r In dt.Rows
|
|
Dim KBEntry As New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, getGJ_FIRMA(BELEG.BelegDat, Firma), r("JournalNr"))
|
|
KBEntry.JournalNr = cRKSV.getNewJournalNr(BELEG, Firma) ' GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
KBEntry.BelegDat = BELEG.BelegDat
|
|
KBEntry.Buchungsdatum = Now.ToShortDateString
|
|
KBEntry.Soll = KBEntry.Soll * -1
|
|
KBEntry.Haben = KBEntry.Haben * -1
|
|
KBEntry.Steuerbetrag = KBEntry.Steuerbetrag * -1
|
|
KBEntry.INSERT()
|
|
Next
|
|
End If
|
|
If Not stornoGegenbuchen Then
|
|
BELEG.gebuchtStorno = True
|
|
BELEG.storniert = True
|
|
BELEG.Stornogrund = grund
|
|
BELEG.SAVE()
|
|
End If
|
|
End If
|
|
Return BELEG
|
|
End Function
|
|
|
|
'Beleg storno und Kassenbuch Gegenbuchung
|
|
Shared Function STORNO_BELEG_ONLY(BELEG As EABeleg, ByVal grund As String) As EABeleg
|
|
BELEG.gebuchtStorno = True
|
|
BELEG.storniert = True
|
|
BELEG.Stornogrund = grund
|
|
BELEG.SAVE()
|
|
Return BELEG
|
|
End Function
|
|
'Beleg storno und Kassenbuch Gegenbuchung
|
|
Shared Function DELETE(BELEG As EABeleg, Firma As String) As Boolean
|
|
Try
|
|
Dim dt As DataTable = SQL.loadDgvBySql("DELETE FROM tblKassenbuch WHERE [Mandant]='" & BELEG.Mandant & "' AND Niederlassung='" & BELEG.Niederlassung & "' AND Benutzer='" & BELEG.Benutzer & "' AND Geschäftsjahr='" & getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND BelegNr='" & BELEG.BelegNr & "'", "FMZOLL")
|
|
Return BELEG.DELETE()
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Return False
|
|
End Try
|
|
Return True
|
|
End Function
|
|
|
|
|
|
Shared Function STORNO_RUECKGAENGIG(BELEG As EABeleg, ByVal grund As String, Firma As String) As EABeleg
|
|
If BELEG.gebuchtStorno Then
|
|
Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM tblKassenbuch WHERE [Mandant]='" & BELEG.Mandant & "' AND Niederlassung='" & BELEG.Niederlassung & "' AND Benutzer='" & BELEG.Benutzer & "' AND Geschäftsjahr='" & getGJ_FIRMA(BELEG.BelegDat, Firma) & "' AND BelegNr='" & BELEG.BelegNr & "'", "FMZOLL")
|
|
' Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, getGJ(BELEG.BelegDat))
|
|
If dt IsNot Nothing Then
|
|
For Each r In dt.Rows
|
|
Dim KBEntry As New cKassenbuch("LOAD", BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, getGJ_FIRMA(BELEG.BelegDat, Firma), r("JournalNr"))
|
|
KBEntry.JournalNr = cRKSV.getNewJournalNr(BELEG, Firma) ' GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
KBEntry.BelegDat = BELEG.BelegDat
|
|
KBEntry.Buchungsdatum = Now.ToShortDateString
|
|
KBEntry.Soll = KBEntry.Soll * -1
|
|
KBEntry.Haben = KBEntry.Haben * -1
|
|
KBEntry.Steuerbetrag = KBEntry.Steuerbetrag * -1
|
|
KBEntry.INSERT()
|
|
Next
|
|
End If
|
|
BELEG.gebuchtStorno = False
|
|
BELEG.storniert = False
|
|
BELEG.Stornogrund = ""
|
|
BELEG.SAVE()
|
|
End If
|
|
Return BELEG
|
|
End Function
|
|
|
|
Shared Function getGJ_FIRMA(BelegDat As Date, FIRMA As String) As Integer
|
|
If FIRMA = "" Then FIRMA = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Select Case FIRMA
|
|
Case "VERAG", "ATILLA"
|
|
Return IIf(BelegDat.Month = 1, BelegDat.Year - 1, BelegDat.Year)
|
|
Case Else
|
|
Return BelegDat.Year
|
|
End Select
|
|
|
|
End Function
|
|
|
|
Shared Function getGJ(BelegDat As Date, FIRMA_ID As Integer) As Integer
|
|
'If FIRMA = "" Then FIRMA = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Select Case FIRMA_ID
|
|
Case -1, 1, 3, 11, 7, 15 'Abweichendes WJ
|
|
Return IIf(BelegDat.Month = 1, BelegDat.Year - 1, BelegDat.Year)
|
|
Case Else
|
|
Return BelegDat.Year
|
|
End Select
|
|
End Function
|
|
'Shared Function getGJ(BelegDat As Date, FIRMAId As String) As Integer
|
|
|
|
' If FIRMA = "" Then FIRMA = New VERAG_PROG_ALLGEMEIN.cFirmen()
|
|
' Select Case FIRMA
|
|
' Case "IMEX", "FRONTOFFICE", "UNISPED", "AMBAR"
|
|
' Return BelegDat.Year
|
|
' Case Else
|
|
' Return IIf(BelegDat.Month = 1, BelegDat.Year - 1, BelegDat.Year)
|
|
' End Select
|
|
|
|
'End Function
|
|
|
|
'Shared Function getGJ_ByRksvId(BelegDat As Date, RksvId As Integer) As Integer
|
|
' Select Case RksvId
|
|
' Case 1
|
|
' Return getGJ(BelegDat, "VERAG")
|
|
' Case Else
|
|
' Return IIf(BelegDat.Month = 1, BelegDat.Year - 1, BelegDat.Year)
|
|
' End Select
|
|
|
|
'End Function
|
|
|
|
|
|
Shared Function getGJ_EndOfYear(GeschaerftsJahr As Integer, Optional FIRMA As String = "") As Date
|
|
If FIRMA = "" Then FIRMA = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Select Case FIRMA
|
|
Case "VERAG", "ATILLA"
|
|
Return CDate("31.01." & (GeschaerftsJahr + 1))
|
|
Case Else
|
|
Return CDate("31.12." & GeschaerftsJahr)
|
|
End Select
|
|
End Function
|
|
|
|
Shared Function getGJ_BeginOfYear(GeschaerftsJahr As Integer, Optional FIRMA As String = "") As Date
|
|
If FIRMA = "" Then FIRMA = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Select Case FIRMA
|
|
Case "VERAG", "ATILLA"
|
|
Return CDate("01.02." & GeschaerftsJahr)
|
|
Case Else
|
|
Return CDate("01.01." & GeschaerftsJahr)
|
|
End Select
|
|
End Function
|
|
|
|
Public Shared Function isforbiddenDate() As Boolean
|
|
Dim lastDayofMonth = CDate("01." & Now.AddMonths(1).Month & "." & Now.AddMonths(1).Year).AddDays(-1)
|
|
Dim nowdate As Date = CDate("31.01.2018") 'Now
|
|
'wenn letzter Tag im Monat...
|
|
If nowdate.ToShortDateString = lastDayofMonth.ToShortDateString Then
|
|
Dim zp As Date = CDate(Now.ToShortDateString & " 23:54:50")
|
|
'... und kurz vor Mitternacht:
|
|
If Now > zp Then
|
|
Return True
|
|
End If
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
'cboPrinter.SelectedItem.ToString
|
|
Public Shared Function printKundenBeleg(BELEG As EABeleg, KASSE As cRKSV_Kasse, PERSONAL As cPersonal, printername As String, showDok As Boolean) As Boolean
|
|
|
|
'Dim print As New frmPrintLayout
|
|
|
|
Dim rpt As New rptKundenBeleg
|
|
rpt.lblRgNr.Text = BELEG.rksv_BelegId '"12345 / TR"
|
|
rpt.lblRgDatum.Text = BELEG.BelegDat.ToString("dd.MM.yyyy") ' HH:mm")
|
|
' rpt.lblKdNr.Text = IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
|
|
rpt.lblFirma.Text = BELEG.Ordnungsbegriff
|
|
|
|
Dim adr1 = BELEG.Straße
|
|
Dim adr2 = (BELEG.LandKz & " " & BELEG.PLZ & " " & BELEG.Ort).Trim
|
|
If adr1.Trim <> "" Then rpt.lblFirma.Text &= vbNewLine & adr1
|
|
If adr2.Trim <> "" Then rpt.lblFirma.Text &= vbNewLine & adr2
|
|
|
|
Dim uidkdnr = (BELEG.UstIdKz & " " & BELEG.UstIdNr).Trim
|
|
If uidkdnr <> "" Then uidkdnr &= vbNewLine
|
|
uidkdnr &= IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
|
|
rpt.lblUID.Text = uidkdnr
|
|
|
|
rpt.lblFahrer.Text = BELEG.Fahrer
|
|
rpt.lblLKWKz.Text = BELEG.LKW_Kennzeichen
|
|
If BELEG.LKW_Kennzeichen = "" Then rpt.lblKennzeichenUeberschrift.Text = "" ' = False
|
|
rpt.txtPassnummer.Text = BELEG.Passnummer
|
|
If BELEG.Passnummer = "" Then rpt.TextBox1.Text = "" ' = False
|
|
|
|
If BELEG.Fahrer = "" Then rpt.lblFahrerUeberschrift.Text = "" '= False
|
|
rpt.lblTextSteuern.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull(Beschreibung,'< keine Steuerberechnung >') FROM [tblSteuersätze] WHERE Nr='" & BELEG.Steuerschlüssel & "'", "FMZOLL")
|
|
Dim steuersatz = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & BELEG.Steuerschlüssel & "' ", "FMZOLL")
|
|
|
|
rpt.lblSachbearbeiter.Text = PERSONAL.Name
|
|
rpt.lblKbNr.Text = "( " & PERSONAL.KassenbuchNr & " )"
|
|
rpt.Label25.Visible = (BELEG.DruckDatumUhrzeit IsNot Nothing) 'KOPIE
|
|
|
|
rpt.lblBetragSum.Text = ""
|
|
rpt.lblGesamtbetrag.Text = ""
|
|
rpt.lblBetragSteuern.Text = ""
|
|
|
|
rpt.lblPosNr.Text = ""
|
|
If If(BELEG.LKW_Beleg, True) Then
|
|
If BELEG.FilialenNr > 0 And BELEG.AbfertigungsNr > 0 Then
|
|
rpt.lblPosNr.Text = BELEG.FilialenNr & " / " & BELEG.AbfertigungsNr
|
|
End If
|
|
Else
|
|
'alle betroffenen AbfNr:
|
|
For Each b In BELEG.POS
|
|
If b.FilialenNr > 0 And b.AbfertigungsNr > 0 Then
|
|
If Not rpt.lblPosNr.Text.Contains(b.FilialenNr & "/" & b.AbfertigungsNr) Then
|
|
rpt.lblPosNr.Text &= b.FilialenNr & "/" & b.AbfertigungsNr & vbNewLine
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
rpt.lblPosNr.Text = rpt.lblPosNr.Text.Trim
|
|
If rpt.lblPosNr.Text = "" Then rpt.lblPosNr.Visible = False : rpt.Label26.Visible = False
|
|
|
|
|
|
If If(BELEG.LKW_Id, 0) > 0 Then
|
|
rpt.txtLKWId.Text = BELEG.LKW_Id
|
|
Else
|
|
rpt.txtLKWId.Visible = False : rpt.Label1.Visible = False
|
|
End If
|
|
|
|
|
|
If BELEG.storniert Then
|
|
rpt.Label25.Text = "**** STORNO ****"
|
|
rpt.Label25.Visible = True
|
|
rpt.lblStorno.Visible = True
|
|
rpt.lblStorno.Text = "STORNORECHNUNG" & vbNewLine & BELEG.Stornogrund
|
|
End If
|
|
|
|
|
|
Select Case KASSE.rksv_bez
|
|
Case "VERAG-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
'rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2 'Standart
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition AG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 100" & vbNewLine & "UID: ATU53187000 "
|
|
Case "VERAG-CUSTOMSSERVICE-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU68374109 "
|
|
Case "ATILLA-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.lblFirma_Name.Text = "ATILLA Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU63158647 "
|
|
Case "VERAG-GMBH-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Spedition_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "D 94152 Neuhaus am Inn | Hartham 6" & vbNewLine & "UID: DE813570890 "
|
|
Select Case PERSONAL.Niederlassung
|
|
Case "SBG"
|
|
rpt.lblFirma_Details.Text &= vbNewLine & "Niederlassung: Bad Reichenhall"
|
|
Case "WAI"
|
|
rpt.lblFirma_Details.Text &= vbNewLine & "Niederlassung: Waidhaus"
|
|
End Select
|
|
Case "KASSE-VERWALTUNG"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-VERWALTUNG"
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "TEST-KASSE"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
|
|
rpt.lblFirma_Name.Text = "TEST-KASSE"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-SUB"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "FRONT-OFFICE-SUB-KASSE"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.FrontOfficeSUB
|
|
rpt.lblFirma_Name.Text = "Front-Office Suben eG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU74813856 "
|
|
End Select
|
|
|
|
If KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv Then
|
|
If BELEG.rksv_qr Is Nothing OrElse BELEG.rksv_qr = "" Then
|
|
If KASSE.rksv_KassaGuid <> "KASSE_01" Then
|
|
MsgBox("Fehler: QR-Code wurde nicht richtig erstellt!")
|
|
End If
|
|
Else
|
|
Dim bmpBytes As Byte() = Convert.FromBase64String(BELEG.rksv_qr)
|
|
Dim MS As New System.IO.MemoryStream(bmpBytes)
|
|
Dim QR_Image = Image.FromStream(MS)
|
|
rpt.QR.Image = QR_Image
|
|
End If
|
|
|
|
End If
|
|
' rpt.DataSource = cProgramFunctions.dgridViewTods(dgvBelegPos)
|
|
|
|
Dim dt As New DataTable
|
|
dt.Columns.Add("clmnAnzahl", GetType(String))
|
|
dt.Columns.Add("clmnBeschreibung", GetType(String))
|
|
dt.Columns.Add("clmnBetrag", GetType(String))
|
|
dt.Columns.Add("clmnPreis", GetType(String))
|
|
|
|
For Each p In BELEG.POS
|
|
' dt.Rows.Add(p.Anzahl, p.Leistungsbeschreibung, p.Betrag, p.Preis)
|
|
If BELEG.Belegart = 1 Then
|
|
dt.Rows.Add(p.Anzahl, p.LeistungsBez, p.Betrag, p.Preis)
|
|
Else
|
|
dt.Rows.Add(p.Anzahl, p.LeistungsBez, p.Betrag * -1, p.Preis * -1)
|
|
End If
|
|
Next
|
|
|
|
rpt.DataSource = dt 'cProgramFunctions.dgridViewTods(dgvBelegPos)
|
|
Dim sum As Double = 0
|
|
'Dim cnt As Integer = 0
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
rpt.lblLeistungsNr.Text = rpt.Fields.Item("clmnAnzahl").Value()
|
|
rpt.lblLeistun.Text = rpt.Fields.Item("clmnBeschreibung").Value()
|
|
rpt.lblBetrag.Text = CDbl(rpt.Fields.Item("clmnBetrag").Value()).ToString("C")
|
|
rpt.lblEinzelpreis.Text = CDbl(rpt.Fields.Item("clmnPreis").Value()).ToString("C")
|
|
sum += rpt.Fields.Item("clmnBetrag").Value()
|
|
End Sub
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
rpt.lblBetragSum.Text = CDbl(sum).ToString("C")
|
|
Dim s As Double = IIf(IsNumeric(steuersatz), steuersatz, 0)
|
|
rpt.lblBetragSteuern.Text = CDbl(sum * s).ToString("C")
|
|
rpt.lblGesamtbetrag.Text = CDbl(sum + (sum * s)).ToString("C")
|
|
If sum < 0 Then rpt.Label2.Text = "Rechnungskorrektur Nr."
|
|
End Sub
|
|
|
|
'PaperKind = System.Drawing.Printing.PaperKind.Custom
|
|
' Me.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom
|
|
If showDok Then ' Wird angezeigt, nicht gedruckt
|
|
Dim print As New GrapeCity.ActiveReports.Viewer.Win.Viewer
|
|
print.Text = "Beleg"
|
|
Dim printForm As New frmPrintLayout
|
|
AddHandler print.LoadCompleted, Sub()
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
End Sub
|
|
printForm.Viewer.LoadDocument(rpt)
|
|
|
|
printForm.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
printForm.Show()
|
|
printForm.BringToFront()
|
|
Else
|
|
' print.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
' print.LoadDocument(rpt)
|
|
|
|
|
|
If printername <> "" Then
|
|
rpt.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
rpt.Dispose()
|
|
End If
|
|
End If
|
|
|
|
rpt.Run(False)
|
|
rpt.Document.Printer.PrinterSettings.Copies = 1
|
|
|
|
If Not rpt.Document.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
rpt.Dispose()
|
|
|
|
End If
|
|
|
|
Return True
|
|
' Me.Cursor = Cursors.Default
|
|
End Function
|
|
|
|
|
|
Public Shared Function printKundenBelegLG(BELEG As EABeleg, KASSE As cRKSV_Kasse, PERSONAL As cPersonal, printername As String, Art As String) As Boolean
|
|
|
|
'Dim print As New frmPrintLayout
|
|
Dim print As New GrapeCity.ActiveReports.Viewer.Win.Viewer
|
|
print.Text = "Beleg"
|
|
Dim rpt As New rptLeihgeldBeleg
|
|
rpt.lblRgNr.Text = BELEG.rksv_BelegId '"12345 / TR"
|
|
rpt.lblRgDatum.Text = BELEG.BelegDat.ToString("dd.MM.yyyy") ' HH:mm")
|
|
' rpt.lblKdNr.Text = IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
|
|
rpt.lblFrachtf.Text = BELEG.Ordnungsbegriff
|
|
|
|
|
|
Dim firenname = (If(BELEG.Name1, "") & If(BELEG.Name2, "")).Trim
|
|
|
|
Dim adr1 = BELEG.Straße
|
|
Dim adr2 = (BELEG.LandKz & " " & BELEG.PLZ & " " & BELEG.Ort).Trim
|
|
If adr1.Trim <> "" Then rpt.lblFrachtf.Text &= vbNewLine & adr1
|
|
If adr2.Trim <> "" Then rpt.lblFrachtf.Text &= vbNewLine & adr2
|
|
|
|
rpt.lblFirma.Text = If(BELEG.KundenNr > 0, BELEG.KundenNr & " - ", "") & If(firenname <> "", firenname, BELEG.Ordnungsbegriff) & If(adr1 <> "", vbNewLine & adr1, "") & If(adr2 <> "", vbNewLine & adr2, "")
|
|
rpt.txtFrachtfuhrer.Text = If(BELEG.FrachtführerKundenNr > 0, BELEG.FrachtführerKundenNr & " - ", "") & BELEG.Frachtführer
|
|
|
|
rpt.lblUID.Text = (BELEG.UstIdKz & " " & BELEG.UstIdNr).Trim
|
|
' rpt.lblKdNr.Text = IIf(BELEG.KundenNr > 0, BELEG.KundenNr, "")
|
|
rpt.Label24.Text = "Auszahlungsbetrag"
|
|
|
|
rpt.lblFahrer.Text = BELEG.Fahrer
|
|
rpt.lblFahrer2.Text = BELEG.Fahrer
|
|
rpt.lblLKWKz.Text = BELEG.LKW_Kennzeichen
|
|
rpt.lblPassnummer.Text = BELEG.Passnummer
|
|
' If BELEG.LKW_Kennzeichen = "" Then rpt.lblKennzeichenUeberschrift.Text = "" ' = False
|
|
' If BELEG.Fahrer = "" Then rpt.lblFahrerUeberschrift.Text = "" '= False
|
|
rpt.lblTextSteuern.Text = SQL.getValueTxtBySql("SELECT TOP 1 isnull(Beschreibung,'< keine Steuerberechnung >') FROM [tblSteuersätze] WHERE Nr='" & BELEG.Steuerschlüssel & "'", "FMZOLL")
|
|
Dim steuersatz = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & BELEG.Steuerschlüssel & "' ", "FMZOLL")
|
|
|
|
rpt.lblSachbearbeiter.Text = PERSONAL.Name
|
|
rpt.lblSachbearbeiter2.Text = PERSONAL.Name
|
|
rpt.lblKbNr.Text = "( " & PERSONAL.KassenbuchNr & " )"
|
|
rpt.Label25.Visible = (BELEG.DruckDatumUhrzeit IsNot Nothing) 'KOPIE
|
|
|
|
rpt.lblBetragSum.Text = ""
|
|
rpt.lblGesamtbetrag.Text = ""
|
|
rpt.lblBetragSteuern.Text = ""
|
|
rpt.lblPosNr.Text = IIf(BELEG.FilialenNr > 0, BELEG.FilialenNr & " / ", "") & BELEG.AbfertigungsNr
|
|
|
|
If BELEG.storniert Then
|
|
rpt.Label25.Text = "**** STORNO ****"
|
|
rpt.Label25.Visible = True
|
|
rpt.lblStorno.Visible = True
|
|
rpt.lblStorno.Text = "STORNORECHNUNG" & vbNewLine & BELEG.Stornogrund
|
|
|
|
End If
|
|
|
|
If Art = "LG" Then
|
|
ElseIf Art = "A" Then
|
|
|
|
End If
|
|
|
|
If KASSE IsNot Nothing Then
|
|
Select Case KASSE.rksv_bez
|
|
Case "VERAG-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
'rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2 'Standart
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition AG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 100" & vbNewLine & "UID: ATU53187000 "
|
|
Case "VERAG-CUSTOMSSERVICE-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU68374109 "
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma VERAG Customs Service GmbH erhalten zu haben."
|
|
Case "ATILLA-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.lblFirma_Name.Text = "ATILLA Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU63158647 "
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma ATILLA Spedition GmbH erhalten zu haben."
|
|
Case "VERAG-GMBH-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Spedition_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "D 94152 Neuhaus am Inn | Hartham 6" & vbNewLine & "UID: DE813570890 "
|
|
Case "KASSE-VERWALTUNG"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-VERWALTUNG"
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "TEST-KASSE"
|
|
'Default Werte:
|
|
rpt.lblFirma_Name.Text = "TEST-KASSE"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma IMEX Customs Service GmbH erhalten zu haben."
|
|
Case "ATILLA"
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma ATILLA Spedition GmbH erhalten zu haben."
|
|
End Select
|
|
|
|
Case "IMEX-KASSE-SUB"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma IMEX Customs Service GmbH erhalten zu haben."
|
|
Case "FRONT-OFFICE-SUB-KASSE"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.FrontOfficeSUB
|
|
rpt.lblFirma_Name.Text = "Front-Office Suben eG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU74813856 "
|
|
rpt.Label1.Text = "Wir bestätigen, den o.g. Betrag von der Firma Front-Office Suben eG erhalten zu haben."
|
|
End Select
|
|
|
|
|
|
If KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv Then
|
|
|
|
If BELEG.rksv_qr Is Nothing OrElse BELEG.rksv_qr = "" Then
|
|
If KASSE.rksv_KassaGuid <> "KASSE_01" Then
|
|
MsgBox("Fehler: QR-Code wurde nicht richtig erstellt!")
|
|
End If
|
|
Else
|
|
Dim bmpBytes As Byte() = Convert.FromBase64String(BELEG.rksv_qr)
|
|
Dim MS As New System.IO.MemoryStream(bmpBytes)
|
|
Dim QR_Image = Image.FromStream(MS)
|
|
rpt.QR.Image = QR_Image
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
' rpt.DataSource = cProgramFunctions.dgridViewTods(dgvBelegPos)
|
|
|
|
Dim dt As New DataTable
|
|
dt.Columns.Add("clmnAnzahl", GetType(String))
|
|
dt.Columns.Add("clmnBeschreibung", GetType(String))
|
|
dt.Columns.Add("clmnBetrag", GetType(String))
|
|
dt.Columns.Add("clmnPreis", GetType(String))
|
|
|
|
For Each p In BELEG.POS
|
|
dt.Rows.Add(p.Anzahl, p.Leistungsbeschreibung, p.Betrag, p.Preis)
|
|
Next
|
|
|
|
rpt.DataSource = dt 'cProgramFunctions.dgridViewTods(dgvBelegPos)
|
|
Dim sum As Double = 0
|
|
'Dim cnt As Integer = 0
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
rpt.lblLeistungsNr.Text = rpt.Fields.Item("clmnAnzahl").Value()
|
|
rpt.lblLeistun.Text = rpt.Fields.Item("clmnBeschreibung").Value()
|
|
rpt.lblBetrag.Text = CDbl(rpt.Fields.Item("clmnBetrag").Value()).ToString("C")
|
|
rpt.lblEinzelpreis.Text = CDbl(rpt.Fields.Item("clmnPreis").Value()).ToString("C")
|
|
sum += rpt.Fields.Item("clmnBetrag").Value()
|
|
End Sub
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
rpt.lblBetragSum.Text = CDbl(sum).ToString("C")
|
|
Dim s As Double = IIf(IsNumeric(steuersatz), steuersatz, 0)
|
|
rpt.lblBetragSteuern.Text = CDbl(sum * s).ToString("C")
|
|
rpt.lblGesamtbetrag.Text = CDbl(sum + (sum * s)).ToString("C")
|
|
|
|
End Sub
|
|
|
|
rpt.Run(False)
|
|
|
|
If printername <> "" Then
|
|
rpt.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
rpt.Dispose()
|
|
End If
|
|
End If
|
|
|
|
If Not rpt.Document.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
rpt.Dispose()
|
|
|
|
If False Then
|
|
|
|
AddHandler print.LoadCompleted, Sub()
|
|
' MsgBox("b" & printername)
|
|
' MsgBox(cboPrinter.SelectedItem.ToString)
|
|
' If cboPrinter.SelectedItem.ToString <> "" Then print.Document.Printer.PrinterName = cboPrinter.SelectedItem.ToString
|
|
If printername <> "" Then
|
|
print.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
print.Dispose()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
If printername = "" Then print.Dispose() : Exit Sub
|
|
print.Document.Printer.PrinterName = printername
|
|
If Not print.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
print.Dispose()
|
|
' print.Close()
|
|
End Sub
|
|
|
|
End If
|
|
Return True
|
|
|
|
' Me.Cursor = Cursors.Default
|
|
End Function
|
|
|
|
|
|
Public Shared Function printNULLBeleg(KASSE As cRKSV_Kasse, PERSONAL As cPersonal, AUTODRUCK As Boolean, Firma As String) As Boolean
|
|
Try
|
|
|
|
If PERSONAL Is Nothing Then
|
|
Dim FMZOLL_SQL As New FMZOLL_SQL
|
|
PERSONAL = FMZOLL_SQL.getPersonalById(274)
|
|
End If
|
|
|
|
Dim ib = ""
|
|
' If Not AUTODRUCK Then ib = InputBox("Passwort:")
|
|
' If AUTODRUCK Or (ib = "verag#2" Or ib = "supervisor") Then
|
|
' Dim PERSONAL As SDL.cPersonal = Nothing
|
|
' Dim frmSecureLoginKassenbuch As New SDL.frmSecureLoginKassenbuch
|
|
' If frmSecureLoginKassenbuch.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
|
|
'PERSONAL = frmSecureLoginKassenbuch.PERSONAL
|
|
'
|
|
|
|
Dim TESTBUCHUNG = False
|
|
Dim oldBelegZaehler = KASSE.rksv_BelegIdZaehler
|
|
Dim summe As Double = 0
|
|
Dim RKSV_Beleg_Id = KASSE.INCREASE_BELEG_UMSATZ(If(TESTBUCHUNG, 0, summe))
|
|
If RKSV_Beleg_Id < 0 Then
|
|
'Exit Function
|
|
Return False
|
|
End If
|
|
|
|
Dim BELEG As New EABeleg(PERSONAL.Mandant, PERSONAL.Niederlassung, PERSONAL.ID)
|
|
' Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ(BELEG.BelegDat))
|
|
|
|
BELEG.Ordnungsbegriff = "*** NULL-BELEG ***"
|
|
BELEG.Beleg_TYP = "0"
|
|
BELEG.Belegart = "0"
|
|
BELEG.Name1 = "*** NULL-BELEG ***"
|
|
BELEG.Steuerschlüssel = 3510
|
|
BELEG.BelegNr = cRKSV.getNewBelegNr(BELEG, Firma) 'GJ.INCREASE_BELEG() 'Vergabe der Belegnummer '
|
|
' Beleg noch nicht gespeichert.... BELEG.DEL_POS_List()' Positionen löschen, da BelegNr Neu vergeben
|
|
For Each p In BELEG.POS
|
|
p.BelegNr = BELEG.BelegNr
|
|
Next
|
|
BELEG.gebucht = True
|
|
BELEG.SAVE()
|
|
|
|
|
|
' QR_Image = Nothing
|
|
Dim QR_CodeString As String = ""
|
|
Dim LastJWS As String = ""
|
|
|
|
If KASSE.rksv_aktiv Then ' WENN für die Kasse die RKSV gilt
|
|
Dim answer = ""
|
|
|
|
If Not cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, 0, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
|
If Not TESTBUCHUNG Then
|
|
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1)
|
|
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
|
End If
|
|
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
|
|
' Me.Cursor = Cursors.Default
|
|
'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
|
' MsgBox("Programmfehler bei der digitalen Signatur.")
|
|
|
|
Return False
|
|
End If
|
|
KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
|
End If
|
|
|
|
If KASSE.rksvDE_aktiv Then ' WENN für die Kasse die DEUTSCHLAND gilt
|
|
Dim answer = ""
|
|
|
|
'*Nullbelg-POS*
|
|
Dim POS As New EABelegPositionen
|
|
POS.Abfertigungsart = 10 '"Sonstiges"
|
|
POS.Mandant = BELEG.Mandant
|
|
POS.Niederlassung = BELEG.Niederlassung
|
|
POS.Benutzer = BELEG.Benutzer
|
|
POS.BelegDat = BELEG.BelegDat
|
|
POS.BelegNr = BELEG.BelegNr
|
|
POS.PreislistenPos = -1
|
|
POS.LeistungsNr = 499
|
|
POS.LeistungsBez = "NULLBELEG"
|
|
POS.Leistungsbeschreibung = "NULLBELEG"
|
|
POS.PreislistenNr = -1
|
|
POS.PreistabellenNr = -1
|
|
POS.Preis = 0
|
|
POS.Anzahl = 1
|
|
POS.Anzahlmultiplikator = 1
|
|
POS.Betrag = 0
|
|
POS.Preisbindung = 0
|
|
' POS.AbfertigungsNr = 000
|
|
BELEG.POS.Add(POS)
|
|
|
|
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, 0, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
|
|
If Not TESTBUCHUNG Then
|
|
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1)
|
|
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
|
|
End If
|
|
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
|
|
' Me.Cursor = Cursors.Default
|
|
'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
|
|
' MsgBox("Programmfehler bei der digitalen Signatur.")
|
|
|
|
Return False
|
|
End If
|
|
KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
|
|
|
|
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
If KASSE.rksv_KassaGuid = "KASSE_01" Then
|
|
BELEG.rksv_jws = Nothing
|
|
BELEG.rksv_qr = Nothing
|
|
End If
|
|
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
|
|
End If
|
|
|
|
'RKSV-Daten beim Beleg ergänzen:
|
|
BELEG.rksv_jws = LastJWS
|
|
BELEG.rksv_qr = QR_CodeString
|
|
BELEG.rksv_BelegId = RKSV_Beleg_Id
|
|
BELEG.rksv_id = KASSE.rksv_id
|
|
BELEG.rksv_umsatz = summe
|
|
BELEG.rksv_aktiv = (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv)
|
|
BELEG.SAVE()
|
|
|
|
|
|
'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken
|
|
|
|
|
|
If AUTODRUCK Then
|
|
Dim pName = ""
|
|
For Each sPrinter As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
|
|
If sPrinter = "AUTODRUCK_MAIL" Then pName = sPrinter : Exit For
|
|
Next
|
|
If pName = "" Then
|
|
Dim oPS As New System.Drawing.Printing.PrinterSettings
|
|
pName = oPS.PrinterName
|
|
End If
|
|
cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, pName, False) 'Beleg drucken
|
|
Else
|
|
cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, "", False) 'Beleg drucken
|
|
End If
|
|
|
|
Return True
|
|
' End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
|
|
Public Shared Function getCardSerialInReader(kasse_id As Integer, reader As String)
|
|
Try
|
|
Dim KASSE As New cRKSV_Kasse(kasse_id)
|
|
Dim client As RKSVWcfClient = New RKSVWcfClient()
|
|
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(KASSE))
|
|
client.Open()
|
|
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
|
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
|
|
|
credentials.Database = "RKSVWcfDB"
|
|
credentials.Server = "AVISO\SQLEXPRESS"
|
|
|
|
credentials.Username = "Admin"
|
|
credentials.Password = "verag#2"
|
|
' credentials.CashboxID = kasse '"VERAG-SUB-KASSE-ZOLL"
|
|
' credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
|
|
|
|
|
|
|
Return client.GetCardInReader(reader)
|
|
Catch ex As Exception
|
|
MsgBox("ERROR " & ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
Public Shared Function printFremdBeleg(BELEG As EABeleg, KASSE As cRKSV_Kasse, PERSONAL As cPersonal, KBEntry As cKassenbuch, KBEntryGB As cKassenbuch, printername As String) As Boolean
|
|
Dim print As New GrapeCity.ActiveReports.Viewer.Win.Viewer
|
|
print.Text = "Beleg"
|
|
Dim rpt As New rptEABeleg
|
|
'rpt.lblRgNr.Text = BELEG.rksv_BelegId '"12345 / TR"
|
|
|
|
' Dim QR As String = ""
|
|
|
|
If (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv) And BELEG.rksv_BelegId > 0 Then
|
|
If BELEG.rksv_qr Is Nothing OrElse BELEG.rksv_qr = "" Then
|
|
If KASSE.rksv_KassaGuid <> "KASSE_01" Then
|
|
MsgBox("Fehler: QR-Code wurde nicht richtig erstellt!")
|
|
End If
|
|
Else
|
|
Dim bmpBytes As Byte() = Convert.FromBase64String(BELEG.rksv_qr)
|
|
Dim MS As New System.IO.MemoryStream(bmpBytes)
|
|
Dim QR_Image = Image.FromStream(MS)
|
|
rpt.QR.Image = QR_Image
|
|
End If
|
|
|
|
End If
|
|
' Dim bmpBytes As Byte() = Convert.FromBase64String(QR)
|
|
' Dim MS As New System.IO.MemoryStream(bmpBytes)
|
|
' Dim QR_Image = Image.FromStream(MS)
|
|
' rpt.QR.Image = QR_Image
|
|
|
|
rpt.Label25.Visible = (BELEG.DruckDatumUhrzeit IsNot Nothing) 'KOPIE
|
|
rpt.lblBuchungsdatum.Text = CDate(BELEG.BelegDat).ToShortDateString
|
|
rpt.lblUhrzeit.Text = "" 'Now.ToShortTimeString
|
|
rpt.lblBuchungstext.Text = KBEntry.Buchungstext 'cboKonto.Text
|
|
rpt.lblBelegdatum.Text = CDate(KBEntry.BelegDat).ToShortDateString
|
|
rpt.lblReferenz.Text = KBEntry.Referenz 'txtReferenz.Text
|
|
rpt.lblKonto.Text = KBEntryGB.Konto 'cboKonto._value
|
|
rpt.lblBetrag.Text = CDbl(BELEG.rksv_umsatz).ToString("C2")
|
|
|
|
rpt.lblSachbearbeiter.Text = PERSONAL.Name
|
|
rpt.lblKontoSB.Text = PERSONAL.KassenbuchNr
|
|
rpt.lblRgNr.Text = BELEG.rksv_BelegId
|
|
If BELEG.Belegart = 1 Then
|
|
'Einnahme
|
|
rpt.lblTitel.Text = "KASSE - EINGANG"
|
|
Else
|
|
rpt.lblTitel.Text = "KASSE - AUSGANG"
|
|
End If
|
|
|
|
If BELEG.storniert Then
|
|
rpt.Label25.Text = "** STORNO **"
|
|
rpt.Label25.Visible = True
|
|
rpt.lblStorno.Visible = True
|
|
rpt.lblStorno.Text = "STORNO" & vbNewLine & BELEG.Stornogrund
|
|
|
|
End If
|
|
If KASSE IsNot Nothing Then
|
|
Select Case KASSE.rksv_bez
|
|
Case "VERAG-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
'rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2 'Standart
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition AG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 100" & vbNewLine & "UID: ATU53187000 "
|
|
Case "VERAG-CUSTOMSSERVICE-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU68374109 "
|
|
Case "ATILLA-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.lblFirma_Name.Text = "ATILLA Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU63158647 "
|
|
Case "VERAG-GMBH-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Spedition_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "D 94152 Neuhaus am Inn | Hartham 6" & vbNewLine & "UID: DE813570890 "
|
|
Case "KASSE-VERWALTUNG"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-VERWALTUNG"
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "TEST-KASSE"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
|
|
rpt.lblFirma_Name.Text = "TEST-KASSE"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-SUB"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "FRONT-OFFICE-SUB-KASSE"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.FrontOfficeSUB
|
|
rpt.lblFirma_Name.Text = "Front-Office Suben eG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU74813856 "
|
|
End Select
|
|
End If
|
|
|
|
rpt.Run(False)
|
|
|
|
If printername <> "" Then
|
|
rpt.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
rpt.Dispose()
|
|
End If
|
|
End If
|
|
|
|
If Not rpt.Document.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
rpt.Dispose()
|
|
|
|
If False Then
|
|
|
|
|
|
print.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.LoadDocument(rpt)
|
|
'print = FormWindowState.Minimized
|
|
'print.Visible = False
|
|
' print.Show()
|
|
|
|
|
|
AddHandler print.LoadCompleted, Sub()
|
|
If printername <> "" Then
|
|
print.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
print.Dispose()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
If printername = "" Then print.Dispose() : Exit Sub
|
|
print.Document.Printer.PrinterName = printername
|
|
|
|
If Not print.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
If BELEG.DruckDatumUhrzeit Is Nothing Then
|
|
BELEG.DruckDatumUhrzeit = Now
|
|
BELEG.SAVE()
|
|
End If
|
|
print.Dispose()
|
|
' print.Close()
|
|
End Sub
|
|
End If
|
|
|
|
Return True
|
|
|
|
' Me.Cursor = Cursors.Default
|
|
End Function
|
|
|
|
|
|
Public Shared Sub printAESKey(KASSE As cRKSV_Kasse, printername As String)
|
|
Dim print As New GrapeCity.ActiveReports.Viewer.Win.Viewer
|
|
print.Text = "AES-Key"
|
|
Dim rpt As New rptAESKey
|
|
rpt.lblKASSE.Text = KASSE.rksv_bez
|
|
rpt.lblDatum.Text = Now.ToString("dd.MM.yyyy") ' HH:mm")
|
|
rpt.txtAES.Text = KASSE.rksv_AesKey ' HH:mm")
|
|
|
|
Select Case KASSE.rksv_bez
|
|
Case "VERAG-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
'rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2 'Standart
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition AG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 100" & vbNewLine & "UID: ATU53187000 "
|
|
Case "VERAG-CUSTOMSSERVICE-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Customs_Service_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU68374109 "
|
|
Case "ATILLA-SUB-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
rpt.lblFirma_Name.Text = "ATILLA Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU63158647 "
|
|
Case "VERAG-GMBH-KASSE-ZOLL"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.Verag_Spedition_GMBH_Logo_med
|
|
rpt.lblFirma_Name.Text = "VERAG Spedition GmbH"
|
|
rpt.lblFirma_Details.Text = "D 94152 Neuhaus am Inn | Hartham 6" & vbNewLine & "UID: DE813570890 "
|
|
Case "KASSE-VERWALTUNG"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG / BUCHHALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-VERWALTUNG"
|
|
rpt.lblFirma_Name.Text = "KASSE VERWALTUNG"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "TEST-KASSE"
|
|
'Default Werte:
|
|
' rpt.picVERAG.Image = My.Resources.Verag_AG_Logo2
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then rpt.picVERAG.Image = My.Resources.Atilla_big_med
|
|
|
|
rpt.lblFirma_Name.Text = "TEST-KASSE"
|
|
rpt.lblFirma_Details.Text = " *** nur intern ***"
|
|
Case "IMEX-KASSE-SUB"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.IMEX_LOGO_simple
|
|
rpt.lblFirma_Name.Text = "IMEX Customs Service GmbH"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 15" & vbNewLine & "UID: ATU68490714 "
|
|
Case "FRONT-OFFICE-SUB-KASSE"
|
|
'Default Werte:
|
|
rpt.picVERAG.Image = My.Resources.FrontOfficeSUB
|
|
rpt.lblFirma_Name.Text = "Front-Office Suben eG"
|
|
rpt.lblFirma_Details.Text = "A 4975 Suben | Suben 14" & vbNewLine & "UID: ATU74813856 "
|
|
End Select
|
|
|
|
print.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.LoadDocument(rpt)
|
|
|
|
|
|
AddHandler print.LoadCompleted, Sub()
|
|
' MsgBox("b" & printername)
|
|
' MsgBox(cboPrinter.SelectedItem.ToString)
|
|
' If cboPrinter.SelectedItem.ToString <> "" Then print.Document.Printer.PrinterName = cboPrinter.SelectedItem.ToString
|
|
If printername <> "" Then
|
|
print.Document.Printer.PrinterName = printername
|
|
Else
|
|
Dim p As New PrintDialog
|
|
If p.ShowDialog() = DialogResult.OK Then
|
|
printername = p.PrinterSettings.PrinterName
|
|
Else
|
|
print.Dispose()
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
If printername = "" Then print.Dispose() : Exit Sub
|
|
print.Document.Printer.PrinterName = printername
|
|
If Not print.Print(False, False) Then
|
|
MsgBox("Problem beim Drucken.")
|
|
End If
|
|
print.Dispose()
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Shared Function GetGrenzstelle(avisoid) As String
|
|
Try
|
|
If avisoid IsNot Nothing AndAlso CInt(avisoid) > 0 Then
|
|
Dim AVISO = (New VERAG_PROG_ALLGEMEIN.cAvisoDAL).LesenAviso(avisoid, "")
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("RPT_SND_Grenzstelle") Then
|
|
If AVISO.Zollstelle IsNot Nothing AndAlso AVISO.Zollstelle <> "" Then
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
'Return "Grenze: " & SQL.getValueTxtBySql("SELECT basncd_dstnr +' - ' + [basncd_name] FROM basncd WHERE basncd_dstnr='" & AVISO.Zollstelle & "' ", "ATLAS")
|
|
Return "Grenze: " & SQL.getValueTxtBySql("SELECT Code +' - ' + [Description] FROM tbl_DY_ZollDE_C0141_Zollstellen WHERE Code='" & AVISO.Zollstelle & "' AND ((StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE())) ", "FMZOLL")
|
|
|
|
Else
|
|
Return "Grenze: " & AVISO.Grenzstelle
|
|
End If
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
Return ""
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
Public Shared Function insertToSpedBuch(PERSONAL As cPersonal, PERSONAL_LG As cPersonal, BELEG As EABeleg, Optional AvisoID As Object = Nothing, Optional SendungsID As Object = Nothing, Optional barBetrag As Double = 0.0, Optional barBelegId As Integer = 0) As Boolean
|
|
|
|
|
|
'Zuerst schaun, ob Einträge in der Tabelle tblEABelegposition vorhanden
|
|
Dim dt As DataTable = SQL.loadDgvBySql("SELECT isnull(Abfertigungsart,10) as Abfertigungsart, Sum(isnull([Anzahl],isnull([TW1],0))*Anzahlmultiplikator) AS Abfertigungsanzahl, Sum(Betrag) AS Barzahlungsbetrag" &
|
|
" FROM tblEABelegposition" &
|
|
" WHERE Mandant = '" & BELEG.Mandant & "'" &
|
|
" And Niederlassung = '" & BELEG.Niederlassung & "'" &
|
|
" And Benutzer = " & BELEG.Benutzer & "" &
|
|
" And BelegDat = '" & BELEG.BelegDat.ToShortDateString & "' " &
|
|
" And BelegNr = " & BELEG.BelegNr & "" &
|
|
" GROUP BY Abfertigungsart ", "FMZOLL")
|
|
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
|
|
MsgBox("Fehler beim Eintrag ins Speditionsbuch!")
|
|
Return False
|
|
End If
|
|
|
|
'Dann alte Einträge aus Spedbuch löschen
|
|
SQL.doSQL("DELETE FROM Speditionsbuch WHERE FilialenNr=" & BELEG.FilialenNr & " AND AbfertigungsNr=" & BELEG.AbfertigungsNr & " ", "FMZOLL")
|
|
|
|
Dim UnterNr As Integer = 0
|
|
For Each r In dt.Rows
|
|
Dim SPED As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
|
|
SPED.FilialenNr = BELEG.FilialenNr
|
|
SPED.AbfertigungsNr = BELEG.AbfertigungsNr
|
|
SPED.UnterNr = UnterNr
|
|
SPED.Abfertigungsdatum = BELEG.BelegDat.ToShortDateString
|
|
|
|
If PERSONAL.BLC = "R" Then
|
|
SPED.ErfassungsNr = BELEG.Mandant & "/" & BELEG.Niederlassung & "/" & PERSONAL.Name & "/" & BELEG.BelegDat.ToShortDateString & "/" & BELEG.rksv_BelegId 'Benutzer.Column(3)
|
|
End If
|
|
SPED.Bar = True
|
|
SPED.AvisUhrzeit = Now.ToShortTimeString
|
|
SPED.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
|
|
If PERSONAL_LG IsNot Nothing Then
|
|
SPED.Personalnummer = PERSONAL_LG.ID
|
|
Else
|
|
SPED.Personalnummer = PERSONAL.ID
|
|
End If
|
|
SPED.Vermerk = BELEG.Fahrer
|
|
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX" : SPED.Bemerkungen = GetGrenzstelle(AvisoID)
|
|
End Select
|
|
|
|
SPED.LKW_Kennzeichen = BELEG.LKW_Kennzeichen
|
|
SPED.Abfertigungsart = r("Abfertigungsart")
|
|
|
|
SPED.KdAuftragsNr = BELEG.Auftraggeber_KdAuftragsnummer
|
|
|
|
' SPED.Abfertigungsart = Nz(r("Abfertigungsart"), 10) ' wenn Abfertigungsart Null dann 10 (Sonstiges)
|
|
SPED.Abfertigungsanzahl = r("Abfertigungsanzahl")
|
|
' MsgBox(SQL.getValueTxtBySql("SELECT isnull(EpSbSgutKompl,0) FROM [Abfertigungsarten] WHERE [Abfertigungsart]=" & SPED.Abfertigungsart, "FMZOLL"))
|
|
Dim varEpSbSgutKompl As Boolean = SQL.getValueTxtBySql("SELECT isnull(EpSbSgutKompl,0) FROM [Abfertigungsarten] WHERE [Abfertigungsart]=" & SPED.Abfertigungsart, "FMZOLL")
|
|
'DLookup("[EpSbSgutKompl]", "Abfertigungsarten", "[Abfertigungsart] = " & !Abfertigungsart)
|
|
|
|
If CBool(varEpSbSgutKompl) Then
|
|
If BELEG.SgutKompl Is Nothing OrElse BELEG.SgutKompl = "" Then
|
|
If (MsgBox("Handelt es sich um Sammelgut?", vbYesNo, "Eingabeprüfung Sgut/Kompl")) = vbYes Then
|
|
SPED.SgutKompl = "S"
|
|
Else
|
|
SPED.SgutKompl = "K"
|
|
End If
|
|
Else
|
|
SPED.SgutKompl = BELEG.SgutKompl
|
|
End If
|
|
Else
|
|
SPED.SgutKompl = Nothing
|
|
End If
|
|
|
|
SPED.Zollsystem = "A"
|
|
SPED.VermittlerKundenNr = If(BELEG.KundenNr > 0, BELEG.KundenNr, Nothing)
|
|
SPED.Vermittler = BELEG.Ordnungsbegriff
|
|
SPED.FrachtführerKundenNr = If(BELEG.FrachtführerKundenNr > 0, BELEG.FrachtführerKundenNr, Nothing)
|
|
SPED.Frachtführer = BELEG.Frachtführer
|
|
Dim AD = New VERAG_PROG_ALLGEMEIN.cAvisoDAL
|
|
If AvisoID IsNot Nothing Then
|
|
Dim aviso_tmp As VERAG_PROG_ALLGEMEIN.cAviso = AD.LesenAviso(AvisoID, "")
|
|
If aviso_tmp.Grenzstelle IsNot Nothing AndAlso aviso_tmp.Grenzstelle <> "" Then SPED.Grenzstelle = aviso_tmp.Grenzstelle
|
|
End If
|
|
|
|
SPED.AvisoID = AvisoID
|
|
If SendungsID IsNot Nothing Then SPED.SendungID = SendungsID
|
|
Dim anz = SPED.Abfertigungsanzahl
|
|
If SPED.Abfertigungsart Then
|
|
SPED.AnzahlZA = IIf(SPED.Abfertigungsart = 1, anz, "0")
|
|
SPED.AnzahlZAFremd = IIf(SPED.Abfertigungsart = 2, anz, "0")
|
|
SPED.AnzahlZnV = IIf(SPED.Abfertigungsart = 3, anz, "0")
|
|
SPED.AnzahlZnVFremd = IIf(SPED.Abfertigungsart = 4, anz, "0")
|
|
SPED.AnzahlT1 = IIf(SPED.Abfertigungsart = 5, anz, "0")
|
|
SPED.AnzahlT2 = IIf(SPED.Abfertigungsart = 6, anz, "0")
|
|
SPED.AnzahlAE = IIf(SPED.Abfertigungsart = 7, anz, "0")
|
|
SPED.AnzahlCarnetTIR = IIf(SPED.Abfertigungsart = 8, anz, "0")
|
|
SPED.AnzahlBarvorlagen = IIf(SPED.Abfertigungsart = 9, anz, "0")
|
|
SPED.AnzahlSonstiges = IIf(SPED.Abfertigungsart = 10, anz, "0")
|
|
SPED.AnzahlGrenzgebühren = IIf(SPED.Abfertigungsart = 11, anz, "0")
|
|
End If
|
|
|
|
Select Case BELEG.Belegart
|
|
Case 1 ' Einnahme
|
|
If PERSONAL.BLC = "R" Then
|
|
SPED.Barzahlungsbetrag = r("Barzahlungsbetrag")
|
|
Else
|
|
SPED.Barzahlungsbetrag = 0.0
|
|
End If
|
|
Case 2 ' Ausgabe
|
|
SPED.Barzahlungsbetrag = barBetrag
|
|
If PERSONAL.BLC = "R" Then
|
|
SPED.ErfassungsNr = SPED.ErfassungsNr & "/" & FormatCurrency(r("Barzahlungsbetrag"))
|
|
End If
|
|
End Select
|
|
' .Update()
|
|
' rst2.MoveNext()
|
|
' intUnterNr = intUnterNr + 1
|
|
|
|
SPED.SAVE()
|
|
|
|
UnterNr += 1
|
|
Next
|
|
Return True
|
|
End Function
|
|
|
|
Public Shared Function SpedBuchExists(BELEG As EABeleg) As Boolean
|
|
Return (CInt(SQL.getValueTxtBySql("SELECT count(*) FROM Speditionsbuch WHERE FilialenNr=" & BELEG.FilialenNr & " AND AbfertigungsNr=" & BELEG.AbfertigungsNr & " ", "FMZOLL")) > 0)
|
|
End Function
|
|
Public Shared Function SpedBuchExists(FilialenNr As Integer, AbfertigungsNr As Integer) As Boolean
|
|
Return (CInt(SQL.getValueTxtBySql("SELECT count(*) FROM Speditionsbuch WHERE FilialenNr=" & FilialenNr & " AND AbfertigungsNr=" & AbfertigungsNr & " ", "FMZOLL")) > 0)
|
|
End Function
|
|
|
|
Public Shared Function getNewBelegNr(BELEG As EABeleg, Firma As String) As Integer
|
|
Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma))
|
|
Return GJ.INCREASE_BELEG()
|
|
End Function
|
|
Public Shared Function getNewJournalNr(BELEG As EABeleg, Firma As String) As Integer
|
|
Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma))
|
|
Return GJ.INCREASE_JOURNAL()
|
|
End Function
|
|
|
|
Public Shared Function insertKB(PERSONAL As cPersonal, BELEG As EABeleg, RKSV_id As Integer, RKSV_Beleg_Id As Integer, RKSV_aktiv As Integer, ByRef JournalNr As Integer, Firma As String, POSFIBU As Integer, Optional Finanzwege As String = "Bar", Optional BelegSofortInFIBUverbuchten As Boolean = False)
|
|
Try
|
|
If BELEG.POS.Count = 0 Then
|
|
MsgBox("Keine Positionen gefunden")
|
|
cRKSV.STORNO(BELEG, "Programmfehler: Keine Beleg-Pos. gefunden.", Firma)
|
|
Return False
|
|
End If
|
|
' Belegnr!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
' Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ(BELEG.BelegDat))
|
|
|
|
BELEG.BelegNr = getNewBelegNr(BELEG, Firma) ' GJ.INCREASE_BELEG() 'Vergabe der Belegnummer'
|
|
' Beleg noch nicht gespeichert.... BELEG.DEL_POS_List()' Positionen löschen, da BelegNr Neu vergeben
|
|
|
|
For Each p In BELEG.POS
|
|
p.BelegNr = BELEG.BelegNr
|
|
Next
|
|
BELEG.SAVE()
|
|
'BELEG.SAVE_POS_List()
|
|
Dim KBEntry_List As New List(Of cKassenbuch)
|
|
Dim KBEntryGB_List As New List(Of cKassenbuch)
|
|
Dim KBEntryST_List As New List(Of cKassenbuch)
|
|
|
|
If BELEG.POS.Count > 0 Then
|
|
' Dim tb As DataRow = tbKBEintrag.Rows(0)
|
|
If Not BELEG.gebucht Then 'CBool(tbKBEintrag.Rows(0)("gebucht")) Then 'wenn nicht bereits gebucht
|
|
Dim dtBetraege = SQL.loadDgvBySql(" SELECT isnull(Sum(tblEABelegposition.Betrag),0) AS Nettobetrag, " &
|
|
" isnull(Sum(CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END),0) AS SteuerpflichtigerBetrag, " &
|
|
" isnull(Sum(cast((CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END)* [Steuersatz] as decimal(8,2))),0) AS SteuerBetrag, " &
|
|
" isnull(Sum(tblEABelegposition.Betrag+cast((CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END)* [Steuersatz] as decimal(8,2))),0) AS Bruttobetrag " &
|
|
" FROM tblEABelegnummer INNER JOIN tblSteuersätze ON tblEABelegnummer.Steuerschlüssel = tblSteuersätze.Nr INNER JOIN tblEABelegposition INNER JOIN Leistungen ON tblEABelegposition.LeistungsNr = Leistungen.LeistungsNr ON tblEABelegnummer.Mandant = tblEABelegposition.Mandant AND tblEABelegnummer.Niederlassung = tblEABelegposition.Niederlassung AND tblEABelegnummer.Benutzer = tblEABelegposition.Benutzer AND tblEABelegnummer.BelegDat = tblEABelegposition.BelegDat AND tblEABelegnummer.BelegNr = tblEABelegposition.BelegNr " &
|
|
" WHERE tblEABelegposition.Mandant='" & BELEG.Mandant & "' AND tblEABelegposition.Niederlassung='" & BELEG.Niederlassung & "' AND tblEABelegposition.Benutzer='" & BELEG.Benutzer & "' AND tblEABelegposition.BelegDat='" & BELEG.BelegDat.ToShortDateString & "' AND tblEABelegposition.BelegNr='" & BELEG.BelegNr & "'", "FMZOLL")
|
|
|
|
If dtBetraege.Rows.Count = 0 Then
|
|
MsgBox("ERROR: Beleg - Eintrag nicht gefunden. Abbruch!")
|
|
cRKSV.STORNO(BELEG, "Programmfehler: Beleg - Eintrag nicht gefunden.", Firma)
|
|
|
|
Return False
|
|
End If
|
|
|
|
Dim Bruttobetrag As Double = dtBetraege.Rows(0)("Bruttobetrag")
|
|
Dim Nettobetrag As Double = dtBetraege.Rows(0)("Nettobetrag")
|
|
Dim SteuerBetrag As Double = dtBetraege.Rows(0)("SteuerBetrag")
|
|
|
|
'################
|
|
' EINTRAG: Kassenbuch
|
|
'################
|
|
Dim KBEntry As New cKassenbuch(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), JournalNr)
|
|
KBEntry.JournalNr = getNewJournalNr(BELEG, Firma) ' GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
' KBEntry.JournalNr = fktJournalNr(rst1!Mandant, rst1!Niederlassung, rst1!Benutzer, rst1!BelegDat)
|
|
KBEntry.Konto = PERSONAL.KassenbuchNr
|
|
If BELEG.FilialenNr = -1 Or BELEG.AbfertigungsNr = -1 Then
|
|
If If(BELEG.LKW_Id, -1) > 0 Then
|
|
KBEntry.Buchungstext = Trim("LKW-Id: " & BELEG.LKW_Id)
|
|
Else
|
|
KBEntry.Buchungstext = "-"
|
|
End If
|
|
Else
|
|
KBEntry.Buchungstext = Trim("Pos. " & BELEG.FilialenNr & "/" & Format(BELEG.AbfertigungsNr, "00000000"))
|
|
End If
|
|
|
|
KBEntry.Buchungsdatum = Now.ToShortDateString
|
|
KBEntry.BelegDat = BELEG.BelegDat.ToShortDateString
|
|
KBEntry.BelegNr = BELEG.BelegNr
|
|
KBEntry.Belegart = BELEG.Belegart
|
|
If BELEG.Belegart = 1 Then
|
|
KBEntry.Soll = Bruttobetrag
|
|
ElseIf BELEG.Belegart = 2 Then
|
|
KBEntry.Haben = Bruttobetrag
|
|
End If
|
|
KBEntry.rksv_id = RKSV_id
|
|
KBEntry.rksv_aktiv = RKSV_aktiv
|
|
KBEntry.rksv_BelegId = RKSV_Beleg_Id
|
|
|
|
KBEntry.Belegverbuchung = True
|
|
KBEntry.gebucht = True
|
|
KBEntry.Finanzwege = Finanzwege
|
|
|
|
If Not KBEntry.INSERT() Then
|
|
Return False
|
|
Else
|
|
KBEntry_List.Add(KBEntry)
|
|
End If
|
|
|
|
'################
|
|
' EINTRAG: Gegenbuchung
|
|
'################
|
|
|
|
Dim curSteuerbetrag As Double = 0
|
|
For Each p In BELEG.POS
|
|
Dim dtBetraegeGB = SQL.loadDgvBySql(" SELECT " & getGl_account(KBEntry.rksv_id) & " AS Gegenkonto, isnull(tblEABelegposition.Betrag,0) AS Nettobetrag, " &
|
|
" isnull((cast((CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END)* [Steuersatz] as decimal(8,2))),0) AS Steuerbetrag " &
|
|
" FROM tblSteuersätze INNER JOIN tblEABelegnummer ON tblSteuersätze.Nr = tblEABelegnummer.Steuerschlüssel INNER JOIN tblEABelegposition INNER JOIN Leistungen ON tblEABelegposition.LeistungsNr = Leistungen.LeistungsNr ON tblEABelegnummer.Mandant = tblEABelegposition.Mandant AND tblEABelegnummer.Niederlassung = tblEABelegposition.Niederlassung AND tblEABelegnummer.Benutzer = tblEABelegposition.Benutzer AND tblEABelegnummer.BelegDat = tblEABelegposition.BelegDat AND tblEABelegnummer.BelegNr = tblEABelegposition.BelegNr " &
|
|
" WHERE tblEABelegposition.Mandant='" & BELEG.Mandant & "' AND tblEABelegposition.Niederlassung='" & BELEG.Niederlassung & "' AND tblEABelegposition.Benutzer='" & BELEG.Benutzer & "' AND tblEABelegposition.BelegDat='" & BELEG.BelegDat.ToShortDateString & "' AND tblEABelegposition.BelegNr='" & BELEG.BelegNr & "' AND tblEABelegposition.LeistungsNr=" & p.LeistungsNr & " AND tblEABelegposition.PreislistenPos='" & p.PreislistenPos & "' " &
|
|
" AND tblEABelegposition.FilialenNr='" & p.FilialenNr & "' AND tblEABelegposition.AbfertigungsNr='" & p.AbfertigungsNr & "'", "FMZOLL")
|
|
If dtBetraegeGB.Rows.Count = 0 Then
|
|
MsgBox("ERROR: Beleg-Position - Eintrag nicht gefunden. Abbruch!")
|
|
cRKSV.STORNO(BELEG, "Programmfehler: Beleg - Eintrag nicht gefunden.", Firma)
|
|
|
|
Return False
|
|
End If
|
|
If Not IsNumeric(dtBetraegeGB.Rows(0)("Gegenkonto")) OrElse dtBetraegeGB.Rows(0)("Gegenkonto") <= 0 Then
|
|
MsgBox("ERROR: Gegenkonto nicht vorhanden. Abbruch!")
|
|
cRKSV.STORNO(BELEG, "Programmfehler: Gegenkonto nicht vorhanden.", Firma)
|
|
Return False
|
|
End If
|
|
|
|
Dim KBEntryGB As New cKassenbuch(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), JournalNr)
|
|
KBEntryGB.JournalNr = getNewJournalNr(BELEG, Firma) 'GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
KBEntryGB.Konto = dtBetraegeGB.Rows(0)("Gegenkonto")
|
|
KBEntryGB.Buchungstext = p.LeistungsBez
|
|
KBEntryGB.Buchungsdatum = Now.ToShortDateString
|
|
KBEntryGB.BelegDat = p.BelegDat.ToShortDateString
|
|
KBEntryGB.Steuer = IIf(IsNumeric(BELEG.Steuerschlüssel) AndAlso BELEG.Steuerschlüssel > 0, BELEG.Steuerschlüssel, 0)
|
|
KBEntryGB.BelegNr = BELEG.BelegNr
|
|
KBEntryGB.Belegart = BELEG.Belegart
|
|
If BELEG.Belegart = 1 Then
|
|
KBEntryGB.Haben = dtBetraegeGB.Rows(0)("Nettobetrag")
|
|
ElseIf BELEG.Belegart = 2 Then
|
|
KBEntryGB.Soll = dtBetraegeGB.Rows(0)("Nettobetrag")
|
|
End If
|
|
|
|
KBEntryGB.Steuerbetrag = dtBetraegeGB.Rows(0)("SteuerBetrag")
|
|
curSteuerbetrag = curSteuerbetrag + dtBetraegeGB.Rows(0)("SteuerBetrag")
|
|
KBEntryGB.rksv_id = RKSV_id
|
|
KBEntryGB.rksv_aktiv = RKSV_aktiv
|
|
KBEntryGB.rksv_BelegId = RKSV_Beleg_Id
|
|
|
|
KBEntryGB.Belegverbuchung = True
|
|
KBEntryGB.gebucht = True
|
|
KBEntryGB.Finanzwege = Finanzwege
|
|
|
|
If Not KBEntryGB.INSERT() Then
|
|
Return False
|
|
Else
|
|
KBEntryGB_List.Add(KBEntryGB)
|
|
End If
|
|
Next
|
|
|
|
'################
|
|
' EINTRAG: Steuerbuchung
|
|
'################
|
|
|
|
If IsNumeric(BELEG.Steuerschlüssel) AndAlso BELEG.Steuerschlüssel > 0 And SteuerBetrag - curSteuerbetrag <> 0 Then
|
|
Dim KBEntryST As New cKassenbuch(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), JournalNr)
|
|
|
|
KBEntryST.JournalNr = getNewJournalNr(BELEG, Firma) 'GJ.INCREASE_JOURNAL() 'Vergabe der Journalnummer'
|
|
KBEntryST.Konto = 8490
|
|
KBEntryST.Buchungstext = "Rundungsdifferenz in Steuer"
|
|
KBEntryST.Buchungsdatum = Now.ToShortDateString
|
|
KBEntryST.BelegDat = BELEG.BelegDat.ToShortDateString
|
|
KBEntryST.Steuer = IIf(IsNumeric(BELEG.Steuerschlüssel) AndAlso BELEG.Steuerschlüssel > 0, BELEG.Steuerschlüssel, 0)
|
|
KBEntryST.BelegNr = BELEG.BelegNr
|
|
KBEntryST.Belegart = BELEG.Belegart
|
|
If KBEntryST.Belegart = 1 Then
|
|
KBEntryST.Haben = SteuerBetrag - curSteuerbetrag
|
|
ElseIf KBEntryST.Belegart = 2 Then
|
|
KBEntryST.Soll = SteuerBetrag - curSteuerbetrag
|
|
End If
|
|
KBEntryST.rksv_id = RKSV_id
|
|
KBEntryST.rksv_aktiv = RKSV_aktiv
|
|
KBEntryST.rksv_BelegId = RKSV_Beleg_Id
|
|
|
|
KBEntryST.Belegverbuchung = True
|
|
KBEntryST.gebucht = True
|
|
|
|
If Not KBEntryST.INSERT() Then
|
|
Return False
|
|
Else
|
|
KBEntryST_List.Add(KBEntryST)
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
'################
|
|
' EINTRAG: Umbuchung bei EC-Zahlung
|
|
'################
|
|
If Finanzwege = "EC" Then
|
|
Dim BelegNrEC = -1
|
|
|
|
For i = 0 To 1
|
|
|
|
Dim KBEntryEC As New cKassenbuch(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ_FIRMA(BELEG.BelegDat, Firma), JournalNr)
|
|
KBEntryEC.JournalNr = getNewJournalNr(BELEG, Firma)
|
|
If i = 0 Then
|
|
|
|
KBEntryEC.Konto = POSFIBU
|
|
BelegNrEC = getNewBelegNr(BELEG, Firma) '& KBEntryEC.Belegart 'zur Generierung von eigenem Buchungssatz
|
|
Else
|
|
KBEntryEC.Konto = PERSONAL.KassenbuchNr
|
|
End If
|
|
|
|
KBEntryEC.Buchungstext = "Umb. BK/KASSA"
|
|
|
|
KBEntryEC.Buchungsdatum = Now.ToShortDateString
|
|
KBEntryEC.BelegDat = BELEG.BelegDat.ToShortDateString
|
|
KBEntryEC.Belegart = 3
|
|
KBEntryEC.BelegNr = BelegNrEC
|
|
If BELEG.Belegart = 1 Then
|
|
If i = 0 Then
|
|
KBEntryEC.Soll = Bruttobetrag
|
|
Else
|
|
KBEntryEC.Haben = Bruttobetrag
|
|
End If
|
|
|
|
ElseIf BELEG.Belegart = 2 Then
|
|
If i = 0 Then
|
|
KBEntryEC.Haben = Bruttobetrag
|
|
Else
|
|
KBEntryEC.Soll = Bruttobetrag
|
|
End If
|
|
|
|
End If
|
|
KBEntryEC.rksv_id = RKSV_id
|
|
KBEntryEC.rksv_aktiv = RKSV_aktiv
|
|
KBEntryEC.rksv_BelegId = RKSV_Beleg_Id
|
|
|
|
KBEntryEC.Belegverbuchung = True
|
|
KBEntryEC.gebucht = True
|
|
KBEntryEC.Finanzwege = Finanzwege
|
|
|
|
If Not KBEntryEC.INSERT() Then
|
|
Return False
|
|
End If
|
|
|
|
Next
|
|
End If
|
|
|
|
'################
|
|
' Buchung im EABeleg eintragen.
|
|
'################
|
|
|
|
If BelegSofortInFIBUverbuchten AndAlso BELEG.Beleg_TYP = "L" Then
|
|
Dim stapelbuchung As Boolean = True
|
|
'createSyskaBuchung(RKSV_id, BELEG, stapelbuchung, KBEntry_List, KBEntryGB_List, KBEntryST_List)
|
|
|
|
End If
|
|
|
|
BELEG.gebucht = True
|
|
BELEG.SAVE()
|
|
|
|
End If
|
|
End If
|
|
|
|
Return True
|
|
|
|
Catch ex As Exception
|
|
MsgBox("ERROR: " & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
|
cRKSV.STORNO(BELEG, "Programmfehler!", Firma)
|
|
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Public Shared Function getGl_account(rksv_id)
|
|
If rksv_id = 1 Then Return "Leistungen.Gl_account" ' VERAG-Kasse bei IMEX
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX" : Return "Leistungen.IMEX_Gl_account"
|
|
Case Else : Return "Leistungen.Gl_account"
|
|
End Select
|
|
End Function
|
|
|
|
|
|
Private Shared Function createSyskaBuchung(RKSV_id As Integer, beleg As EABeleg, Stapelbuchung As Boolean, KBEntry_list As List(Of cKassenbuch), KBEntryGB_list As List(Of cKassenbuch), KBEntryST_list As List(Of cKassenbuch)) As Boolean
|
|
|
|
Dim mandant As Integer = 7 'ATILLA
|
|
Dim Buchungstext As String = beleg.LKW_Kennzeichen + "_" + beleg.Frachtführer + "_" + beleg.Fahrer + "_" + beleg.Passnummer
|
|
Dim BuchungstextBemerkung As String = ""
|
|
If Buchungstext.ToString.Length > 48 Then
|
|
BuchungstextBemerkung = Buchungstext.Substring(49, Buchungstext.ToString.Length - 48)
|
|
Buchungstext = Buchungstext.Substring(0, 48)
|
|
End If
|
|
|
|
Dim VERAG_SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
'2
|
|
'Default-Values
|
|
'IF ISNULL(@Kassakonto, '') = '' SET @Kassakonto = '2700'
|
|
'SET @Buchungsbelegkreis = 'KE'
|
|
'If @Auszahlungsbetrag <> 0 SET @Buchungsbelegkreis = 'KA'
|
|
|
|
|
|
'3
|
|
'Anmerkung „Stornobuchung“, wenn Ein-/Auszahlung negativ.
|
|
|
|
'4
|
|
'Ermittelt Debitoren-Personenkonto (@i_personenkonto = Kundenkonto) und Durchbuchungskonto @i_fordkto (default 2000).
|
|
|
|
Dim Sollkonto As Integer = 0
|
|
Dim Habenkonto As Integer = 0
|
|
Dim kontenzaehler As Integer = 0
|
|
|
|
If beleg.KundenNr > 0 Then
|
|
Habenkonto = beleg.KundenNr
|
|
End If
|
|
|
|
Dim Forderungskonto As String = VERAG_SQL.getValueTxtBySqlVarList("SELECT i_fordkto FROM [FIBU2].dbo.fibu_konto WHERE [FIBU2].dbo.fibu_konto.i_konto = " & Habenkonto & " AND [FIBU2].dbo.fibu_konto.i_firm_refid = " & mandant, "FIBU",, "2000")
|
|
|
|
'Baut eine temporäre Verbuchungskonten-Tabelle OWNTABLE_Verbuchungskonten:
|
|
|
|
Dim dt_Verbuchungskonten As New DataTable
|
|
dt_Verbuchungskonten.Columns.Add("Nr", GetType(Integer))
|
|
dt_Verbuchungskonten.Columns.Add("Konto", GetType(Integer))
|
|
dt_Verbuchungskonten.Columns.Add("Soll", GetType(Double))
|
|
dt_Verbuchungskonten.Columns.Add("Haben", GetType(Double))
|
|
|
|
'Einträge für Personenkonto und Durchbuchungskonto (Spalten für kumuliertes Soll/Haben).
|
|
|
|
Dim R1 As DataRow = dt_Verbuchungskonten.NewRow
|
|
R1("Nr") = 1
|
|
R1("Konto") = Habenkonto
|
|
R1("Soll") = 1
|
|
R1("Haben") = 1
|
|
dt_Verbuchungskonten.Rows.Add(R1)
|
|
kontenzaehler += 1
|
|
|
|
Dim R2 As DataRow = dt_Verbuchungskonten.NewRow
|
|
R2("Nr") = 1
|
|
R2("Konto") = CInt(Forderungskonto)
|
|
R2("Soll") = 1
|
|
R2("Haben") = 1
|
|
dt_Verbuchungskonten.Rows.Add(R2)
|
|
kontenzaehler += 1
|
|
|
|
Dim dt_Sollkonto As DataTable = VERAG_SQL.loadDgvBySql("SELECT top(1) isnull([FIBU2].dbo.fibu_konto.c_kontoart,'LE'), isnull([FIBU2].dbo.fibu_konto.i_kennung,0) FROM [FIBU2].dbo.fibu_konto WHERE [FIBU2].dbo.fibu_konto.i_konto = " & Sollkonto & " AND [FIBU2].dbo.fibu_konto.i_firm_refid = " & mandant, "FIBU")
|
|
Dim dt_Habenkonto As DataTable = VERAG_SQL.loadDgvBySql("SELECT TOP(1) isnull([FIBU2].dbo.fibu_konto.c_kontoart,'LE'), isnull([FIBU2].dbo.fibu_konto.i_kennung,0) FROM [FIBU2].dbo.fibu_konto WHERE [FIBU2].dbo.fibu_konto.i_konto = " & Habenkonto & " AND [FIBU2].dbo.fibu_konto.i_firm_refid = " & mandant, "FIBU")
|
|
|
|
Dim StapelAZK As String = VERAG_SQL.getValueTxtBySqlVarList("SELECT [FIBU2].dbo.fibu_stapelart.i_stapel_refid FROM [FIBU2].dbo.fibu_stapelart WHERE [FIBU2].dbo.fibu_stapelart.c_stapelname LIKE 'Auszahlungskasse 1' AND [FIBU2].dbo.fibu_stapelart.i_firm_refid = " & mandant, "FIBU",, "")
|
|
Dim Zaehler1 As String = VERAG_SQL.getValueTxtBySqlVarList("SELECT COUNT([FIBU2].dbo.fibu_stapel.i_lfdnr) FROM [FIBU2].dbo.fibu_stapel WHERE ISNULL([FIBU2].dbo.fibu_stapel.si_pruef, 0) > 0", "FIBU",, "0")
|
|
|
|
If CInt(Zaehler1) > 0 Then
|
|
StapelAZK = VERAG_SQL.getValueTxtBySqlVarList("SELECT [FIBU2].dbo.fibu_stapelart.i_stapel_refid FROM [FIBU2].dbo.fibu_stapelart WHERE [FIBU2].dbo.fibu_stapelart.c_stapelname LIKE 'Auszahlungskasse 2' AND [FIBU2].dbo.fibu_stapelart.i_firm_refid = " & mandant, "FIBU",, "")
|
|
End If
|
|
|
|
Dim ZSBuchnr As String = VERAG_SQL.getValueTxtBySqlVarList("SELECT MAX([FIBU2].dbo.fibu_stapel.i_lfdnr)+1 FROM [FIBU2].dbo.fibu_stapel WHERE [FIBU2].dbo.fibu_stapel.i_firm_refid = " & mandant & " AND [FIBU2].dbo.fibu_stapel.i_stapel_refid = " & StapelAZK, "FIBU",, "0")
|
|
|
|
If ZSBuchnr = "" Or ZSBuchnr = "0" Then
|
|
ZSBuchnr = "1"
|
|
End If
|
|
|
|
Dim ProtokollID As String = ""
|
|
|
|
'(CAST(@StapelAZK AS VARCHAR(4)) + '-' + CAST(@ZSBuchnr AS VARCHAR(4)) + '-' + @C_Anno + '-' + REPLICATE('0', 2-LEN(@C_Monat)) + @C_Monat + '-' + REPLICATE('0', 2-LEN(@C_Tag)) + @C_Tag + ' ' + REPLICATE('0', 2-LEN(@C_Stunde)) + @C_Stunde + ':' + REPLICATE('0', 2-LEN(@C_Minute)) + @C_Minute + ':' + REPLICATE('0', 2-LEN(@C_Sekunde)) + @C_Sekunde)
|
|
|
|
Dim pruef As Integer = 0
|
|
Dim ZSzeilenr As Integer = 0
|
|
Dim Belegart As Integer = 1
|
|
Dim Splitart As Integer = 0
|
|
|
|
|
|
'• Für alle dort enthaltenen Konten stellt es sicher, dass es im aktuellen Jahr Periodensalden in fibu_periodensaldo gibt (falls nicht, werden Null-EBs angelegt)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
For Each p As EABelegPositionen In beleg.POS
|
|
|
|
Dim dtBetraege = SQL.loadDgvBySql(" SELECT isnull(Sum(tblEABelegposition.Betrag),0) AS Nettobetrag, " &
|
|
" isnull(Sum(CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END),0) AS SteuerpflichtigerBetrag, " &
|
|
" isnull(Sum(cast((CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END)* [Steuersatz] as decimal(8,2))),0) AS SteuerBetrag, " &
|
|
" isnull(Sum(tblEABelegposition.Betrag+cast((CASE WHEN [Steuerpflichtig]=1 THEN [Betrag] ELSE 0 END)* [Steuersatz] as decimal(8,2))),0) AS Bruttobetrag " &
|
|
" FROM tblEABelegnummer INNER JOIN tblSteuersätze ON tblEABelegnummer.Steuerschlüssel = tblSteuersätze.Nr INNER JOIN tblEABelegposition INNER JOIN Leistungen ON tblEABelegposition.LeistungsNr = Leistungen.LeistungsNr ON tblEABelegnummer.Mandant = tblEABelegposition.Mandant AND tblEABelegnummer.Niederlassung = tblEABelegposition.Niederlassung AND tblEABelegnummer.Benutzer = tblEABelegposition.Benutzer AND tblEABelegnummer.BelegDat = tblEABelegposition.BelegDat AND tblEABelegnummer.BelegNr = tblEABelegposition.BelegNr " &
|
|
" WHERE tblEABelegposition.Mandant='" & beleg.Mandant & "' AND tblEABelegposition.Niederlassung='" & beleg.Niederlassung & "' AND tblEABelegposition.Benutzer='" & beleg.Benutzer & "' AND tblEABelegposition.BelegDat='" & beleg.BelegDat.ToShortDateString & "' AND tblEABelegposition.BelegNr='" & beleg.BelegNr & "'", "FMZOLL")
|
|
|
|
Dim Bruttobetrag As Double = dtBetraege.Rows(0)("Bruttobetrag")
|
|
Dim Nettobetrag As Double = dtBetraege.Rows(0)("Nettobetrag")
|
|
Dim SteuerBetrag As Double = dtBetraege.Rows(0)("SteuerBetrag")
|
|
|
|
'• Einzahlung (@B_Bruttobetrag >= 0)
|
|
' o Erste Zeile: Soll = Bestandskonto(KO), Betrag = @P_Bruttobetrag * (-1) (Vorzeichentricks wegen Gutschriftlogik), Haben leer.
|
|
'• Auszahlung (@B_Bruttobetrag < 0)
|
|
' o Erste Zeile: Soll = Erlöskonto(KO), Betrag = @P_Bruttobetrag (positiv), Haben leer.
|
|
' o Zweite Zeile (nur bei Auszahlung): Haben = Bestandskonto(KO), Betrag = @P_Bruttobetrag.
|
|
|
|
|
|
|
|
kontenzaehler += 1
|
|
|
|
If Bruttobetrag >= 0 Then
|
|
Dim R_POS As DataRow = dt_Verbuchungskonten.NewRow
|
|
R_POS("Nr") = kontenzaehler
|
|
R_POS("Konto") = dtBetraege.Rows(0)("Gegenkonto")
|
|
R_POS("Soll") = 0
|
|
R_POS("Haben") = 0
|
|
dt_Verbuchungskonten.Rows.Add(R_POS)
|
|
Else
|
|
Dim R_POS As DataRow = dt_Verbuchungskonten.NewRow
|
|
R_POS("Nr") = kontenzaehler
|
|
R_POS("Konto") = dtBetraege.Rows(0)("Gegenkonto")
|
|
R_POS("Soll") = 0
|
|
R_POS("Haben") = 0
|
|
dt_Verbuchungskonten.Rows.Add(R_POS)
|
|
|
|
End If
|
|
|
|
|
|
|
|
Next
|
|
|
|
|
|
|
|
|
|
|
|
'INSERT INTO OWNTABLE_Verbuchungskonten (
|
|
'OWNFIELD_Nr,
|
|
'OWNFIELD_Konto,
|
|
'OWNFIELD_Soll,
|
|
'OWNFIELD_Haben)
|
|
'VALUES (
|
|
'@Kontenzähler,
|
|
'@BestandskontoInt,
|
|
'0,
|
|
'0)
|
|
|
|
'SET @Kontenzähler = (@Kontenzähler + 1)
|
|
|
|
'INSERT INTO OWNTABLE_Verbuchungskonten (
|
|
'OWNFIELD_Nr,
|
|
'OWNFIELD_Konto,
|
|
'OWNFIELD_Soll,
|
|
'OWNFIELD_Haben)
|
|
'VALUES (
|
|
'@Kontenzähler,
|
|
'@ErlöskontoInt,
|
|
'0,
|
|
'0)
|
|
|
|
|
|
'Cursor lc_ProjekteRec über alle Pos. (Typ 1, Barverkauf) mit Artikel-Konten:
|
|
'o Fügt für jedes Bestandskonto und Erlöskonto je einen Eintrag in OWNTABLE_Verbuchungskonten hinzu.
|
|
'o Cursor Schleifen1rec: Stellt sicher, dass in [FIBU2].dbo.fibu_periodensaldo (und ggf. …saldodk für 2000) Eröffnungszeilen existieren (bei Bedarf INSERT mit EB-Werten).
|
|
|
|
'5
|
|
'Baut @Buchungstext_orig = KE_/KA_ + Pos-Nr + _LKW_AuszFirma_Fahrer_Passnr, split in
|
|
'o @Buchungstext (48 Zeichen, in die Zeile),
|
|
'o @BuchungstextBemerkung (restliche 28 Zeichen, in Bemerk).
|
|
|
|
'Ermittelt Buchungsweg aus Benutzer.OWNFIELD_Buchungsweg:
|
|
'2 = Stapel, 3 = Direkt. - Boolean
|
|
'Außerdem unterscheidet das Script zwei Fälle:
|
|
'o Einzahlung (@Einzahlungsbetrag <> 0): Kasse/Bestand im Soll, Kunde im Haben.
|
|
'o Auszahlung (@Auszahlungsbetrag <> 0): umgekehrte Logik, teils mit Vorzeichenwechseln.
|
|
'________________________________________
|
|
|
|
|
|
|
|
|
|
|
|
'If Stapelbuchung Then
|
|
|
|
' If beleg.Beleg_TYP = "L" Then '=Leihgeld
|
|
|
|
' Dim SQL_Insert As String = "INSERT INTO [FIBU2].dbo.fibu_stapel (i_firm_refid,i_stapel_refid,i_lfdnr,si_zeilenr,si_belegart,si_splitart,d_beleg,d_valuta,c_urbelegid,c_op_beleg,c_buchtext,si_jahr,si_periode,i_sollkonto,c_kennungsoll,i_kennungsoll,i_habenkonto,c_kennunghaben,i_kennunghaben,dec_betrag,c_waehrung,dec_eigenbetrag,eur_betrag,i_gegenkonto,i_steuerart_refid,i_steuer_refid,i_eg_gegenkonto,c_sollhabenkz,dec_steuer,dec_eigensteuer,eur_steuerbetrag,dec_steuerproz,i_auftragid,i_koart_refid,si_pruef,c_bemerk,i_buchungskreis,i_bank_flags,i_quelle_modul,c_quelle_maske,si_manipulation,dt_creation,c_protokoll_id)
|
|
' VALUES(
|
|
' '" & mandant & "',
|
|
' @StapelAZK,
|
|
' @ZSBuchnr,
|
|
' @ZSzeilenr,
|
|
' @Belegart,
|
|
' @Splitart,
|
|
' @belegdatum,
|
|
' @belegdatum,
|
|
' @belegnrtext,
|
|
' @belegnrtext,
|
|
' '" & Buchungstext & "',
|
|
' @Jahr,
|
|
' @Periode,
|
|
' @Sollkonto2,
|
|
' @ckennsoll2,
|
|
' @kkennungsoll2,
|
|
' @Habenkonto2,
|
|
' @ckennhab2,
|
|
' @kkennunghab2,
|
|
' @Buchungsbetrag_P,
|
|
' @Waehrung,
|
|
' 0,
|
|
' @Buchungsbetrag_P,
|
|
' 0,
|
|
' 0,
|
|
' 0,
|
|
' 0,
|
|
' 'K',
|
|
' 0,
|
|
' 0,
|
|
' 0,
|
|
' @dec_steuerproz2,
|
|
' 0,
|
|
' 0,
|
|
' @pruef,
|
|
' " & BuchungstextBemerkung & ",
|
|
' 1,
|
|
' 0,
|
|
' 21,
|
|
' 'FlexImport',
|
|
' 0,
|
|
' '" & Now() & "',
|
|
' @c_protokoll_id)"
|
|
|
|
' Else
|
|
|
|
' End If
|
|
|
|
'End If
|
|
|
|
|
|
|
|
|
|
|
|
End Function
|
|
End Class
|
|
|
|
|
|
|
|
Public Class cRKSV_DE__TEST
|
|
Shared SQL As New SQL
|
|
|
|
Shared Function getBelegSting_BAR(summeBRUTTO As Double, steuerSchluessel As Integer) As String
|
|
|
|
|
|
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & steuerSchluessel & "' ", "FMZOLL")
|
|
|
|
|
|
Dim BetragSatzNormal = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
|
|
Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
|
|
Dim BetragSatzNull = IIf(steuersatz = 0, summeBRUTTO, 0.0)
|
|
|
|
|
|
BetragSatzNormal += IIf(steuersatz = 0.16, summeBRUTTO, 0.0)
|
|
BetragSatzErm1 += IIf(steuersatz = 0.05, summeBRUTTO, 0.0)
|
|
BetragSatzNormal += IIf(steuersatz = 0.2, summeBRUTTO, 0.0) ' Eig Nur AT
|
|
'Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe
|
|
'Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
|
|
'Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
|
|
|
|
Dim sum = BetragSatzNormal
|
|
sum += BetragSatzErm1
|
|
sum += BetragSatzNull
|
|
MsgBox("Beleg^" & BetragSatzNormal.ToString("0.00") & "_" & BetragSatzErm1.ToString("0.00") & "_0.00_0.00_" & BetragSatzNull.ToString("0.00") & "^" & sum.ToString("0.00") & ":Bar")
|
|
Return "Beleg^" & BetragSatzNormal.ToString("0.00") & "_" & BetragSatzErm1.ToString("0.00") & "_0.00_0.00_" & BetragSatzNull.ToString("0.00") & "^" & sum.ToString("0.00") & ":Bar"
|
|
|
|
End Function
|
|
|
|
|
|
'Shared Function insertRKSV_DE(ByVal kasse As cRKSV_Kasse, CompanyGUID As String, ByVal umsatzZaehler As Double, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
|
|
' MsgBox("123")
|
|
|
|
' Try
|
|
|
|
|
|
|
|
' ' COM-Objekt anlegen
|
|
|
|
' ' Dim licenseKey As String = kasse.rksv_DE_license '"07.11.2020;MEUCIQDfTvMPWQo4IVvTtuTbU9YHNwJ7EdMbogfGqmAp+rdw4gIgPJoEDE0OCfac/nCOKdksWvOZq+xvkFoYI0HFxJPkldU="
|
|
' ' Dim TSESerialNumber As String = "77A9D25F044A89E87578A8CD52D2A92564CC09214CC6448465414008D31C1CF1"
|
|
' Dim m_ksv = New ItgKsV.KsVCom()
|
|
' 'Dim m_ksv As ItgKsV.KsVCom = New ItgKsV.KsVCom()
|
|
' ' Dim result As Integer = m_ksv.InitialiseLibrary("F:", "SwissbitDemo", "12345", licenseKey)
|
|
|
|
' MsgBox(kasse.rksv_ipAdresse & " --- " & kasse.rksv_DE_TSE_Serial & " --- " & kasse.rksv_DE_apiToken & " --- " & kasse.rksv_DE_user & " --- " & kasse.rksv_DE_pwd & " --- " & kasse.rksv_DE_license)
|
|
|
|
' Dim result As Integer = m_ksv.InitialiseLibraryLan(kasse.rksv_ipAdresse, kasse.rksv_DE_TSE_Serial, kasse.rksv_DE_apiToken, kasse.rksv_DE_user, kasse.rksv_DE_pwd, kasse.rksv_DE_license) '--> ClientId/User "Admin" mit KsVCom Demo registriert
|
|
|
|
' If result <> &H0 Then
|
|
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' Return False
|
|
' End If
|
|
|
|
|
|
|
|
' '' Setup bei erstmaliger Verwendung der Swissbit-TSE !!!
|
|
|
|
' 'result = m_ksv.SetupTSEForFirstUse("123456", "12345", "98765", "SwissbitDemo")
|
|
|
|
' 'If result <> &H0 Then
|
|
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' 'Else
|
|
' ' MessageBox.Show("TSE setup succeeded.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
|
|
' 'End If
|
|
|
|
|
|
|
|
' ' BeginTransaction: für jede neue Rechnung wird eine Transaktion gestartet
|
|
|
|
' Dim transactionNumber As Long = 0
|
|
' result = m_ksv.StartTransaction(transactionNumber)
|
|
|
|
' If result <> &H0 Then
|
|
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' Return False
|
|
' End If
|
|
|
|
|
|
|
|
' ' UpdateTransaction: processData bleibt leer
|
|
|
|
' result = m_ksv.UpdateTransaction(transactionNumber, "", "KassenBeleg-V1")
|
|
|
|
' If result <> &H0 Then
|
|
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' End If
|
|
|
|
|
|
|
|
' ' FinishTransaction: Abschluss einer Rechnung, processData nach vorgegebenem Format
|
|
|
|
' result = m_ksv.FinishTransaction(transactionNumber, getBelegSting_BAR(summeBRUTTO, steuerSchluessel), "KassenBeleg-V1")
|
|
|
|
' If result <> &H0 Then
|
|
' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' End If
|
|
|
|
|
|
|
|
' ' QR-Code und weitere Werte, die auf der Rechnung angedruckt werden müssen
|
|
|
|
' ' QR-Code wird als base64 kodiertes bitmap geliefert
|
|
|
|
' Dim qrCode As String = String.Empty
|
|
|
|
' ' QR-Code Inhalt für die Ablage in der Datenbank, falls eine Rechnung nochmals gedruckt werden muss
|
|
|
|
' Dim qrCodeContent As String = String.Empty
|
|
' m_ksv.GetLastReceiptQrCode(qrCode)
|
|
' m_ksv.GetLastReceiptQrCodeContent(qrCodeContent)
|
|
' Dim sTransactionNumber As String = String.Empty
|
|
' Dim serialNumber As String = String.Empty
|
|
' Dim signature As String = String.Empty
|
|
' Dim sigCounter As String = String.Empty
|
|
' Dim dtStartTransaction As Date = Date.MinValue
|
|
' Dim dtFinishTransaction As Date = Date.MinValue
|
|
' m_ksv.GetLastReceiptValues(sTransactionNumber, serialNumber, signature, dtStartTransaction, dtFinishTransaction, sigCounter)
|
|
|
|
' QR_CodeString = qrCode
|
|
' LastJWS = signature
|
|
' '' Anzeige der gestarteten/noch möglichen Transaktionen
|
|
|
|
' 'Dim maxTransactions As Integer = 0
|
|
' 'Dim openTransactions As Integer = 0
|
|
' 'm_ksv.GetMaxStartedTransactions(maxTransactions)
|
|
' 'm_ksv.GetStartedTransactions(openTransactions)
|
|
' 'Dim startedTransactions As Integer() = Nothing
|
|
' 'result = m_ksv.GetStartedTransactionNumbers(startedTransactions)
|
|
|
|
' 'If result <> &H0 Then
|
|
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' 'End If
|
|
|
|
|
|
|
|
' '' Export der TSE-Daten im TAR-Format
|
|
|
|
' 'result = m_ksv.ExportAsTarFile("d:\export.tar")
|
|
|
|
' 'If result <> 0 Then
|
|
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' 'End If
|
|
|
|
|
|
|
|
' '' Bibliothek aufräumen, andernfalls wird ein power-cycle der TSE erforderlich um sie wieder einsetzen zu können
|
|
|
|
' ''result = CSharpImpl.__Assign(,, m_ksv.CleanupLibrary())
|
|
' 'result = m_ksv.CleanupLibrary()
|
|
|
|
' 'If result <> 0 Then
|
|
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' 'End If
|
|
|
|
|
|
|
|
' Catch ex As Exception
|
|
' MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
|
' End Try
|
|
' Return False
|
|
'End Function
|
|
|
|
End Class
|
|
|
|
|
|
Public Class cRKSV_DE
|
|
Shared SQL As New SQL
|
|
|
|
|
|
|
|
'Shared Function getBelegSting_BAR(summeBRUTTO As Double, steuerSchluessel As Integer) As String
|
|
|
|
|
|
' Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & steuerSchluessel & "' ", "FMZOLL")
|
|
|
|
|
|
' Dim BetragSatzNormal = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
|
|
' Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
|
|
' Dim BetragSatzNull = IIf(steuersatz = 0, summeBRUTTO, 0.0)
|
|
|
|
|
|
' BetragSatzNormal += IIf(steuersatz = 0.16, summeBRUTTO, 0.0)
|
|
' BetragSatzErm1 += IIf(steuersatz = 0.05, summeBRUTTO, 0.0)
|
|
' BetragSatzNormal += IIf(steuersatz = 0.2, summeBRUTTO, 0.0) ' Eig Nur AT
|
|
' 'Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe
|
|
' 'Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
|
|
' 'Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
|
|
|
|
' Dim sum = BetragSatzNormal
|
|
' sum += BetragSatzErm1
|
|
' sum += BetragSatzNull
|
|
' MsgBox("Beleg^" & BetragSatzNormal.ToString("0.00") & "_" & BetragSatzErm1.ToString("0.00") & "_0.00_0.00_" & BetragSatzNull.ToString("0.00") & "^" & sum.ToString("0.00") & ":Bar")
|
|
' Return "Beleg^" & BetragSatzNormal.ToString("0.00") & "_" & BetragSatzErm1.ToString("0.00") & "_0.00_0.00_" & BetragSatzNull.ToString("0.00") & "^" & sum.ToString("0.00") & ":Bar"
|
|
|
|
'End Function
|
|
Shared Function stornoRKSV_DE(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String, Optional storno As Integer = 0) As Boolean
|
|
|
|
Return insertRKSV_DE(PERSONAL, BELEG, kasse, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TEST, answer, 1)
|
|
|
|
End Function
|
|
|
|
Shared Function getRKSVLink(ByVal kasse As cRKSV_Kasse) As String
|
|
Return kasse.rksv_ipAdresse
|
|
'Return getRKSVLink(kasse.rksv_bez)
|
|
End Function
|
|
|
|
Shared Function insertRKSV_DE_ORIG(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String, Optional storno As Integer = 0) As Boolean
|
|
|
|
Try
|
|
|
|
Dim cashbox As String = kasse.rksv_KassaGuid '"VERAG_GMBH_KASSE_01" "KASSA 001"
|
|
'Dim endpoint = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
|
|
' Dim m_com As VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient("DSFinVKService", endpoint) '"http://ymgk028055.verag.ost.dmn:8733/DSFinVKService")
|
|
|
|
Dim m_com As DSFinVKServerClient = New DSFinVKServerClient() 'PROBLEM??
|
|
|
|
|
|
' Dim [error] = "" 'm_com.InitializeLibrary(tbLicense.Text, "D:\Database\DSFinVK\dsfinvkdb.db3", "Administrator", "test", cashbox)
|
|
Dim [error] = m_com.InitializeLibrary("SQLGUIDE01.verag.ost.dmn", "itg_RKSV_DE", "dsfinvk", "dsfinvk#1337", cashbox)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
|
|
Dim BON_ID As Integer = 0
|
|
[error] = m_com.GetNextBON_ID(cashbox, BON_ID)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
|
|
|
|
|
|
'Rechnung beginnen
|
|
|
|
Dim bonkopfBegin As VERAG_PROG_ALLGEMEIN.DSFinVKService.BonKopfBegin = New VERAG_PROG_ALLGEMEIN.DSFinVKService.BonKopfBegin()
|
|
|
|
bonkopfBegin.Z_KASSE_ID = cashbox
|
|
|
|
bonkopfBegin.BEDIENER_ID = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID 'tbBEDIENER_ID.Text
|
|
|
|
bonkopfBegin.BEDIENER_NAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME 'tbBEDIENER_NAME.Text
|
|
|
|
bonkopfBegin.BON_ID = BON_ID.ToString()
|
|
|
|
bonkopfBegin.BON_NAME = "" 'tbBON_NAME.Text
|
|
|
|
bonkopfBegin.BON_NOTIZ = "" 'tbBON_NOTIZ.Text
|
|
|
|
bonkopfBegin.BON_NR = BON_ID
|
|
|
|
bonkopfBegin.BON_STORNO = storno 'If(cbBON_STORNO.Checked, "1", "0")
|
|
|
|
bonkopfBegin.BON_TYP = "Beleg" 'cmbBON_TYP.SelectedItem.ToString()
|
|
|
|
bonkopfBegin.KUNDE_ID = "" 'tbKUNDE_ID.Text
|
|
|
|
bonkopfBegin.KUNDE_LAND = "" 'tbKUNDE_LAND.Text
|
|
|
|
bonkopfBegin.KUNDE_NAME = "" 'tbKUNDE_NAME.Text
|
|
|
|
bonkopfBegin.KUNDE_ORT = "" 'tbKUNDE_ORT.Text
|
|
|
|
bonkopfBegin.KUNDE_PLZ = "" 'tbKUNDE_PLZ.Text
|
|
|
|
bonkopfBegin.KUNDE_STRASSE = "" ' tbKUNDE_STRASSE.Text
|
|
|
|
bonkopfBegin.KUNDE_TYP = "" ' tbKUNDE_TYP.Text
|
|
|
|
bonkopfBegin.KUNDE_USTID = "" ' tbKUNDE_USTID.Text
|
|
|
|
bonkopfBegin.TERMINAL_ID = "" 'tbTERMINAL_ID.Text
|
|
|
|
Dim transactionNumber As Integer = 0
|
|
|
|
[error] = m_com.BeginReceipt(cashbox, bonkopfBegin, transactionNumber)
|
|
|
|
Dim cntZeile = 1
|
|
Dim GES_BRUTTO As Double = 0
|
|
For Each POS In BELEG.POS
|
|
|
|
'Bonposition hinzufügen
|
|
Dim position As VERAG_PROG_ALLGEMEIN.DSFinVKService.BonPosition = New VERAG_PROG_ALLGEMEIN.DSFinVKService.BonPosition()
|
|
|
|
position.AGENTUR_ID = "" 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["AGENTUR_ID"].Value)
|
|
|
|
position.ARTIKELTEXT = POS.LeistungsBez 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ARTIKELTEXT"].Value)
|
|
|
|
position.ART_NR = POS.LeistungsNr ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ART_NR"].Value)
|
|
|
|
position.BON_ID = Convert.ToString(BON_ID)
|
|
|
|
position.EINHEIT = "Stk." ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["EINHEIT"].Value)
|
|
|
|
position.FAKTOR = 1 ' Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["FAKTOR"].Value)
|
|
|
|
position.GTIN = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GTIN"].Value)
|
|
|
|
position.GUTSCHEIN_NR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GUTSCHEIN_NR"].Value)
|
|
|
|
position.GV_NAME = "" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_NAME"].Value)
|
|
|
|
position.GV_TYP = "Umsatz" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_TYP"].Value)
|
|
|
|
position.INHAUS = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["INHAUS"].Value)
|
|
|
|
position.MENGE = POS.Anzahl 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["MENGE"].Value)
|
|
|
|
position.POS_TERMINAL_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_TERMINAL_ID"].Value)
|
|
|
|
position.POS_ZEILE = cntZeile 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_ZEILE"].Value)
|
|
|
|
position.P_STORNO = storno ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["P_STORNO"].Value)
|
|
|
|
position.STK_BR = POS.Preis 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["STK_BR"].Value)
|
|
|
|
position.WARENGR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR"].Value)
|
|
|
|
position.WARENGR_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR_ID"].Value)
|
|
|
|
position.Z_KASSE_ID = cashbox 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["Z_KASSE_ID"].Value)
|
|
|
|
' Beträge der Position
|
|
|
|
Dim position_vat = New VERAG_PROG_ALLGEMEIN.DSFinVKService.BonPosition_Ust()
|
|
|
|
position_vat.BON_ID = position.BON_ID
|
|
|
|
position_vat.POS_ZEILE = position.POS_ZEILE
|
|
|
|
Dim steuersatzID = 1
|
|
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT [Steuersatz] FROM [tblSteuersätze] where nr='" & BELEG.Steuerschlüssel & "'", "FMZOLL")
|
|
Select Case steuersatz
|
|
Case 0.19 : steuersatzID = 1
|
|
Case 0.07 : steuersatzID = 2
|
|
Case 0.00 : steuersatzID = 6
|
|
End Select
|
|
|
|
position_vat.UST_SCHLUESSEL = steuersatzID 'm_com.GetTaxIds(cashbox,) 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["UST_SCHLUESSEL"].Value)
|
|
Dim steuerBetrag = POS.Betrag * position_vat.UST_SCHLUESSEL
|
|
position_vat.POS_BRUTTO = POS.Betrag + steuerBetrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_BRUTTO"].Value)
|
|
|
|
position_vat.POS_NETTO = POS.Betrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_NETTO"].Value)
|
|
|
|
position_vat.POS_UST = steuerBetrag 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_UST"].Value)
|
|
|
|
[error] = m_com.AddPositionToReceipt(cashbox, position, position_vat, transactionNumber)
|
|
cntZeile += 1
|
|
GES_BRUTTO += position_vat.POS_BRUTTO
|
|
|
|
Next
|
|
|
|
'Rechnung abschließen
|
|
|
|
Dim bonkopfFinish As VERAG_PROG_ALLGEMEIN.DSFinVKService.BonKopfFinish = New VERAG_PROG_ALLGEMEIN.DSFinVKService.BonKopfFinish()
|
|
|
|
bonkopfFinish.Z_KASSE_ID = cashbox
|
|
|
|
bonkopfFinish.BON_ID = BON_ID
|
|
|
|
|
|
|
|
If Not Decimal.TryParse(GES_BRUTTO, bonkopfFinish.UMS_BRUTTO) Then
|
|
bonkopfFinish.UMS_BRUTTO = 0.00
|
|
End If
|
|
|
|
|
|
bonkopfFinish.PROCESS_TYPE = "Kassenbeleg-V1"
|
|
|
|
bonkopfFinish.payment_currencies = {"EUR"}
|
|
|
|
bonkopfFinish.payment_types = {"Bar"}
|
|
|
|
bonkopfFinish.payment_per_currency = {119.0}
|
|
|
|
[error] = m_com.FinishReceipt(cashbox, bonkopfFinish, transactionNumber)
|
|
|
|
' Kassenabschluss anlegen über alle noch nicht abgeschlossenen Rechnungen zu dieser Kasse
|
|
|
|
' Error = m_com.CreateCashpointClosing(cashbox)
|
|
|
|
' ' DSFinV-K-Export
|
|
|
|
' Int from = 0
|
|
|
|
'Int to = 10
|
|
|
|
'Dim ret = m_com.ExportCSVFiles(from, to, tbSelectedFolder.Text, tbZipName.Text, True, True,
|
|
|
|
'true, true, true, true, true, true,
|
|
|
|
'true, true, true, true,
|
|
|
|
'true, true, true, true, true,
|
|
|
|
'true, true, true);
|
|
|
|
'If (ret == ErrorCode.OK) Then
|
|
|
|
'{
|
|
|
|
'MessageBox.Show("Die CSV Dateien wurden im Ordner " + tbSelectedFolder.Text + " angelegt und in die Zip-Datei " + tbZipName.Text + " gepackt.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
'}
|
|
|
|
'Else
|
|
|
|
'{
|
|
|
|
'MessageBox.Show("Beim exportieren der CSV-Dateien ging etwas schief:\r\n" + ret.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
|
|
'}
|
|
|
|
Dim transactionNumberRet As String
|
|
Dim serialNumber As String
|
|
Dim signature As String
|
|
Dim transactionStart As Date
|
|
Dim transactionFinish As Date
|
|
Dim sigCounter As String
|
|
m_com.GetLastReceiptValues(cashbox, transactionNumberRet, serialNumber, signature, transactionStart, transactionFinish, sigCounter)
|
|
|
|
|
|
Dim qrCode As String = String.Empty
|
|
Dim mimeType As String = String.Empty
|
|
m_com.GetLastReceiptQrCode(cashbox, qrCode, mimeType)
|
|
|
|
|
|
QR_CodeString = qrCode
|
|
LastJWS = signature
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
Shared Function insertRKSV_DE(PERSONAL As cPersonal, BELEG As EABeleg, ByVal kasse As cRKSV_Kasse, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String, Optional storno As Integer = 0) As Boolean
|
|
|
|
Try
|
|
|
|
' MsgBox("0: ")
|
|
Dim cashbox As String = kasse.rksv_KassaGuid '"VERAG_GMBH_KASSE_01" "KASSA 001"
|
|
'Dim endpoint = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
|
|
' Dim m_com As VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient = New VERAG_PROG_ALLGEMEIN.DSFinVKService.DSFinVKServerClient("DSFinVKService", endpoint) '"http://ymgk028055.verag.ost.dmn:8733/DSFinVKService")
|
|
|
|
Dim m_com As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.DSFinVKServer() 'PROBLEM??
|
|
m_com.Url = "http://ymgk028055.verag.ost.dmn:8733/DSFinVKService"
|
|
Dim [error] As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.ErrorCode
|
|
Dim InitializeLibraryResultSpecified As Boolean
|
|
' Dim [error] = "" 'm_com.InitializeLibrary(tbLicense.Text, "D:\Database\DSFinVK\dsfinvkdb.db3", "Administrator", "test", cashbox)
|
|
m_com.InitializeLibrary("SQLGUIDE01.verag.ost.dmn", "itg_RKSV_DE", "dsfinvk", "dsfinvk#1337", cashbox, [error], InitializeLibraryResultSpecified)
|
|
|
|
' MsgBox("1: " & [error])
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
If [error].ToString() <> "CASHBOX_ALREADY_MANAGED" Then '--> CASHBOX_ALREADY_MANAGED --> der Fehler darf auftreten, die Cashbox wird Serverseitig initialisert, hier nur der Versuch, falls das nciht geschehen ist... lt. Jan Mika / AITG
|
|
MessageBox.Show([error].ToString(), "Error1", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
' MsgBox("2")
|
|
|
|
|
|
|
|
'BelegNr wird von RKSV übernommen
|
|
Dim BON_ID As Integer = 0
|
|
If False Then
|
|
|
|
Dim BON_IDSpecified = False
|
|
Dim GetNextBON_IDResultSpecified = False
|
|
m_com.GetNextBON_ID(cashbox, BON_ID, BON_IDSpecified, [error], GetNextBON_IDResultSpecified)
|
|
' MsgBox("3: " & [error])
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error2", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
Else
|
|
' MsgBox(RKSV_Beleg_Id)
|
|
BON_ID = RKSV_Beleg_Id
|
|
End If
|
|
|
|
|
|
'Dim BON_NR As Integer = 0
|
|
'[error] = m_com.GetNextBON_NR(cashbox, BON_NR)
|
|
|
|
'If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
' MessageBox.Show([error].ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' Return False
|
|
'End If
|
|
' MsgBox("4")
|
|
|
|
|
|
'-------------------------------------------------------------------------------------
|
|
'--------------------------------- Rechnung beginnen ---------------------------------
|
|
'-------------------------------------------------------------------------------------
|
|
|
|
Dim bonkopfBegin As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfBegin = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfBegin()
|
|
|
|
bonkopfBegin.Z_KASSE_ID = cashbox
|
|
|
|
bonkopfBegin.BEDIENER_ID = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID 'tbBEDIENER_ID.Text
|
|
|
|
bonkopfBegin.BEDIENER_NAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME 'tbBEDIENER_NAME.Text
|
|
|
|
bonkopfBegin.BON_ID = BON_ID.ToString()
|
|
|
|
bonkopfBegin.BON_NAME = "" 'tbBON_NAME.Text
|
|
|
|
bonkopfBegin.BON_NOTIZ = "" 'tbBON_NOTIZ.Text
|
|
|
|
bonkopfBegin.BON_NR = bonkopfBegin.BON_ID
|
|
|
|
bonkopfBegin.BON_STORNO = storno 'If(cbBON_STORNO.Checked, "1", "0")
|
|
|
|
bonkopfBegin.BON_TYP = "Beleg" 'cmbBON_TYP.SelectedItem.ToString()
|
|
|
|
bonkopfBegin.KUNDE_ID = If(BELEG.KundenNr > 0, BELEG.KundenNr, "") 'tbKUNDE_ID.Text
|
|
|
|
bonkopfBegin.KUNDE_LAND = If(BELEG.LandKz, "") 'tbKUNDE_LAND.Text
|
|
|
|
bonkopfBegin.KUNDE_NAME = If(BELEG.Frachtführer, "") 'tbKUNDE_NAME.Text
|
|
|
|
bonkopfBegin.KUNDE_ORT = If(BELEG.Ort, "") 'tbKUNDE_ORT.Text
|
|
|
|
bonkopfBegin.KUNDE_PLZ = If(BELEG.PLZ, "") 'tbKUNDE_PLZ.Text
|
|
|
|
bonkopfBegin.KUNDE_STRASSE = If(BELEG.Straße, "") ' tbKUNDE_STRASSE.Text
|
|
|
|
bonkopfBegin.KUNDE_TYP = "" ' tbKUNDE_TYP.Text
|
|
|
|
bonkopfBegin.KUNDE_USTID = If(BELEG.UstIdKz, "") & If(BELEG.UstIdNr, "") ' tbKUNDE_USTID.Text
|
|
|
|
bonkopfBegin.TERMINAL_ID = "" 'tbTERMINAL_ID.Text
|
|
|
|
Dim transactionNumber As Integer = 0
|
|
Dim transactionNumberSpecified As Boolean
|
|
|
|
Dim BeginReceiptResultSpecified As Boolean
|
|
m_com.BeginReceipt(cashbox, bonkopfBegin, transactionNumber, transactionNumberSpecified, [error], BeginReceiptResultSpecified)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error3", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
' MsgBox("5 ANZ: " & BELEG.POS.Count)
|
|
Dim cntZeile = 1
|
|
Dim GES_BRUTTO As Double = 0
|
|
For Each POS In BELEG.POS
|
|
|
|
'Bonposition hinzufügen
|
|
Dim position As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonPosition = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonPosition()
|
|
|
|
position.AGENTUR_ID = -1 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["AGENTUR_ID"].Value)
|
|
|
|
position.ARTIKELTEXT = POS.LeistungsBez 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ARTIKELTEXT"].Value)
|
|
|
|
position.ART_NR = POS.LeistungsNr ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["ART_NR"].Value)
|
|
|
|
position.BON_ID = Convert.ToString(BON_ID)
|
|
|
|
position.EINHEIT = "Stk." ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["EINHEIT"].Value)
|
|
|
|
position.FAKTOR = 1 ' Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["FAKTOR"].Value)
|
|
|
|
position.GTIN = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GTIN"].Value)
|
|
|
|
position.GUTSCHEIN_NR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GUTSCHEIN_NR"].Value)
|
|
|
|
position.GV_NAME = "" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_NAME"].Value)
|
|
|
|
position.GV_TYP = "Umsatz" ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["GV_TYP"].Value)
|
|
|
|
position.INHAUS = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["INHAUS"].Value)
|
|
|
|
position.MENGE = POS.Anzahl 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["MENGE"].Value)
|
|
|
|
position.POS_TERMINAL_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_TERMINAL_ID"].Value)
|
|
|
|
position.POS_ZEILE = cntZeile 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_ZEILE"].Value)
|
|
|
|
position.P_STORNO = storno ' Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["P_STORNO"].Value)
|
|
|
|
position.STK_BR = POS.Preis 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["STK_BR"].Value)
|
|
|
|
position.WARENGR = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR"].Value)
|
|
|
|
position.WARENGR_ID = "" 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["WARENGR_ID"].Value)
|
|
|
|
position.Z_KASSE_ID = cashbox 'Convert.ToString(dgvBonPos.Rows[m_dgvCurrentRow].Cells["Z_KASSE_ID"].Value)
|
|
|
|
' Beträge der Position
|
|
|
|
Dim position_vat = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonPosition_Ust()
|
|
|
|
position_vat.BON_ID = position.BON_ID
|
|
|
|
position_vat.POS_ZEILE = position.POS_ZEILE
|
|
|
|
Dim steuersatzID = 1
|
|
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT [Steuersatz] FROM [tblSteuersätze] where nr='" & BELEG.Steuerschlüssel & "'", "FMZOLL")
|
|
Select Case steuersatz
|
|
Case 0.19 : steuersatzID = 1
|
|
Case 0.07 : steuersatzID = 2
|
|
Case 0.00 : steuersatzID = 6
|
|
End Select
|
|
' MsgBox(POS.Anzahl)
|
|
' MsgBox(POS.Betrag)
|
|
|
|
position_vat.UST_SCHLUESSEL = steuersatzID 'm_com.GetTaxIds(cashbox,) 'Convert.ToInt32(dgvBonPos.Rows[m_dgvCurrentRow].Cells["UST_SCHLUESSEL"].Value)
|
|
Dim steuerBetrag As Double = POS.Betrag * steuersatz
|
|
position_vat.POS_BRUTTO = Convert.ToDecimal(POS.Betrag + steuerBetrag) 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_BRUTTO"].Value)
|
|
position_vat.POS_NETTO = Convert.ToDecimal(POS.Betrag) 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_NETTO"].Value)
|
|
|
|
position_vat.POS_UST = Convert.ToDecimal(steuerBetrag) 'Convert.ToDecimal(dgvBonPos.Rows[m_dgvCurrentRow].Cells["POS_UST"].Value)
|
|
|
|
Dim AddPositionToReceiptResultSpecified As Boolean
|
|
m_com.AddPositionToReceipt(cashbox, position, position_vat, transactionNumber, transactionNumberSpecified, [error], AddPositionToReceiptResultSpecified)
|
|
cntZeile += 1
|
|
GES_BRUTTO += position_vat.POS_BRUTTO
|
|
|
|
Next
|
|
' MsgBox("6: " & GES_BRUTTO)
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error4", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
|
|
'Rechnung abschließen
|
|
|
|
Dim bonkopfFinish As VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfFinish = New VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService.BonKopfFinish()
|
|
|
|
bonkopfFinish.Z_KASSE_ID = cashbox
|
|
|
|
bonkopfFinish.BON_ID = BON_ID
|
|
|
|
Try
|
|
bonkopfFinish.UMS_BRUTTO = Convert.ToDecimal(GES_BRUTTO)
|
|
Catch ex As Exception
|
|
bonkopfFinish.UMS_BRUTTO = 0.00
|
|
End Try
|
|
|
|
'If Not Decimal.TryParse(GES_BRUTTO, bonkopfFinish.UMS_BRUTTO) Then
|
|
' bonkopfFinish.UMS_BRUTTO = 0.00
|
|
'End If
|
|
|
|
|
|
bonkopfFinish.PROCESS_TYPE = "Kassenbeleg-V1"
|
|
|
|
bonkopfFinish.payment_currencies = {"EUR"}
|
|
|
|
bonkopfFinish.payment_types = {"Bar"}
|
|
|
|
bonkopfFinish.payment_per_currency = {GES_BRUTTO} '{0.0} 'BETRAG"!!!!!!!!!!!!
|
|
|
|
' MsgBox("6,1: ")
|
|
|
|
Dim FinishReceiptResult As Boolean = True
|
|
Dim FinishReceiptResultSpecified As Boolean
|
|
m_com.FinishReceipt(cashbox, bonkopfFinish, transactionNumber, FinishReceiptResult, [error], FinishReceiptResultSpecified)
|
|
' MsgBox("6,2: ")
|
|
|
|
If [error] <> VERAG_PROG_ALLGEMEIN.DSFinVKService.ErrorCode.OK Then
|
|
MessageBox.Show([error].ToString(), "Error5", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
Return False
|
|
End If
|
|
' Kassenabschluss anlegen über alle noch nicht abgeschlossenen Rechnungen zu dieser Kasse
|
|
|
|
' Error = m_com.CreateCashpointClosing(cashbox)
|
|
|
|
' ' DSFinV-K-Export
|
|
|
|
' Int from = 0
|
|
|
|
'Int to = 10
|
|
|
|
'Dim ret = m_com.ExportCSVFiles(from, to, tbSelectedFolder.Text, tbZipName.Text, True, True,
|
|
|
|
'true, true, true, true, true, true,
|
|
|
|
'true, true, true, true,
|
|
|
|
'true, true, true, true, true,
|
|
|
|
'true, true, true);
|
|
|
|
'If (ret == ErrorCode.OK) Then
|
|
|
|
'{
|
|
|
|
'MessageBox.Show("Die CSV Dateien wurden im Ordner " + tbSelectedFolder.Text + " angelegt und in die Zip-Datei " + tbZipName.Text + " gepackt.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
'}
|
|
|
|
'Else
|
|
|
|
'{
|
|
|
|
'MessageBox.Show("Beim exportieren der CSV-Dateien ging etwas schief:\r\n" + ret.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
|
|
'}
|
|
' MsgBox("7")
|
|
|
|
Dim transactionNumberRet As String
|
|
Dim serialNumber As String
|
|
Dim signature As String
|
|
Dim transactionStart As Date
|
|
Dim transactionFinish As Date
|
|
Dim sigCounter As String
|
|
Dim transactionStartSpecified As Boolean
|
|
Dim transactionFinishSpecified As Boolean
|
|
Dim GetLastReceiptValuesResultSpecified As Boolean
|
|
'
|
|
m_com.GetLastReceiptValues(cashbox, transactionNumberRet, serialNumber, signature, transactionStart, transactionStartSpecified, transactionFinish, transactionFinishSpecified, sigCounter, [error], GetLastReceiptValuesResultSpecified)
|
|
|
|
' MsgBox("8")
|
|
|
|
Dim qrCode As String = String.Empty
|
|
Dim mimeType As String = String.Empty
|
|
Dim GetLastReceiptQrCodeResult As Boolean
|
|
Dim GetLastReceiptQrCodeResultSpecified As Boolean
|
|
m_com.GetLastReceiptQrCode(cashbox, qrCode, mimeType, GetLastReceiptQrCodeResult, GetLastReceiptQrCodeResultSpecified)
|
|
|
|
QR_CodeString = qrCode
|
|
LastJWS = signature
|
|
|
|
|
|
' MsgBox("9")
|
|
If QR_CodeString.Length > 50 And LastJWS.Length > 50 Then
|
|
Return True
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
'Shared Function insertRKSV_DE(ByVal kasse As cRKSV_Kasse, CompanyGUID As String, ByVal umsatzZaehler As Double, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, ByRef QR_CodeString As String, ByRef LastJWS As String, TEST As Boolean, ByRef answer As String) As Boolean
|
|
|
|
' Try
|
|
' Dim xCom As New VERAG_PROG_ALLGEMEIN.RKSV_DE.DSFinVKServerClient
|
|
' Dim ret As Long
|
|
' Dim bonkopfBegin As New VERAG_PROG_ALLGEMEIN.RKSV_DE.BonKopfBegin
|
|
' Dim bonkopfFinish As New VERAG_PROG_ALLGEMEIN.RKSV_DE.BonKopfFinish
|
|
' Dim bonpos As New VERAG_PROG_ALLGEMEIN.RKSV_DE.BonPosition
|
|
' Dim bonpos_ust As New VERAG_PROG_ALLGEMEIN.RKSV_DE.BonPosition_Ust
|
|
|
|
' Dim transactionNumber As Long
|
|
' Dim bonId As Long
|
|
' Dim bonNr As Long
|
|
' Dim poszeile As Integer
|
|
|
|
' ' zwingend erforderliche Felder:
|
|
|
|
|
|
' Dim tbCashbox = kasse.rksv_KassaGuid ' VERAG_GMBH_KASSE_01
|
|
' bonkopfBegin.Z_KASSE_ID = tbCashbox
|
|
' bonkopfBegin.BON_ID = bonId
|
|
' bonkopfBegin.BON_NR = bonId
|
|
' bonkopfBegin.BON_TYP = "Beleg" 'tbBonTyp
|
|
' bonkopfBegin.BON_NAME = "" 'tbBonName
|
|
|
|
' bonkopfBegin.BON_STORNO = "0"
|
|
' bonkopfBegin.BEDIENER_ID = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID 'tbBedienerId
|
|
' bonkopfBegin.BEDIENER_NAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME ' tbBedienerName
|
|
|
|
|
|
|
|
' Dim tbBonStart = Format(Now(), "yyyy-mm-ddThh:MM:ss")
|
|
|
|
|
|
|
|
' poszeile = 1
|
|
|
|
|
|
|
|
' bonkopfBegin.BON_START = tbBonStart
|
|
|
|
' ' optionale Felder:
|
|
|
|
|
|
|
|
' ' bonkopfBegin.KUNDE_NAME = tbKundeName
|
|
|
|
' ' bonkopfBegin.KUNDE_ID = tbKundeId
|
|
|
|
' ' bonkopfBegin.KUNDE_TYP = tbKundeTyp
|
|
|
|
' ' bonkopfBegin.KUNDE_USTID = tbKundeUstId
|
|
|
|
' ' bonkopfBegin.KUNDE_STRASSE = tbKundeStrasse
|
|
|
|
' ' bonkopfBegin.KUNDE_PLZ = tbKundePlz
|
|
|
|
' ' bonkopfBegin.KUNDE_ORT = tbKundeOrt
|
|
|
|
' ' bonkopfBegin.KUNDE_LAND = tbKundeLand
|
|
|
|
|
|
|
|
' ret = xCom.BeginReceipt(tbCashbox, bonkopfBegin, transactionNumber)
|
|
|
|
' If ret <> 0 Then
|
|
|
|
' MsgBox("Es ist ein Fehler aufgetreten! ErrorCode = " + Str$(ret))
|
|
|
|
' Else
|
|
|
|
' tbTransNr = transactionNumber
|
|
|
|
' End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
' Dim qrCode As String = String.Empty
|
|
|
|
' ' QR-Code Inhalt für die Ablage in der Datenbank, falls eine Rechnung nochmals gedruckt werden muss
|
|
|
|
' Dim qrCodeContent As String = String.Empty
|
|
' m_ksv.GetLastReceiptQrCode(qrCode)
|
|
' m_ksv.GetLastReceiptQrCodeContent(qrCodeContent)
|
|
' Dim sTransactionNumber As String = String.Empty
|
|
' Dim serialNumber As String = String.Empty
|
|
' Dim signature As String = String.Empty
|
|
' Dim sigCounter As String = String.Empty
|
|
' Dim dtStartTransaction As Date = Date.MinValue
|
|
' Dim dtFinishTransaction As Date = Date.MinValue
|
|
' m_ksv.GetLastReceiptValues(sTransactionNumber, serialNumber, signature, dtStartTransaction, dtFinishTransaction, sigCounter)
|
|
|
|
' QR_CodeString = qrCode
|
|
' LastJWS = signature
|
|
' '' Anzeige der gestarteten/noch möglichen Transaktionen
|
|
|
|
' 'Dim maxTransactions As Integer = 0
|
|
' 'Dim openTransactions As Integer = 0
|
|
' 'm_ksv.GetMaxStartedTransactions(maxTransactions)
|
|
' 'm_ksv.GetStartedTransactions(openTransactions)
|
|
' 'Dim startedTransactions As Integer() = Nothing
|
|
' 'result = m_ksv.GetStartedTransactionNumbers(startedTransactions)
|
|
|
|
' 'If result <> &H0 Then
|
|
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' 'End If
|
|
|
|
|
|
|
|
' '' Export der TSE-Daten im TAR-Format
|
|
|
|
' 'result = m_ksv.ExportAsTarFile("d:\export.tar")
|
|
|
|
' 'If result <> 0 Then
|
|
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' 'End If
|
|
|
|
|
|
|
|
' '' Bibliothek aufräumen, andernfalls wird ein power-cycle der TSE erforderlich um sie wieder einsetzen zu können
|
|
|
|
' ''result = CSharpImpl.__Assign(,, m_ksv.CleanupLibrary())
|
|
' 'result = m_ksv.CleanupLibrary()
|
|
|
|
' 'If result <> 0 Then
|
|
' ' MessageBox.Show(m_ksv.StringifyErrorCode(result), "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
|
|
' 'End If
|
|
|
|
|
|
|
|
' Catch ex As Exception
|
|
' MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
|
' End Try
|
|
' Return False
|
|
'End Function
|
|
|
|
|
|
|
|
|
|
'################## ------- ------- ------- ##################
|
|
'################## ------- ------- ------- ##################
|
|
'################## ------- BUCHUNGEN------- ##################
|
|
'################## ------- ------- ------- ##################
|
|
'################## ------- ------- ------- ##################
|
|
|
|
'################## ------- DEFAULTWERTE------- ##################
|
|
|
|
'Declare @Kundensuchnr INTEGER
|
|
'Declare @Kundennr INTEGER
|
|
'Declare @belegdatum DATETIME
|
|
'Declare @belegnr INTEGER
|
|
'Declare @MandantNr INTEGER
|
|
'Declare @StapelAZK INTEGER
|
|
'Declare @Zaehler1 INTEGER
|
|
'Declare @ZSBuchnr INTEGER
|
|
'Declare @ZSzeilenr INTEGER
|
|
'Declare @Sollkonto INTEGER
|
|
'Declare @Habenkonto INTEGER
|
|
'Declare @ckennsoll VARCHAR(2)
|
|
' Declare @ckennhab VARCHAR(2)
|
|
' Declare @steuerproz FLOAT
|
|
'Declare @Jahr INTEGER
|
|
'Declare @Periode INTEGER
|
|
'Declare @Zeilenrefid INTEGER
|
|
'Declare @Kennung VARCHAR(2)
|
|
' Declare @Konto INTEGER
|
|
'Declare @SollHaben VARCHAR(1)
|
|
' Declare @Steuersatz FLOAT
|
|
'Declare @Steuerbetrag FLOAT
|
|
'Declare @Gegenkonto INTEGER
|
|
'Declare @Waehrung VARCHAR(5)
|
|
' Declare @Belegart INTEGER
|
|
'Declare @kkennung INTEGER
|
|
'Declare @kkennungsoll INTEGER
|
|
'Declare @kkennunghab INTEGER
|
|
'Declare @Splitart INTEGER
|
|
'Declare @Buchungsbelegkreis VARCHAR(5)
|
|
' Declare @Buchungstext_orig VARCHAR(255)
|
|
' Declare @Buchungstext VARCHAR(49)
|
|
' Declare @BuchungstextBemerkung VARCHAR(29)
|
|
' Declare @Firmenname VARCHAR(50)
|
|
' Declare @Ort VARCHAR(50)
|
|
' Declare @belegnrtext VARCHAR(24)
|
|
' Declare @Kontonummer VARCHAR(8)
|
|
' Declare @DB_Kontosoll INTEGER
|
|
'Declare @i_buchungskreis INTEGER
|
|
'Declare @i_bank_flags INTEGER
|
|
'Declare @i_quelle_modul INTEGER
|
|
'Declare @c_quelle_maske VARCHAR(50)
|
|
' Declare @si_manipulation INTEGER
|
|
'Declare @dt_creation DATETIME
|
|
'Declare @c_protokoll_id VARCHAR(100)
|
|
' Declare @C_Jahr VARCHAR(4)
|
|
' Declare @C_Periode VARCHAR(4)
|
|
' Declare @Tag INTEGER
|
|
'Declare @C_Tag VARCHAR(4)
|
|
' Declare @Stunde INTEGER
|
|
'Declare @C_Stunde VARCHAR(4)
|
|
' Declare @Minute INTEGER
|
|
'Declare @C_Minute VARCHAR(4)
|
|
' Declare @Sekunde INTEGER
|
|
'Declare @C_Sekunde VARCHAR(4)
|
|
' Declare @Monat INTEGER
|
|
'Declare @C_Monat VARCHAR(4)
|
|
' Declare @Anno INTEGER
|
|
'Declare @C_Anno VARCHAR(4)
|
|
' Declare @pruef INTEGER
|
|
'Declare @skf_soll INTEGER
|
|
'Declare @skf_haben INTEGER
|
|
'Declare @B_Bruttobetrag FLOAT
|
|
'Declare @dec_steuerproz FLOAT
|
|
'Declare @Benutzer VARCHAR(30)
|
|
' Declare @Systembenutzer INTEGER
|
|
'Declare @Barverkaufsrechnung BIT
|
|
'Declare @P_Bruttobetrag FLOAT
|
|
'Declare @P_Nettobetrag FLOAT
|
|
'Declare @Einzahlungsbetrag FLOAT
|
|
'Declare @Auszahlungsbetrag FLOAT
|
|
'Declare @Sollkonto2 INTEGER
|
|
'Declare @Habenkonto2 INTEGER
|
|
'Declare @ckennsoll2 VARCHAR(2)
|
|
' Declare @ckennhab2 VARCHAR(2)
|
|
' Declare @kkennungsoll2 INTEGER
|
|
'Declare @kkennunghab2 INTEGER
|
|
'Declare @Ben_Pos_Nr INTEGER
|
|
'Declare @Ben_Jahr INTEGER
|
|
'Declare @Position INTEGER
|
|
'Declare @Ganzer_Pos_Nr_Text VARCHAR(20)
|
|
' Declare @Bel_Jahr_Text VARCHAR(20)
|
|
' Declare @Bel_Jahr INTEGER
|
|
'Declare @Bel_Pos_Nr_Text VARCHAR(20)
|
|
' Declare @Bel_Pos_Nr INTEGER
|
|
'Declare @RechnungErstellen_B VARCHAR(24)
|
|
' Declare @Kassakonto VARCHAR(8)
|
|
' Declare @Kassanr INTEGER
|
|
'Declare @Rechnungsstatus BIT
|
|
'Declare @Zahlungsmittelbetraege FLOAT
|
|
'Declare @Korrekturbetrag FLOAT
|
|
'Declare @Waehrungsnr INTEGER
|
|
'Declare @Umrechnungsfaktor FLOAT
|
|
'Declare @LKW VARCHAR(50)
|
|
' Declare @Fahrer VARCHAR(50)
|
|
' Declare @Passnummer VARCHAR(50)
|
|
' Declare @Buchungsbetrag_B VARCHAR(50)
|
|
' Declare @Buchungsbetrag_P VARCHAR(50)
|
|
' Declare @belegdatumdavor DATETIME
|
|
'Declare @belegnrdavor INTEGER
|
|
'Declare @Bestandskonto VARCHAR(8)
|
|
' Declare @Erlöskonto VARCHAR(8)
|
|
' Declare @dec_steuerproz2 FLOAT
|
|
'Declare @LKW_B VARCHAR(50)
|
|
' Declare @Fahrer_B VARCHAR(50)
|
|
' Declare @Passnummer_B VARCHAR(50)
|
|
' Declare @AusbezahltAnFirma_B VARCHAR(50)
|
|
' Declare @AusbezahltAnFirma VARCHAR(50)
|
|
' Declare @Buchungsweg INTEGER
|
|
'Declare @i_beleg_refid INTEGER
|
|
'Declare @Positionszaehler INTEGER
|
|
'Declare @Belegkopfbetrag FLOAT
|
|
'Declare @relPeriode INTEGER
|
|
'Declare @c_sollhabenkz VARCHAR(1)
|
|
' Declare @i_fordkto INTEGER
|
|
'Declare @dec_aktuellersaldo FLOAT
|
|
'Declare @dec_sollsumme FLOAT
|
|
'Declare @dec_habensumme FLOAT
|
|
'Declare @eur_aktuellersaldo FLOAT
|
|
'Declare @updatekonto INTEGER
|
|
'Declare @i_op_refid INTEGER
|
|
'Declare @i_personenkonto INTEGER
|
|
'Declare @c_op_Typ VARCHAR(1)
|
|
' Declare @c_sprache VARCHAR(30)
|
|
' Declare @c_zahlziel VARCHAR(24)
|
|
' Declare @Skontotage INTEGER
|
|
'Declare @Nettotage INTEGER
|
|
'Declare @Skontodatum DATETIME
|
|
'Declare @Nettodatum DATETIME
|
|
'Declare @Skonto FLOAT
|
|
'Declare @c_ustidnr VARCHAR(50)
|
|
' Declare @opvorgangsbetrag FLOAT
|
|
'Declare @i_Sachkonto INTEGER
|
|
'Declare @gDatumKurz DATETIME
|
|
'Declare @BestandskontoInt INTEGER
|
|
'Declare @ErlöskontoInt INTEGER
|
|
'Declare @Kontenzähler INTEGER
|
|
'Declare @Schleifennr INTEGER
|
|
'Declare @aktuellersaldoDE FLOAT
|
|
'Declare @aktuellersaldoDB FLOAT
|
|
'Declare @aktuellersaldoBK FLOAT
|
|
'Declare @aktuellersaldoEK FLOAT
|
|
'Declare @Schleifenkonto INTEGER
|
|
'Declare @periodensoll FLOAT
|
|
'Declare @periodenhaben FLOAT
|
|
'Declare @Anmerkung VARCHAR(255)
|
|
' Declare @Einzelpreis FLOAT
|
|
|
|
|
|
'Set @belegdatum = @Datum@
|
|
'Set @Jahr = (DATEPART(YEAR, @belegdatum) - 2000)
|
|
'Set @Monat = (DATEPART(MONTH, @belegdatum) - 1)
|
|
'Set @Tag = (DATEPART(DAY, @belegdatum) - 1)
|
|
'Set @gDatumKurz = '01.01.2000'
|
|
'Set @gDatumKurz = DATEADD(YEAR, @Jahr, @gDatumKurz)
|
|
'Set @gDatumKurz = DATEADD(MONTH, @Monat, @gDatumKurz)
|
|
'Set @gDatumKurz = DATEADD(DAY, @Tag, @gDatumKurz)
|
|
'Set @Anmerkung = ''
|
|
|
|
'Set @belegnr = @Nr@
|
|
'Set @belegnrtext = ISNULL(@Rechnungsnr@, '')
|
|
'Set @Barverkaufsrechnung = ISNULL(@Barverkauf@, 0)
|
|
'Set @B_Bruttobetrag = ISNULL(@Bruttobetrag@, 0)
|
|
'Set @Buchungsbetrag_B = @B_Bruttobetrag
|
|
'Set @Kundennr = ISNULL(@Kunde@, 0)
|
|
|
|
'Set @Ben_Pos_Nr = (Select OWNFIELD_Positionsnr FROM Benutzer)
|
|
'Set @Ben_Jahr = (Select OWNFIELD_Jahr FROM Benutzer)
|
|
'Set @Buchungsweg = (Select ISNULL(OWNFIELD_Buchungsweg, 2) FROM Benutzer)
|
|
'Set @Rechnungsstatus = 1
|
|
|
|
'Set @Kassanr = (Select MIN(Nr) FROM Barverkauf_Kassen)
|
|
'Set @Kassakonto = (Select Bestandskonto FROM Barverkauf_Kassen WHERE Nr = @Kassanr)
|
|
'If ISNULL(@Kassakonto, '') = '' SET @Kassakonto = '2700'
|
|
|
|
'################## ------- RECHUNGSPOS------- ################## -> UNNÖTIG
|
|
|
|
|
|
' Declare PositionenRec CURSOR FOR ()
|
|
|
|
' Select Case
|
|
'Rechnungspositionen.Position,
|
|
'Rechnungspositionen.Positionstyp,
|
|
'ISNULL(Rechnungspositionen.Bruttobetrag, 0),
|
|
'ISNULL(Rechnungspositionen.Einzelpreis, 0)
|
|
|
|
'FROM Rechnungspositionen INNER JOIN Rechnung
|
|
'On (Rechnungspositionen.Datum = Rechnung.Datum
|
|
'And Rechnungspositionen.Rechnungsnr = Rechnung.Nr)
|
|
|
|
'WHERE Rechnungspositionen.Datum = @belegdatum
|
|
'And Rechnungspositionen.Rechnungsnr = @belegnr
|
|
'And Rechnung.Barverkauf = 1
|
|
|
|
|
|
'OPEN PositionenRec
|
|
'FETCH NEXT FROM PositionenRec INTO
|
|
'@Position,
|
|
'@Zaehler1,
|
|
'@P_Bruttobetrag,
|
|
'@Einzelpreis
|
|
|
|
'While @@FETCH_STATUS = 0
|
|
'BEGIN /* 03 */
|
|
|
|
'If ((@Zaehler1 <> 1) Or (@P_Bruttobetrag = 0) Or (@Einzelpreis = 0))
|
|
'BEGIN /* diese Position ist zu löschen */
|
|
|
|
'DELETE FROM Rechnungspositionen
|
|
'WHERE Datum = @belegdatum And Rechnungsnr = @belegnr And Position = @Position
|
|
|
|
'UPDATE Rechnungspositionen Set Position = @Position
|
|
'WHERE Datum = @belegdatum And Rechnungsnr = @belegnr And Position = (@Position + 1)
|
|
|
|
'End /* diese Position ist zu löschen */
|
|
|
|
'FETCH NEXT FROM PositionenRec INTO
|
|
'@Position,
|
|
'@Zaehler1,
|
|
'@P_Bruttobetrag,
|
|
'@Einzelpreis
|
|
|
|
'End /* 03 */
|
|
'CLOSE PositionenRec
|
|
'DEALLOCATE PositionenRec
|
|
|
|
|
|
' Set @Position = (Select MIN(Position) FROM Rechnungspositionen
|
|
'WHERE Datum = @belegdatum And Rechnungsnr = @belegnr And Positionstyp = 1)
|
|
'If @Position Is NULL SET @Position = 0
|
|
'If @Position > 0
|
|
'BEGIN /* Positionsnummernberechnung nur bei vorhandenen Positionen */
|
|
|
|
'Set @Ganzer_Pos_Nr_Text = (Select OWNFIELD_Pos_Nr_P FROM Rechnungspositionen
|
|
'WHERE Datum = @belegdatum And Rechnungsnr = @belegnr And Position = @Position)
|
|
|
|
'Set @Bel_Jahr_Text = SUBSTRING(@Ganzer_Pos_Nr_Text, 6, 2)
|
|
'Set @Bel_Jahr = ISNULL(CAST(@Bel_Jahr_Text As Integer), 0)
|
|
'Set @Bel_Pos_Nr_Text = SUBSTRING(@Ganzer_Pos_Nr_Text, 8, 5)
|
|
'Set @Bel_Pos_Nr = ISNULL(CAST(@Bel_Pos_Nr_Text As Integer), 0)
|
|
|
|
'If (@Ben_Jahr + 1) = @Bel_Jahr
|
|
'BEGIN /* Jahressprung */
|
|
'Set @Ganzer_Pos_Nr_Text = ('4806/' + @Bel_Jahr_Text + '00001/00')
|
|
'Set @Bel_Pos_Nr = 1
|
|
'UPDATE Rechnungspositionen Set OWNFIELD_Pos_Nr_P = @Ganzer_Pos_Nr_Text
|
|
'WHERE Datum = @belegdatum And Rechnungsnr = @belegnr
|
|
'End /* Jahressprung */
|
|
|
|
'UPDATE Benutzer Set OWNFIELD_Positionsnr = @Bel_Pos_Nr
|
|
'UPDATE Benutzer Set OWNFIELD_Jahr = @Bel_Jahr
|
|
|
|
'End /* Positionsnummernberechnung nur bei vorhandenen Positionen */
|
|
|
|
|
|
'If @Kundennr = 0
|
|
'BEGIN /* Allgemeinen Kunden zuordnen */
|
|
'Set @Kundennr = (Select MAX(Nr) FROM Kunden
|
|
'WHERE Kurzbez Like ('999999'))
|
|
|
|
'UPDATE Rechnung Set
|
|
'Kunde = @Kundennr
|
|
'WHERE Datum = @belegdatum And Nr = @belegnr
|
|
'End /* Allgemeinen Kunden zuordnen */
|
|
|
|
|
|
'Set @Einzahlungsbetrag = (Select ISNULL(OWNFIELD_Einzahlung_P, 0)
|
|
'FROM Rechnungspositionen
|
|
'WHERE Datum = @belegdatum And Rechnungsnr = @belegnr And Position = @Position)
|
|
|
|
'Set @Auszahlungsbetrag = (Select ISNULL(OWNFIELD_Auszahlung_P, 0)
|
|
'FROM Rechnungspositionen
|
|
'WHERE Datum = @belegdatum And Rechnungsnr = @belegnr And Position = @Position)
|
|
|
|
'If @Einzahlungsbetrag < 0 SET @Anmerkung = (@Anmerkung + ' Stornobuchung ')
|
|
'If @Auszahlungsbetrag < 0 SET @Anmerkung = (@Anmerkung + ' Stornobuchung ')
|
|
|
|
|
|
'UPDATE Rechnung Set
|
|
'RabattEingabeAbsolut = 0,
|
|
'Anmerkung = @Anmerkung,
|
|
'OWNFIELD_Einzahlung_B = @Einzahlungsbetrag,
|
|
'OWNFIELD_Auszahlung_B = @Auszahlungsbetrag,
|
|
'OWNFIELD_Pos_Nr_B = @Ganzer_Pos_Nr_Text,
|
|
'OWNFIELD_RechnungsnrText = @belegnrtext
|
|
'WHERE Datum = @belegdatum And Nr = @belegnr
|
|
|
|
|
|
|
|
'Set @Kundensuchnr = (Select ISNULL(OWNFIELD_Kundensuchnr, 0) FROM Kunden
|
|
'WHERE Nr = @Kundennr)
|
|
'If @Kundensuchnr > 0
|
|
'BEGIN /* nur löschen wenn eine Kundensuchnr vorhanden ist */
|
|
'DELETE FROM Kunden
|
|
'WHERE Nr <> @Kundennr And ISNULL(OWNFIELD_Kundensuchnr, 0) = @Kundensuchnr
|
|
'End /* nur löschen wenn eine Kundensuchnr vorhanden ist */
|
|
|
|
'Set @Zaehler1 = (Select COUNT(Position) FROM Rechnungspositionen
|
|
'WHERE Datum = @belegdatum And Rechnungsnr = @belegnr And Positionstyp = 1)
|
|
'If ((@Barverkaufsrechnung = 1) And (ISNULL(@Zaehler1, 0) > 0))
|
|
'BEGIN /* nur Barverkaufsrechnungen mit Positionen in den Fibustapel insertieren */
|
|
|
|
'Set @Systembenutzer = @Aktueller_Systembenutzer@
|
|
'Set @Benutzer = (Select SUBSTRING(Bezeichnung, 1, 30) FROM Systembenutzer
|
|
'WHERE Nr = @Systembenutzer)
|
|
|
|
'Set @dt_creation = Getdate()
|
|
'Set @Anno = (DATEPART(YEAR, @dt_creation))
|
|
'Set @C_Anno = CAST(@Anno As VARCHAR(4))
|
|
'Set @Monat = (DATEPART(MONTH, @dt_creation))
|
|
'Set @C_Monat = CAST(@Monat As VARCHAR(4))
|
|
'Set @Tag = (DATEPART(DAY, @dt_creation))
|
|
'Set @C_Tag = CAST(@Tag As VARCHAR(4))
|
|
'Set @Stunde = (DATEPART(HOUR, @dt_creation))
|
|
'Set @C_Stunde = CAST(@Stunde As VARCHAR(4))
|
|
'Set @Minute = (DATEPART(MINUTE, @dt_creation))
|
|
'Set @C_Minute = CAST(@Minute As VARCHAR(4))
|
|
'Set @Sekunde = (DATEPART(SECOND, @dt_creation))
|
|
'Set @C_Sekunde = CAST(@Sekunde As VARCHAR(4))
|
|
|
|
'Set @Buchungsbelegkreis = 'KE'
|
|
'If @Auszahlungsbetrag <> 0 SET @Buchungsbelegkreis = 'KA'
|
|
|
|
'Set @Firmenname = ISNULL(@Firmenname@, '')
|
|
'Set @Ort = ISNULL(@Ort@, '')
|
|
'Set @Buchungstext_orig = (@Buchungsbelegkreis + '_' + @Ganzer_Pos_Nr_Text)
|
|
'Set @Buchungstext = SUBSTRING(@Buchungstext_orig, 4, 48)
|
|
'Set @Waehrung = @Waehrung@
|
|
|
|
'Set @Jahr = (DATEPART(YEAR, @belegdatum))
|
|
'Set @Periode = (DATEPART(MONTH, @belegdatum))
|
|
|
|
|
|
'################## ------- BUCHUNGSDATEN------- ##################
|
|
|
|
'Set @Kontonummer = (Select Kontonummer FROM Kunden WHERE Nr = @Kundennr)
|
|
'Set @Habenkonto = CAST(@Kontonummer As Integer)
|
|
'Set @Sollkonto = 0
|
|
|
|
'Set @MandantNr = (Select OWNFIELD_REWE_Mandantennr FROM Benutzer)
|
|
'If ISNULL(@MandantNr, 0) = 0
|
|
'BEGIN /* Mandantennr 7 setzen */
|
|
'Set @MandantNr = 7
|
|
'UPDATE Benutzer Set OWNFIELD_REWE_Mandantennr = 7
|
|
'End /* Mandantennr 7 setzen */
|
|
|
|
|
|
'Set @relPeriode = (Select ISNULL(OWNFIELD_RelPeriode, 2) FROM Benutzer)
|
|
|
|
'Set @relPeriode = (@Periode - @relPeriode + 1)
|
|
'If @relPeriode <= 0 SET @relPeriode = (@relPeriode + 12)
|
|
'If @relPeriode > @Periode SET @Jahr = (@Jahr - 1)
|
|
|
|
|
|
'Set @i_personenkonto = @Habenkonto /* die ersten 2 Kontovoraussetzungen schaffen */
|
|
|
|
'Set @i_fordkto = (Select [FIBU2].dbo.fibu_konto.i_fordkto FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @i_personenkonto
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
'If ISNULL(@i_fordkto, 0) = 0 Set @i_fordkto = 2000
|
|
|
|
'DELETE FROM OWNTABLE_Verbuchungskonten
|
|
|
|
'INSERT INTO OWNTABLE_Verbuchungskonten (
|
|
'OWNFIELD_Nr,
|
|
'OWNFIELD_Konto,
|
|
'OWNFIELD_Soll,
|
|
'OWNFIELD_Haben)
|
|
'VALUES (
|
|
'1,
|
|
'@i_personenkonto,
|
|
'0,
|
|
'0)
|
|
|
|
'INSERT INTO OWNTABLE_Verbuchungskonten (
|
|
'OWNFIELD_Nr,
|
|
'OWNFIELD_Konto,
|
|
'OWNFIELD_Soll,
|
|
'OWNFIELD_Haben)
|
|
'VALUES (
|
|
'2,
|
|
'@i_fordkto,
|
|
'0,
|
|
'0)
|
|
|
|
'Set @Kontenzähler = 2
|
|
|
|
|
|
'Set @ckennsoll = (Select [FIBU2].dbo.fibu_konto.c_kontoart FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Sollkonto
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
'If @ckennsoll Is NULL SET @ckennsoll = 'LE'
|
|
|
|
'Set @kkennungsoll = (Select [FIBU2].dbo.fibu_konto.i_kennung FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Sollkonto
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
'If @kkennungsoll Is NULL SET @kkennungsoll = 0
|
|
|
|
'Set @ckennhab = (Select [FIBU2].dbo.fibu_konto.c_kontoart FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Habenkonto
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
'Set @ckennhab = 'LE'
|
|
|
|
'Set @kkennunghab = (Select [FIBU2].dbo.fibu_konto.i_kennung FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Habenkonto
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
'Set @kkennunghab = 0
|
|
|
|
'Set @pruef = 0
|
|
'Set @ZSzeilenr = 0
|
|
'Set @Belegart = 1
|
|
'Set @Splitart = 0
|
|
|
|
'Set @StapelAZK = (Select [FIBU2].dbo.fibu_stapelart.i_stapel_refid
|
|
'FROM [FIBU2].dbo.fibu_stapelart
|
|
'WHERE [FIBU2].dbo.fibu_stapelart.c_stapelname Like 'Auszahlungskasse 1'
|
|
'And [FIBU2].dbo.fibu_stapelart.i_firm_refid = @MandantNr)
|
|
|
|
'Set @Zaehler1 = (Select COUNT([FIBU2].dbo.fibu_stapel.i_lfdnr) FROM [FIBU2].dbo.fibu_stapel
|
|
'WHERE ISNULL([FIBU2].dbo.fibu_stapel.si_pruef, 0) > 0)
|
|
'If ISNULL(@Zaehler1, 0) > 0
|
|
'BEGIN /* der Stapel Auszahlungskasse 1 wird gerade geprüft oder gebucht */
|
|
|
|
'Set @StapelAZK = (Select [FIBU2].dbo.fibu_stapelart.i_stapel_refid
|
|
'FROM [FIBU2].dbo.fibu_stapelart
|
|
'WHERE [FIBU2].dbo.fibu_stapelart.c_stapelname Like 'Auszahlungskasse 2'
|
|
'And [FIBU2].dbo.fibu_stapelart.i_firm_refid = @MandantNr)
|
|
|
|
'End /* der Stapel Auszahlungskasse 1 wird gerade geprüft oder gebucht */
|
|
|
|
|
|
'Set @ZSBuchnr = (Select MAX([FIBU2].dbo.fibu_stapel.i_lfdnr)+1
|
|
'FROM [FIBU2].dbo.fibu_stapel
|
|
'WHERE [FIBU2].dbo.fibu_stapel.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_stapel.i_stapel_refid = @StapelAZK)
|
|
'If ((@ZSBuchnr Is NULL) Or (@ZSBuchnr = 0)) SET @ZSBuchnr = 1
|
|
|
|
|
|
'Set @c_protokoll_id = (CAST(@StapelAZK As VARCHAR(4)) + '-'
|
|
'+ CAST(@ZSBuchnr AS VARCHAR(4)) + '-'
|
|
'+ @C_Anno + '-'
|
|
'+ REPLICATE('0', 2-LEN(@C_Monat)) + @C_Monat + '-'
|
|
'+ REPLICATE('0', 2-LEN(@C_Tag)) + @C_Tag + ' '
|
|
'+ REPLICATE('0', 2-LEN(@C_Stunde)) + @C_Stunde + ':'
|
|
'+ REPLICATE('0', 2-LEN(@C_Minute)) + @C_Minute + ':'
|
|
'+ REPLICATE('0', 2-LEN(@C_Sekunde)) + @C_Sekunde)
|
|
|
|
|
|
|
|
'Declare lc_ProjekteRec CURSOR FOR ()
|
|
|
|
' Select Case
|
|
'Rechnungspositionen.Position,
|
|
'Rechnungspositionen.Nettobetrag,
|
|
'Rechnungspositionen.Bruttobetrag,
|
|
'ISNULL(Rechnungspositionen.USt, 0),
|
|
'ISNULL(Rechnungspositionen.OWNFIELD_LKW_P, ''),
|
|
'ISNULL(Rechnungspositionen.OWNFIELD_Fahrer_P, ''),
|
|
'ISNULL(Rechnungspositionen.OWNFIELD_Passnummer_P, ''),
|
|
'ISNULL(Rechnungspositionen.OWNFIELD_AusbezahltAnFirma_P, ''),
|
|
'ISNULL(Artikel.Erloeskonto_Inland, ''),
|
|
'ISNULL(Artikel.OWNFIELD_Bestandskonto, ''),
|
|
'ISNULL(Rechnung.OWNFIELD_LKW_B, ''),
|
|
'ISNULL(Rechnung.OWNFIELD_Fahrer_B, ''),
|
|
'ISNULL(Rechnung.OWNFIELD_Passnummer_B, ''),
|
|
'ISNULL(Rechnung.OWNFIELD_AusbezahltAnFirma_B, ''),
|
|
'Rechnung.Waehrungsnr,
|
|
'Rechnung.Umrechnungsfaktor
|
|
|
|
'FROM Rechnungspositionen INNER JOIN Rechnung
|
|
'On (Rechnungspositionen.Datum = Rechnung.Datum
|
|
'And Rechnungspositionen.Rechnungsnr = Rechnung.Nr)
|
|
'INNER JOIN Artikel On (Rechnungspositionen.Artikelnr = Artikel.Nr)
|
|
|
|
'WHERE Rechnungspositionen.Datum = @belegdatum
|
|
'And Rechnungspositionen.Rechnungsnr = @belegnr
|
|
'And Rechnungspositionen.Positionstyp = 1
|
|
'And Rechnung.Barverkauf = 1
|
|
|
|
'OPEN lc_ProjekteRec
|
|
'FETCH NEXT FROM lc_ProjekteRec INTO
|
|
'@Positionszaehler,
|
|
'@P_Nettobetrag,
|
|
'@P_Bruttobetrag,
|
|
'@dec_steuerproz,
|
|
'@LKW,
|
|
'@Fahrer,
|
|
'@Passnummer,
|
|
'@AusbezahltAnFirma,
|
|
'@Erlöskonto,
|
|
'@Bestandskonto,
|
|
'@LKW_B,
|
|
'@Fahrer_B,
|
|
'@Passnummer_B,
|
|
'@AusbezahltAnFirma_B,
|
|
'@Waehrungsnr,
|
|
'@Umrechnungsfaktor
|
|
|
|
'While @@FETCH_STATUS = 0
|
|
|
|
|
|
'################## ------- BUCHUNGEN------- ##################
|
|
|
|
'BEGIN /* 03 */
|
|
|
|
'Set @BestandskontoInt = CAST(@Bestandskonto As Integer)
|
|
'Set @ErlöskontoInt = CAST(@Erlöskonto As Integer)
|
|
|
|
'Set @Kontenzähler = (@Kontenzähler + 1)
|
|
|
|
'INSERT INTO OWNTABLE_Verbuchungskonten (
|
|
'OWNFIELD_Nr,
|
|
'OWNFIELD_Konto,
|
|
'OWNFIELD_Soll,
|
|
'OWNFIELD_Haben)
|
|
'VALUES (
|
|
'@Kontenzähler,
|
|
'@BestandskontoInt,
|
|
'0,
|
|
'0)
|
|
|
|
'Set @Kontenzähler = (@Kontenzähler + 1)
|
|
|
|
'INSERT INTO OWNTABLE_Verbuchungskonten (
|
|
'OWNFIELD_Nr,
|
|
'OWNFIELD_Konto,
|
|
'OWNFIELD_Soll,
|
|
'OWNFIELD_Haben)
|
|
'VALUES (
|
|
'@Kontenzähler,
|
|
'@ErlöskontoInt,
|
|
'0,
|
|
'0)
|
|
|
|
|
|
'Declare Schleifen1rec CURSOR FOR ()
|
|
|
|
' Select Case OWNFIELD_Nr, OWNFIELD_Konto
|
|
'FROM OWNTABLE_Verbuchungskonten
|
|
|
|
'OPEN Schleifen1rec
|
|
'FETCH NEXT FROM Schleifen1rec INTO
|
|
'@Schleifennr,
|
|
'@Schleifenkonto
|
|
|
|
'While @@FETCH_STATUS = 0
|
|
'BEGIN /* 03 */
|
|
|
|
'Set @Zaehler1 = (Select COUNT([FIBU2].dbo.fibu_periodensaldo.i_konto)
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'If ISNULL(@Zaehler1, 0) = 0
|
|
'BEGIN /* noch keine EB vorhanden */
|
|
|
|
'Set @dec_aktuellersaldo = (Select [FIBU2].dbo.fibu_konto.dec_aktuellersaldo
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @Schleifenkonto)
|
|
'If @dec_aktuellersaldo Is NULL SET @dec_aktuellersaldo = 0
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_periodensaldo (
|
|
'[FIBU2].dbo.fibu_periodensaldo.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_periodensaldo.si_jahr,
|
|
'[FIBU2].dbo.fibu_periodensaldo.i_konto,
|
|
'[FIBU2].dbo.fibu_periodensaldo.i_perioden,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_eroeff,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_abschluss,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_1,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_1,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_2,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_2,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_3,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_3,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_4,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_4,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_5,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_5,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_6,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_6,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_7,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_7,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_8,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_8,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_9,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_9,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_10,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_10,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_11,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_11,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_12,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_12,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_13,
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_13,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_eroeff,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_abschluss,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_1,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_1,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_2,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_2,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_3,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_3,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_4,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_4,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_5,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_5,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_6,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_6,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_7,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_7,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_8,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_8,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_9,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_9,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_10,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_10,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_11,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_11,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_12,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_12,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_13,
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_13,
|
|
'[FIBU2].dbo.fibu_periodensaldo.i_buchungskreis)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@Jahr,
|
|
'@Schleifenkonto,
|
|
'0,
|
|
'@dec_aktuellersaldo,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'@dec_aktuellersaldo,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'1)
|
|
|
|
'End /* noch keine EB vorhanden */
|
|
|
|
'FETCH NEXT FROM Schleifen1rec INTO
|
|
'@Schleifennr,
|
|
'@Schleifenkonto
|
|
|
|
'End /* 03 */
|
|
'CLOSE Schleifen1rec
|
|
'DEALLOCATE Schleifen1rec
|
|
|
|
|
|
'################## ------- END BUCHUNGEN------- ##################
|
|
|
|
|
|
|
|
' If ((@LKW <> '') OR (@Fahrer <> '') OR (@Passnummer <> '') OR (@AusbezahltAnFirma <> ''))
|
|
'BEGIN /* nur Rechnungsupdate bei solchen Einträgen auf Positionsebene */
|
|
'If @LKW_B = '' SET @LKW_B = @LKW
|
|
'If @Fahrer_B = '' SET @Fahrer_B = @Fahrer
|
|
'If @Passnummer_B = '' SET @Passnummer_B = @Passnummer
|
|
'If @AusbezahltAnFirma_B = '' SET @AusbezahltAnFirma_B = @AusbezahltAnFirma
|
|
|
|
'UPDATE Rechnung Set
|
|
'OWNFIELD_LKW_B = @LKW_B,
|
|
'OWNFIELD_Fahrer_B = @Fahrer_B,
|
|
'OWNFIELD_Passnummer_B = @Passnummer_B,
|
|
'OWNFIELD_AusbezahltAnFirma_B = @AusbezahltAnFirma_B
|
|
'WHERE Datum = @belegdatum And Nr = @belegnr
|
|
'End /* nur Rechnungsupdate bei solchen Einträgen auf Positionsebene */
|
|
|
|
'Set @Buchungstext_orig =
|
|
'(@Buchungstext_orig + '_' + @LKW_B + '_' + @AusbezahltAnFirma_B + '_' + @Fahrer_B + '_'
|
|
'+ @Passnummer_B)
|
|
'Set @Buchungstext = SUBSTRING(@Buchungstext_orig, 4, 48)
|
|
'Set @BuchungstextBemerkung = SUBSTRING(@Buchungstext_orig, 49, 28)
|
|
|
|
|
|
'Set @ZSzeilenr = (@ZSzeilenr + 1) /* Erster Datensatz der ersten Buchungszeile */
|
|
'Set @Buchungsbetrag_P = @P_Bruttobetrag
|
|
|
|
'If @Einzahlungsbetrag <> 0 /* bei Einzahlung und Bestandskonto im Soll */
|
|
'Set @Sollkonto2 = CAST(@Bestandskonto As Integer)
|
|
'Set @Habenkonto2 = 0 /* gilt für den ersten Datensatz der ersten Buchungszeile pro Artikel */
|
|
'Set @dec_steuerproz2 = 0
|
|
'Set @Rechnungsstatus = 0
|
|
'Set @Belegkopfbetrag = @B_Bruttobetrag
|
|
|
|
'Set @ckennsoll2 = (Select [FIBU2].dbo.fibu_konto.c_kontoart FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Sollkonto2
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
'If @ckennsoll2 Is NULL SET @ckennsoll2 = 'LE'
|
|
'Set @ckennsoll2 = 'KO'
|
|
|
|
'Set @kkennungsoll2 = (Select [FIBU2].dbo.fibu_konto.i_kennung FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Sollkonto2
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
'If @kkennungsoll2 Is NULL SET @kkennungsoll2 = 0
|
|
'Set @kkennungsoll2 = 0
|
|
|
|
'Set @ckennhab2 = (Select [FIBU2].dbo.fibu_konto.c_kontoart FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Habenkonto2
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
'Set @ckennhab2 = 'LE'
|
|
|
|
'Set @kkennunghab2 = (Select [FIBU2].dbo.fibu_konto.i_kennung FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Habenkonto2
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
'Set @kkennunghab2 = 0
|
|
|
|
|
|
'If @Auszahlungsbetrag <> 0 /* Umkehrung von Soll und Habenkonto und Betragsvorzeichenwechsel */
|
|
'BEGIN /* Auszahlung und Gutschrift */
|
|
'Set @Sollkonto2 = CAST(@Erlöskonto As Integer)
|
|
'Set @Habenkonto2 = 0
|
|
'Set @ckennhab2 = 'LE'
|
|
'Set @ckennsoll2 = 'KO'
|
|
'Set @kkennunghab2 = 0
|
|
'Set @kkennungsoll2 = 0
|
|
'Set @Buchungsbetrag_B = @B_Bruttobetrag * (-1)
|
|
'Set @Buchungsbetrag_P = @P_Bruttobetrag * (-1)
|
|
'Set @dec_steuerproz2 = @dec_steuerproz
|
|
'Set @Belegkopfbetrag = @B_Bruttobetrag * (-2)
|
|
'End /* Auszahlung und Gutschrift */
|
|
|
|
|
|
'################## ------- STAPELBUCHUNGEN------- ##################
|
|
|
|
'If @Buchungsweg = 2
|
|
'BEGIN /* Buchung in den Stapel */
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_stapel (
|
|
'[FIBU2].dbo.fibu_stapel.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_stapel_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_lfdnr,
|
|
'[FIBU2].dbo.fibu_stapel.si_zeilenr,
|
|
'[FIBU2].dbo.fibu_stapel.si_belegart,
|
|
'[FIBU2].dbo.fibu_stapel.si_splitart,
|
|
'[FIBU2].dbo.fibu_stapel.d_beleg,
|
|
'[FIBU2].dbo.fibu_stapel.d_valuta,
|
|
'[FIBU2].dbo.fibu_stapel.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_stapel.c_op_beleg,
|
|
'[FIBU2].dbo.fibu_stapel.c_buchtext,
|
|
'[FIBU2].dbo.fibu_stapel.si_jahr,
|
|
'[FIBU2].dbo.fibu_stapel.si_periode,
|
|
'[FIBU2].dbo.fibu_stapel.i_sollkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_kennungsoll,
|
|
'[FIBU2].dbo.fibu_stapel.i_kennungsoll,
|
|
'[FIBU2].dbo.fibu_stapel.i_habenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_kennunghaben,
|
|
'[FIBU2].dbo.fibu_stapel.i_kennunghaben,
|
|
'[FIBU2].dbo.fibu_stapel.dec_betrag,
|
|
'[FIBU2].dbo.fibu_stapel.c_waehrung,
|
|
'[FIBU2].dbo.fibu_stapel.dec_eigenbetrag,
|
|
'[FIBU2].dbo.fibu_stapel.eur_betrag,
|
|
'[FIBU2].dbo.fibu_stapel.i_gegenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.i_steuerart_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_steuer_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_eg_gegenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_sollhabenkz,
|
|
'[FIBU2].dbo.fibu_stapel.dec_steuer,
|
|
'[FIBU2].dbo.fibu_stapel.dec_eigensteuer,
|
|
'[FIBU2].dbo.fibu_stapel.eur_steuerbetrag,
|
|
'[FIBU2].dbo.fibu_stapel.dec_steuerproz,
|
|
'[FIBU2].dbo.fibu_stapel.i_auftragid,
|
|
'[FIBU2].dbo.fibu_stapel.i_koart_refid,
|
|
'[FIBU2].dbo.fibu_stapel.si_pruef,
|
|
'[FIBU2].dbo.fibu_stapel.c_bemerk,
|
|
'[FIBU2].dbo.fibu_stapel.i_buchungskreis,
|
|
'[FIBU2].dbo.fibu_stapel.i_bank_flags,
|
|
'[FIBU2].dbo.fibu_stapel.i_quelle_modul,
|
|
'[FIBU2].dbo.fibu_stapel.c_quelle_maske,
|
|
'[FIBU2].dbo.fibu_stapel.si_manipulation,
|
|
'[FIBU2].dbo.fibu_stapel.dt_creation,
|
|
'[FIBU2].dbo.fibu_stapel.c_protokoll_id)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@StapelAZK,
|
|
'@ZSBuchnr,
|
|
'@ZSzeilenr,
|
|
'@Belegart,
|
|
'@Splitart,
|
|
'@belegdatum,
|
|
'@belegdatum,
|
|
'@belegnrtext,
|
|
'@belegnrtext,
|
|
'@Buchungstext,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@Sollkonto2,
|
|
'@ckennsoll2,
|
|
'@kkennungsoll2,
|
|
'@Habenkonto2,
|
|
'@ckennhab2,
|
|
'@kkennunghab2,
|
|
'@Buchungsbetrag_P,
|
|
'@Waehrung,
|
|
'0,
|
|
'@Buchungsbetrag_P,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
''K',
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'@dec_steuerproz2,
|
|
'0,
|
|
'0,
|
|
'@pruef,
|
|
'@BuchungstextBemerkung,
|
|
'1,
|
|
'0,
|
|
'21,
|
|
''FlexImport',
|
|
'0,
|
|
'@dt_creation,
|
|
'@c_protokoll_id)
|
|
|
|
'End /* Buchung In den Stapel */
|
|
|
|
'################## ------- END STAPELBUCHUNGEN------- ##################
|
|
|
|
|
|
'################## ------- BUCHUNGEN------- ##################
|
|
|
|
'If @Buchungsweg = 3
|
|
'BEGIN /* Direktverbuchung */
|
|
|
|
|
|
'Set @i_beleg_refid = (Select [FIBU2].dbo.fibu_nummern.i_nummer_refid + 1
|
|
'FROM [FIBU2].dbo.fibu_nummern
|
|
'WHERE [FIBU2].dbo.fibu_nummern.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_nummern.c_nummernart Like 'Buchungsnummer')
|
|
|
|
'If @Einzahlungsbetrag <> 0
|
|
'BEGIN /* einfache Buchung */
|
|
'UPDATE [FIBU2].dbo.fibu_nummern Set
|
|
'[FIBU2].dbo.fibu_nummern.i_nummer_refid = @i_beleg_refid
|
|
'WHERE [FIBU2].dbo.fibu_nummern.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_nummern.c_nummernart Like 'Buchungsnummer'
|
|
|
|
'Set @i_op_refid = @i_beleg_refid
|
|
'Set @c_op_Typ = 'g'
|
|
'End /* einfache Buchung */
|
|
|
|
'If @Auszahlungsbetrag <> 0
|
|
'BEGIN /* doppelte Buchung mit doppeltem Nummernzählersprung */
|
|
'UPDATE [FIBU2].dbo.fibu_nummern Set
|
|
'[FIBU2].dbo.fibu_nummern.i_nummer_refid = (@i_beleg_refid + 1)
|
|
'WHERE [FIBU2].dbo.fibu_nummern.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_nummern.c_nummernart Like 'Buchungsnummer'
|
|
|
|
'Set @i_op_refid = (@i_beleg_refid + 1)
|
|
'Set @c_op_Typ = 'r'
|
|
'End /* doppelte Buchung mit doppeltem Nummernzählersprung */
|
|
|
|
|
|
'If @Positionszaehler = 1
|
|
'BEGIN /* Belegkopfinsert nur einmal pro Beleg */
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_belegkopf (
|
|
'[FIBU2].dbo.fibu_belegkopf.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_belegkopf.si_jahr,
|
|
'[FIBU2].dbo.fibu_belegkopf.si_periode,
|
|
'[FIBU2].dbo.fibu_belegkopf.i_beleg_refid,
|
|
'[FIBU2].dbo.fibu_belegkopf.d_beleg,
|
|
'[FIBU2].dbo.fibu_belegkopf.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_belegkopf.si_belegart,
|
|
'[FIBU2].dbo.fibu_belegkopf.c_buchtext,
|
|
'[FIBU2].dbo.fibu_belegkopf.dec_betrag,
|
|
'[FIBU2].dbo.fibu_belegkopf.c_waehrung,
|
|
'[FIBU2].dbo.fibu_belegkopf.dec_fremdbetrag,
|
|
'[FIBU2].dbo.fibu_belegkopf.eur_betrag,
|
|
'[FIBU2].dbo.fibu_belegkopf.i_auftragid,
|
|
'[FIBU2].dbo.fibu_belegkopf.d_gebucht,
|
|
'[FIBU2].dbo.fibu_belegkopf.c_benutzer,
|
|
'[FIBU2].dbo.fibu_belegkopf.i_buchungskreis,
|
|
'[FIBU2].dbo.fibu_belegkopf.i_quelle_modul,
|
|
'[FIBU2].dbo.fibu_belegkopf.c_quelle_maske,
|
|
'[FIBU2].dbo.fibu_belegkopf.si_manipulation,
|
|
'[FIBU2].dbo.fibu_belegkopf.i_stapel_refid,
|
|
'[FIBU2].dbo.fibu_belegkopf.c_protokoll_id)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@i_beleg_refid,
|
|
'@gDatumKurz,
|
|
'@belegnrtext,
|
|
'@Belegart,
|
|
'@Buchungstext,
|
|
'@Belegkopfbetrag,
|
|
'@Waehrung,
|
|
'@Belegkopfbetrag,
|
|
'@Belegkopfbetrag,
|
|
'0,
|
|
'@dt_creation,
|
|
'@Benutzer,
|
|
'1,
|
|
'21,
|
|
''Fleximport',
|
|
'0,
|
|
'2,
|
|
'@c_protokoll_id)
|
|
|
|
'End /* Belegkopfinsert nur einmal pro Beleg */
|
|
|
|
|
|
'Set @ckennsoll2 = 'KO' /* erste Buchungszeile */
|
|
'Set @c_sollhabenkz = 'S'
|
|
|
|
'If @Einzahlungsbetrag <> 0
|
|
'BEGIN /* Einzahlung */
|
|
'Set @Sollkonto2 = CAST(@Bestandskonto As Integer)
|
|
'Set @Habenkonto2 = CAST(@Kontonummer As Integer)
|
|
|
|
'Set @dec_sollsumme = (Select OWNFIELD_Soll FROM OWNTABLE_Verbuchungskonten
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2)
|
|
|
|
'UPDATE OWNTABLE_Verbuchungskonten Set
|
|
'OWNFIELD_Soll = (@dec_sollsumme + @P_Bruttobetrag)
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2
|
|
'End /* Einzahlung */
|
|
|
|
|
|
'Else BEGIN /* Auszahlung */
|
|
'Set @Sollkonto2 = CAST(@Erlöskonto As Integer)
|
|
'Set @Habenkonto2 = 0
|
|
|
|
'Set @dec_sollsumme = (Select OWNFIELD_Soll FROM OWNTABLE_Verbuchungskonten
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2)
|
|
|
|
'UPDATE OWNTABLE_Verbuchungskonten Set
|
|
'OWNFIELD_Soll = (@dec_sollsumme + @P_Bruttobetrag * (-1))
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2
|
|
'End /* Auszahlung */
|
|
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_belegzeile (
|
|
'[FIBU2].dbo.fibu_belegzeile.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_jahr,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_rel_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_beleg_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_zeilen_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_kennung,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_konto,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_sollhabenkz,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_steuer_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_gegenkonto,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_waehrung,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_fremdbetrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.eur_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_beleg,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_gebucht,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_belegart,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_buchtext,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_buchungskreis)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@relPeriode,
|
|
'@i_beleg_refid,
|
|
'@ZSzeilenr,
|
|
'@ckennsoll2,
|
|
'@Sollkonto2,
|
|
'@c_sollhabenkz,
|
|
'0,
|
|
'@Habenkonto2,
|
|
'@Buchungsbetrag_P,
|
|
'@Waehrung,
|
|
'@Buchungsbetrag_P,
|
|
'@Buchungsbetrag_P,
|
|
'@gDatumKurz,
|
|
'@gDatumKurz,
|
|
'@belegnrtext,
|
|
'@Belegart,
|
|
'@Buchungstext,
|
|
'1)
|
|
|
|
'End /* Direktverbuchung */
|
|
|
|
'################## ------- END BUCHUNGEN------- ##################
|
|
|
|
|
|
'################## ------- STAPELBUCHUNGEN------- ##################
|
|
|
|
|
|
'If @Auszahlungsbetrag <> 0
|
|
'BEGIN /* bei Auszahlung die zweite Datenzeile zur ersten Bestandskontobuchung */
|
|
|
|
|
|
'Set @ZSzeilenr = (@ZSzeilenr + 1) /* für die zweite Buchungszeile */
|
|
|
|
|
|
'If @Buchungsweg = 2
|
|
'BEGIN /* Stapelverbuchung */
|
|
|
|
|
|
'Set @Sollkonto2 = 0
|
|
'Set @Habenkonto2 = CAST(@Bestandskonto As Integer)
|
|
'Set @ckennhab2 = 'KO'
|
|
'Set @ckennsoll2 = 'LE'
|
|
'Set @kkennunghab2 = 0
|
|
'Set @kkennungsoll2 = 0
|
|
'Set @dec_steuerproz2 = 0
|
|
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_stapel (
|
|
'[FIBU2].dbo.fibu_stapel.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_stapel_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_lfdnr,
|
|
'[FIBU2].dbo.fibu_stapel.si_zeilenr,
|
|
'[FIBU2].dbo.fibu_stapel.si_belegart,
|
|
'[FIBU2].dbo.fibu_stapel.si_splitart,
|
|
'[FIBU2].dbo.fibu_stapel.d_beleg,
|
|
'[FIBU2].dbo.fibu_stapel.d_valuta,
|
|
'[FIBU2].dbo.fibu_stapel.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_stapel.c_op_beleg,
|
|
'[FIBU2].dbo.fibu_stapel.c_buchtext,
|
|
'[FIBU2].dbo.fibu_stapel.si_jahr,
|
|
'[FIBU2].dbo.fibu_stapel.si_periode,
|
|
'[FIBU2].dbo.fibu_stapel.i_sollkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_kennungsoll,
|
|
'[FIBU2].dbo.fibu_stapel.i_kennungsoll,
|
|
'[FIBU2].dbo.fibu_stapel.i_habenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_kennunghaben,
|
|
'[FIBU2].dbo.fibu_stapel.i_kennunghaben,
|
|
'[FIBU2].dbo.fibu_stapel.dec_betrag,
|
|
'[FIBU2].dbo.fibu_stapel.c_waehrung,
|
|
'[FIBU2].dbo.fibu_stapel.dec_eigenbetrag,
|
|
'[FIBU2].dbo.fibu_stapel.eur_betrag,
|
|
'[FIBU2].dbo.fibu_stapel.i_gegenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.i_steuerart_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_steuer_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_eg_gegenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_sollhabenkz,
|
|
'[FIBU2].dbo.fibu_stapel.dec_steuer,
|
|
'[FIBU2].dbo.fibu_stapel.dec_eigensteuer,
|
|
'[FIBU2].dbo.fibu_stapel.eur_steuerbetrag,
|
|
'[FIBU2].dbo.fibu_stapel.dec_steuerproz,
|
|
'[FIBU2].dbo.fibu_stapel.i_auftragid,
|
|
'[FIBU2].dbo.fibu_stapel.i_koart_refid,
|
|
'[FIBU2].dbo.fibu_stapel.si_pruef,
|
|
'[FIBU2].dbo.fibu_stapel.c_bemerk,
|
|
'[FIBU2].dbo.fibu_stapel.i_buchungskreis,
|
|
'[FIBU2].dbo.fibu_stapel.i_bank_flags,
|
|
'[FIBU2].dbo.fibu_stapel.i_quelle_modul,
|
|
'[FIBU2].dbo.fibu_stapel.c_quelle_maske,
|
|
'[FIBU2].dbo.fibu_stapel.si_manipulation,
|
|
'[FIBU2].dbo.fibu_stapel.dt_creation,
|
|
'[FIBU2].dbo.fibu_stapel.c_protokoll_id)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@StapelAZK,
|
|
'@ZSBuchnr,
|
|
'@ZSzeilenr,
|
|
'@Belegart,
|
|
'@Splitart,
|
|
'@belegdatum,
|
|
'@belegdatum,
|
|
'@belegnrtext,
|
|
'@belegnrtext,
|
|
'@Buchungstext,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@Sollkonto2,
|
|
'@ckennsoll2,
|
|
'@kkennungsoll2,
|
|
'@Habenkonto2,
|
|
'@ckennhab2,
|
|
'@kkennunghab2,
|
|
'@Buchungsbetrag_P,
|
|
'@Waehrung,
|
|
'0,
|
|
'@Buchungsbetrag_P,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
''K',
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'@dec_steuerproz2,
|
|
'0,
|
|
'0,
|
|
'@pruef,
|
|
'@BuchungstextBemerkung,
|
|
'1,
|
|
'0,
|
|
'21,
|
|
''FlexImport',
|
|
'0,
|
|
'@dt_creation,
|
|
'@c_protokoll_id)
|
|
|
|
'End /* Stapelverbuchung */
|
|
|
|
'################## -------END STAPELBUCHUNGEN------- ##################
|
|
|
|
|
|
'If @Buchungsweg = 3
|
|
'BEGIN /* Direktverbuchung der zweiten Datenzeile */
|
|
|
|
'Set @Sollkonto2 = CAST(@Bestandskonto As Integer)
|
|
'Set @Habenkonto2 = 0
|
|
|
|
'Set @ckennsoll2 = 'KO'
|
|
'Set @c_sollhabenkz = 'H'
|
|
|
|
|
|
'Set @dec_habensumme = (Select OWNFIELD_Haben FROM OWNTABLE_Verbuchungskonten
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2)
|
|
|
|
'UPDATE OWNTABLE_Verbuchungskonten Set
|
|
'OWNFIELD_Haben = (@dec_habensumme + @P_Bruttobetrag * (-1))
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2
|
|
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_belegzeile (
|
|
'[FIBU2].dbo.fibu_belegzeile.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_jahr,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_rel_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_beleg_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_zeilen_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_kennung,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_konto,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_sollhabenkz,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_steuer_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_gegenkonto,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_waehrung,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_fremdbetrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.eur_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_beleg,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_gebucht,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_belegart,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_buchtext,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_buchungskreis)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@relPeriode,
|
|
'@i_beleg_refid,
|
|
'@ZSzeilenr,
|
|
'@ckennsoll2,
|
|
'@Sollkonto2,
|
|
'@c_sollhabenkz,
|
|
'0,
|
|
'@Habenkonto2,
|
|
'@Buchungsbetrag_P,
|
|
'@Waehrung,
|
|
'@Buchungsbetrag_P,
|
|
'@Buchungsbetrag_P,
|
|
'@gDatumKurz,
|
|
'@gDatumKurz,
|
|
'@belegnrtext,
|
|
'@Belegart,
|
|
'@Buchungstext,
|
|
'1)
|
|
|
|
'End /* Direktverbuchung der zweiten Datenzeile */
|
|
|
|
'End /* bei Auszahlung die zweite Datenzeile zur Bestandskontobuchung */
|
|
|
|
|
|
'FETCH NEXT FROM lc_ProjekteRec INTO
|
|
'@Positionszaehler,
|
|
'@P_Nettobetrag,
|
|
'@P_Bruttobetrag,
|
|
'@dec_steuerproz,
|
|
'@LKW,
|
|
'@Fahrer,
|
|
'@Passnummer,
|
|
'@AusbezahltAnFirma,
|
|
'@Erlöskonto,
|
|
'@Bestandskonto,
|
|
'@LKW_B,
|
|
'@Fahrer_B,
|
|
'@Passnummer_B,
|
|
'@AusbezahltAnFirma_B,
|
|
'@Waehrungsnr,
|
|
'@Umrechnungsfaktor
|
|
|
|
'End /* 03 */
|
|
'CLOSE lc_ProjekteRec
|
|
'DEALLOCATE lc_ProjekteRec
|
|
|
|
|
|
|
|
' Set @ZSzeilenr = (@ZSzeilenr + 1)
|
|
|
|
|
|
|
|
'If @Auszahlungsbetrag <> 0
|
|
'BEGIN /* Auszahlung und erster Datensatz der zweiten Buchungszeile */
|
|
|
|
'Set @Sollkonto = CAST(@Kontonummer As Integer)
|
|
'Set @Habenkonto = 0
|
|
'Set @ckennhab = 'LE'
|
|
'Set @ckennsoll = 'DE'
|
|
'Set @kkennunghab = 0
|
|
'Set @kkennungsoll = 0
|
|
'Set @dec_steuerproz2 = NULL
|
|
|
|
'End /* Auszahlung und erster Datensatz der zweiten Buchungszeile */
|
|
|
|
|
|
'Else BEGIN /* zweiter Datensatz der ersten Buchungszeile */
|
|
|
|
'Set @Sollkonto = 0
|
|
'Set @Habenkonto = CAST(@Kontonummer As Integer)
|
|
'Set @ckennhab = 'DE'
|
|
'Set @ckennsoll = 'LE'
|
|
'Set @kkennunghab = 0
|
|
'Set @kkennungsoll = 0
|
|
'Set @dec_steuerproz2 = NULL
|
|
|
|
'End /* zweiter Datensatz der ersten Buchungszeile */
|
|
|
|
|
|
|
|
|
|
'If @Buchungsweg = 2
|
|
'BEGIN /* Stapelverbuchung */
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_stapel (
|
|
'[FIBU2].dbo.fibu_stapel.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_stapel_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_lfdnr,
|
|
'[FIBU2].dbo.fibu_stapel.si_zeilenr,
|
|
'[FIBU2].dbo.fibu_stapel.si_belegart,
|
|
'[FIBU2].dbo.fibu_stapel.si_splitart,
|
|
'[FIBU2].dbo.fibu_stapel.d_beleg,
|
|
'[FIBU2].dbo.fibu_stapel.d_valuta,
|
|
'[FIBU2].dbo.fibu_stapel.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_stapel.c_op_beleg,
|
|
'[FIBU2].dbo.fibu_stapel.c_buchtext,
|
|
'[FIBU2].dbo.fibu_stapel.si_jahr,
|
|
'[FIBU2].dbo.fibu_stapel.si_periode,
|
|
'[FIBU2].dbo.fibu_stapel.i_sollkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_kennungsoll,
|
|
'[FIBU2].dbo.fibu_stapel.i_kennungsoll,
|
|
'[FIBU2].dbo.fibu_stapel.i_habenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_kennunghaben,
|
|
'[FIBU2].dbo.fibu_stapel.i_kennunghaben,
|
|
'[FIBU2].dbo.fibu_stapel.dec_betrag,
|
|
'[FIBU2].dbo.fibu_stapel.c_waehrung,
|
|
'[FIBU2].dbo.fibu_stapel.dec_eigenbetrag,
|
|
'[FIBU2].dbo.fibu_stapel.eur_betrag,
|
|
'[FIBU2].dbo.fibu_stapel.i_gegenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.i_steuerart_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_steuer_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_eg_gegenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_sollhabenkz,
|
|
'[FIBU2].dbo.fibu_stapel.dec_steuer,
|
|
'[FIBU2].dbo.fibu_stapel.dec_eigensteuer,
|
|
'[FIBU2].dbo.fibu_stapel.eur_steuerbetrag,
|
|
'[FIBU2].dbo.fibu_stapel.dec_steuerproz,
|
|
'[FIBU2].dbo.fibu_stapel.i_auftragid,
|
|
'[FIBU2].dbo.fibu_stapel.i_koart_refid,
|
|
'[FIBU2].dbo.fibu_stapel.si_pruef,
|
|
'[FIBU2].dbo.fibu_stapel.c_bemerk,
|
|
'[FIBU2].dbo.fibu_stapel.i_buchungskreis,
|
|
'[FIBU2].dbo.fibu_stapel.i_bank_flags,
|
|
'[FIBU2].dbo.fibu_stapel.i_quelle_modul,
|
|
'[FIBU2].dbo.fibu_stapel.c_quelle_maske,
|
|
'[FIBU2].dbo.fibu_stapel.si_manipulation,
|
|
'[FIBU2].dbo.fibu_stapel.dt_creation,
|
|
'[FIBU2].dbo.fibu_stapel.c_protokoll_id)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@StapelAZK,
|
|
'@ZSBuchnr,
|
|
'@ZSzeilenr,
|
|
'@Belegart,
|
|
'@Splitart,
|
|
'@belegdatum,
|
|
'@belegdatum,
|
|
'@belegnrtext,
|
|
'@belegnrtext,
|
|
'@Buchungstext,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@Sollkonto,
|
|
'@ckennsoll,
|
|
'@kkennungsoll,
|
|
'@Habenkonto,
|
|
'@ckennhab,
|
|
'@kkennunghab,
|
|
'@Buchungsbetrag_B,
|
|
'@Waehrung,
|
|
'0,
|
|
'@Buchungsbetrag_B,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
''K',
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'@dec_steuerproz2,
|
|
'0,
|
|
'0,
|
|
'@pruef,
|
|
'@BuchungstextBemerkung,
|
|
'1,
|
|
'0,
|
|
'21,
|
|
''FlexImport',
|
|
'0,
|
|
'@dt_creation,
|
|
'@c_protokoll_id)
|
|
|
|
'End /* Stapelverbuchung */
|
|
|
|
|
|
'If @Buchungsweg = 3
|
|
'BEGIN /* Direktverbuchung der Kundenbuchung */
|
|
|
|
'If @Einzahlungsbetrag <> 0
|
|
'BEGIN /* zweite Buchungszeile */
|
|
'Set @Sollkonto2 = CAST(@Kontonummer As Integer)
|
|
'Set @Habenkonto2 = CAST(@Bestandskonto As Integer)
|
|
'Set @ckennsoll2 = 'DE'
|
|
'Set @c_sollhabenkz = 'H'
|
|
|
|
'Set @dec_habensumme = (Select OWNFIELD_Haben FROM OWNTABLE_Verbuchungskonten
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2)
|
|
|
|
'UPDATE OWNTABLE_Verbuchungskonten Set
|
|
'OWNFIELD_Haben = (@dec_habensumme + @B_Bruttobetrag)
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2
|
|
'End /* zweite Buchungszeile */
|
|
|
|
'If @Auszahlungsbetrag <> 0
|
|
'BEGIN /* dritte Buchungszeile */
|
|
'Set @Sollkonto2 = CAST(@Kontonummer As Integer)
|
|
'Set @Habenkonto2 = 0
|
|
'Set @ckennsoll2 = 'DE'
|
|
'Set @c_sollhabenkz = 'S'
|
|
|
|
'Set @dec_sollsumme = (Select OWNFIELD_Soll FROM OWNTABLE_Verbuchungskonten
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2)
|
|
|
|
'UPDATE OWNTABLE_Verbuchungskonten Set
|
|
'OWNFIELD_Soll = (@dec_sollsumme + @B_Bruttobetrag * (-1))
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2
|
|
'End /* dritte Buchungszeile */
|
|
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_belegzeile (
|
|
'[FIBU2].dbo.fibu_belegzeile.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_jahr,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_rel_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_beleg_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_zeilen_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_kennung,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_konto,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_sollhabenkz,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_steuer_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_gegenkonto,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_waehrung,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_fremdbetrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.eur_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_beleg,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_gebucht,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_belegart,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_buchtext,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_buchungskreis)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@relPeriode,
|
|
'@i_beleg_refid,
|
|
'@ZSzeilenr,
|
|
'@ckennsoll2,
|
|
'@Sollkonto2,
|
|
'@c_sollhabenkz,
|
|
'0,
|
|
'@Habenkonto2,
|
|
'@Buchungsbetrag_B,
|
|
'@Waehrung,
|
|
'@Buchungsbetrag_B,
|
|
'@Buchungsbetrag_B,
|
|
'@gDatumKurz,
|
|
'@gDatumKurz,
|
|
'@belegnrtext,
|
|
'@Belegart,
|
|
'@Buchungstext,
|
|
'1)
|
|
|
|
|
|
'End /* Direktverbuchung der Kundenbuchung */
|
|
|
|
|
|
'Set @ZSzeilenr = (@ZSzeilenr + 1)
|
|
|
|
|
|
'If ((@Auszahlungsbetrag <> 0) And (@Buchungsweg = 2))
|
|
'BEGIN /* Auszahlung und zweiter Datensatz der zweiten Stapel Buchungszeile */
|
|
|
|
'Set @Sollkonto = 0
|
|
'Set @Habenkonto = CAST(@Erlöskonto As Integer)
|
|
'Set @ckennhab = 'KO'
|
|
'Set @ckennsoll = 'LE'
|
|
'Set @kkennunghab = 0
|
|
'Set @kkennungsoll = 0
|
|
'Set @dec_steuerproz2 = @dec_steuerproz
|
|
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_stapel (
|
|
'[FIBU2].dbo.fibu_stapel.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_stapel_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_lfdnr,
|
|
'[FIBU2].dbo.fibu_stapel.si_zeilenr,
|
|
'[FIBU2].dbo.fibu_stapel.si_belegart,
|
|
'[FIBU2].dbo.fibu_stapel.si_splitart,
|
|
'[FIBU2].dbo.fibu_stapel.d_beleg,
|
|
'[FIBU2].dbo.fibu_stapel.d_valuta,
|
|
'[FIBU2].dbo.fibu_stapel.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_stapel.c_op_beleg,
|
|
'[FIBU2].dbo.fibu_stapel.c_buchtext,
|
|
'[FIBU2].dbo.fibu_stapel.si_jahr,
|
|
'[FIBU2].dbo.fibu_stapel.si_periode,
|
|
'[FIBU2].dbo.fibu_stapel.i_sollkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_kennungsoll,
|
|
'[FIBU2].dbo.fibu_stapel.i_kennungsoll,
|
|
'[FIBU2].dbo.fibu_stapel.i_habenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_kennunghaben,
|
|
'[FIBU2].dbo.fibu_stapel.i_kennunghaben,
|
|
'[FIBU2].dbo.fibu_stapel.dec_betrag,
|
|
'[FIBU2].dbo.fibu_stapel.c_waehrung,
|
|
'[FIBU2].dbo.fibu_stapel.dec_eigenbetrag,
|
|
'[FIBU2].dbo.fibu_stapel.eur_betrag,
|
|
'[FIBU2].dbo.fibu_stapel.i_gegenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.i_steuerart_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_steuer_refid,
|
|
'[FIBU2].dbo.fibu_stapel.i_eg_gegenkonto,
|
|
'[FIBU2].dbo.fibu_stapel.c_sollhabenkz,
|
|
'[FIBU2].dbo.fibu_stapel.dec_steuer,
|
|
'[FIBU2].dbo.fibu_stapel.dec_eigensteuer,
|
|
'[FIBU2].dbo.fibu_stapel.eur_steuerbetrag,
|
|
'[FIBU2].dbo.fibu_stapel.dec_steuerproz,
|
|
'[FIBU2].dbo.fibu_stapel.i_auftragid,
|
|
'[FIBU2].dbo.fibu_stapel.i_koart_refid,
|
|
'[FIBU2].dbo.fibu_stapel.si_pruef,
|
|
'[FIBU2].dbo.fibu_stapel.c_bemerk,
|
|
'[FIBU2].dbo.fibu_stapel.i_buchungskreis,
|
|
'[FIBU2].dbo.fibu_stapel.i_bank_flags,
|
|
'[FIBU2].dbo.fibu_stapel.i_quelle_modul,
|
|
'[FIBU2].dbo.fibu_stapel.c_quelle_maske,
|
|
'[FIBU2].dbo.fibu_stapel.si_manipulation,
|
|
'[FIBU2].dbo.fibu_stapel.dt_creation,
|
|
'[FIBU2].dbo.fibu_stapel.c_protokoll_id)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@StapelAZK,
|
|
'@ZSBuchnr,
|
|
'@ZSzeilenr,
|
|
'@Belegart,
|
|
'@Splitart,
|
|
'@belegdatum,
|
|
'@belegdatum,
|
|
'@belegnrtext,
|
|
'@belegnrtext,
|
|
'@Buchungstext,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@Sollkonto,
|
|
'@ckennsoll,
|
|
'@kkennungsoll,
|
|
'@Habenkonto,
|
|
'@ckennhab,
|
|
'@kkennunghab,
|
|
'@Buchungsbetrag_B,
|
|
'@Waehrung,
|
|
'0,
|
|
'@Buchungsbetrag_B,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
''K',
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'@dec_steuerproz2,
|
|
'0,
|
|
'0,
|
|
'@pruef,
|
|
'@BuchungstextBemerkung,
|
|
'1,
|
|
'0,
|
|
'21,
|
|
''FlexImport',
|
|
'0,
|
|
'@dt_creation,
|
|
'@c_protokoll_id)
|
|
|
|
|
|
'End /* Auszahlung und zweiter Datensatz der zweiten Stapel Buchungszeile */
|
|
|
|
|
|
|
|
'If @Buchungsweg = 3
|
|
'BEGIN /* Direktverbuchung der Sammelkundenbuchung */
|
|
|
|
'Set @c_sprache = (Select [FIBU2].dbo.fibu_konto.c_sprache FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Sollkonto2
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
|
|
'Set @c_ustidnr = (Select [FIBU2].dbo.fibu_konto.c_ustidnr FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Sollkonto2
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
|
|
'Set @c_zahlziel = (Select [FIBU2].dbo.fibu_konto.c_zahlziel FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_konto = @Sollkonto2
|
|
'And [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr)
|
|
|
|
'Set @Skontotage = (Select [FIBU2].dbo.fibu_zahlziel.si_tage FROM [FIBU2].dbo.fibu_zahlziel
|
|
'WHERE [FIBU2].dbo.fibu_zahlziel.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_zahlziel.c_zahlziel Like @c_zahlziel)
|
|
'If @Skontotage Is NULL SET @Skontotage = 0
|
|
|
|
'Set @Skonto = (Select [FIBU2].dbo.fibu_zahlziel.dec_skonto FROM [FIBU2].dbo.fibu_zahlziel
|
|
'WHERE [FIBU2].dbo.fibu_zahlziel.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_zahlziel.c_zahlziel Like @c_zahlziel)
|
|
'If @Skonto Is NULL SET @Skonto = 0
|
|
|
|
'Set @Nettotage = (Select [FIBU2].dbo.fibu_zahlziel.si_ntage FROM [FIBU2].dbo.fibu_zahlziel
|
|
'WHERE [FIBU2].dbo.fibu_zahlziel.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_zahlziel.c_zahlziel Like @c_zahlziel)
|
|
'If @Nettotage Is NULL SET @Nettotage = 0
|
|
|
|
'Set @Skontodatum = DATEADD(DAY, @Skontotage, @gDatumKurz)
|
|
'Set @Nettodatum = DATEADD(DAY, @Nettotage, @gDatumKurz)
|
|
|
|
|
|
'If @Einzahlungsbetrag <> 0
|
|
'BEGIN /* dritte Buchungszeile */
|
|
'Set @Sollkonto2 = @i_fordkto
|
|
'Set @Habenkonto2 = CAST(@Bestandskonto As Integer)
|
|
'Set @ckennsoll2 = 'DB'
|
|
'Set @c_sollhabenkz = 'H'
|
|
|
|
'Set @dec_habensumme = (Select OWNFIELD_Haben FROM OWNTABLE_Verbuchungskonten
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2)
|
|
|
|
'UPDATE OWNTABLE_Verbuchungskonten Set
|
|
'OWNFIELD_Haben = (@dec_habensumme + @B_Bruttobetrag)
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2
|
|
'End /* dritte Buchungszeile */
|
|
|
|
'If @Auszahlungsbetrag <> 0
|
|
'BEGIN /* vierte Buchungszeile */
|
|
'Set @Sollkonto2 = @i_fordkto
|
|
'Set @Habenkonto2 = 0
|
|
'Set @ckennsoll2 = 'DB'
|
|
'Set @c_sollhabenkz = 'S'
|
|
|
|
'Set @dec_sollsumme = (Select OWNFIELD_Soll FROM OWNTABLE_Verbuchungskonten
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2)
|
|
|
|
'UPDATE OWNTABLE_Verbuchungskonten Set
|
|
'OWNFIELD_Soll = (@dec_sollsumme + @B_Bruttobetrag * (-1))
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2
|
|
'End /* vierte Buchungszeile */
|
|
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_belegzeile (
|
|
'[FIBU2].dbo.fibu_belegzeile.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_jahr,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_rel_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_beleg_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_zeilen_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_kennung,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_konto,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_sollhabenkz,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_steuer_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_gegenkonto,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_waehrung,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_fremdbetrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.eur_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_beleg,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_gebucht,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_belegart,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_buchtext,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_buchungskreis)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@relPeriode,
|
|
'@i_beleg_refid,
|
|
'@ZSzeilenr,
|
|
'@ckennsoll2,
|
|
'@Sollkonto2,
|
|
'@c_sollhabenkz,
|
|
'0,
|
|
'@Habenkonto2,
|
|
'@Buchungsbetrag_B,
|
|
'@Waehrung,
|
|
'@Buchungsbetrag_B,
|
|
'@Buchungsbetrag_B,
|
|
'@gDatumKurz,
|
|
'@gDatumKurz,
|
|
'@belegnrtext,
|
|
'@Belegart,
|
|
'@Buchungstext,
|
|
'1)
|
|
|
|
'End /* Direktverbuchung der Sammelkundenbuchung */
|
|
|
|
|
|
|
|
'Set @ZSzeilenr = (@ZSzeilenr + 1)
|
|
|
|
|
|
'If ((@Buchungsweg = 3) And (@Auszahlungsbetrag <> 0))
|
|
'BEGIN /* fünfte Buchungszeile bei Auszahlung und Direktverbuchung */
|
|
|
|
'Set @Sollkonto2 = CAST(@Erlöskonto As Integer)
|
|
'Set @Habenkonto2 = 0
|
|
'Set @ckennsoll2 = 'KO'
|
|
'Set @c_sollhabenkz = 'H'
|
|
|
|
'Set @dec_habensumme = (Select OWNFIELD_Haben FROM OWNTABLE_Verbuchungskonten
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2)
|
|
|
|
'UPDATE OWNTABLE_Verbuchungskonten Set
|
|
'OWNFIELD_Haben = (@dec_habensumme + @B_Bruttobetrag * (-1))
|
|
'WHERE OWNFIELD_Konto = @Sollkonto2
|
|
|
|
|
|
'INSERT INTO [FIBU2].dbo.fibu_belegzeile (
|
|
'[FIBU2].dbo.fibu_belegzeile.i_firm_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_jahr,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_rel_periode,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_beleg_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_zeilen_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_kennung,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_konto,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_sollhabenkz,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_steuer_refid,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_gegenkonto,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_waehrung,
|
|
'[FIBU2].dbo.fibu_belegzeile.dec_fremdbetrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.eur_betrag,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_beleg,
|
|
'[FIBU2].dbo.fibu_belegzeile.d_gebucht,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_urbelegid,
|
|
'[FIBU2].dbo.fibu_belegzeile.si_belegart,
|
|
'[FIBU2].dbo.fibu_belegzeile.c_buchtext,
|
|
'[FIBU2].dbo.fibu_belegzeile.i_buchungskreis)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@Jahr,
|
|
'@Periode,
|
|
'@relPeriode,
|
|
'@i_beleg_refid,
|
|
'@ZSzeilenr,
|
|
'@ckennsoll2,
|
|
'@Sollkonto2,
|
|
'@c_sollhabenkz,
|
|
'0,
|
|
'@Habenkonto2,
|
|
'@Buchungsbetrag_B,
|
|
'@Waehrung,
|
|
'@Buchungsbetrag_B,
|
|
'@Buchungsbetrag_B,
|
|
'@gDatumKurz,
|
|
'@gDatumKurz,
|
|
'@belegnrtext,
|
|
'@Belegart,
|
|
'@Buchungstext,
|
|
'1)
|
|
|
|
'End /* fünfte Buchungszeile bei Auszahlung und Direktverbuchung */
|
|
|
|
|
|
|
|
'If @Buchungsweg = 3
|
|
'BEGIN /* Fortsetzung bei Direktverbuchung */
|
|
|
|
|
|
'Set @updatekonto = @i_fordkto
|
|
|
|
'Set @dec_aktuellersaldo = (Select [FIBU2].dbo.fibu_konto.dec_aktuellersaldo
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @dec_sollsumme = (Select [FIBU2].dbo.fibu_konto.dec_sollsumme
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @dec_habensumme = (Select [FIBU2].dbo.fibu_konto.dec_habensumme
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @eur_aktuellersaldo = (Select [FIBU2].dbo.fibu_konto.eur_aktuellersaldo
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'If @Einzahlungsbetrag <> 0
|
|
'BEGIN /* Einzahlung */
|
|
'Set @dec_aktuellersaldo = (@dec_aktuellersaldo - @B_Bruttobetrag)
|
|
'Set @dec_sollsumme = (@dec_sollsumme - 0)
|
|
'Set @dec_habensumme = (@dec_habensumme + @B_Bruttobetrag)
|
|
'Set @eur_aktuellersaldo = (@eur_aktuellersaldo - @B_Bruttobetrag)
|
|
'End /* Einzahlung */
|
|
'Else BEGIN /* Auszahlung */
|
|
'Set @dec_aktuellersaldo = (@dec_aktuellersaldo - @B_Bruttobetrag)
|
|
'Set @dec_sollsumme = (@dec_sollsumme - @B_Bruttobetrag)
|
|
'Set @dec_habensumme = (@dec_habensumme + 0)
|
|
'Set @eur_aktuellersaldo = (@eur_aktuellersaldo - @B_Bruttobetrag)
|
|
'End /* Auszahlung */
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_konto Set
|
|
'd_lebudat = @gDatumKurz,
|
|
'dec_aktuellersaldo = @dec_aktuellersaldo,
|
|
'dec_sollsumme = @dec_sollsumme,
|
|
'dec_habensumme = @dec_habensumme,
|
|
'eur_aktuellersaldo = @eur_aktuellersaldo
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto
|
|
|
|
|
|
|
|
'Set @updatekonto = CAST(@Bestandskonto As Integer)
|
|
'Set @i_Sachkonto = @updatekonto
|
|
|
|
'Set @dec_aktuellersaldo = (Select [FIBU2].dbo.fibu_konto.dec_aktuellersaldo
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @dec_sollsumme = (Select [FIBU2].dbo.fibu_konto.dec_sollsumme
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @dec_habensumme = (Select [FIBU2].dbo.fibu_konto.dec_habensumme
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @eur_aktuellersaldo = (Select [FIBU2].dbo.fibu_konto.eur_aktuellersaldo
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'If @Einzahlungsbetrag <> 0
|
|
'BEGIN /* Einzahlung */
|
|
'Set @dec_aktuellersaldo = (@dec_aktuellersaldo + @B_Bruttobetrag)
|
|
'Set @dec_sollsumme = (@dec_sollsumme + @B_Bruttobetrag)
|
|
'Set @dec_habensumme = (@dec_habensumme + 0)
|
|
'Set @eur_aktuellersaldo = (@eur_aktuellersaldo + @B_Bruttobetrag)
|
|
'End /* Einzahlung */
|
|
'Else BEGIN /* Auszahlung */
|
|
'Set @dec_aktuellersaldo = (@dec_aktuellersaldo + @B_Bruttobetrag)
|
|
'Set @dec_sollsumme = (@dec_sollsumme - 0)
|
|
'Set @dec_habensumme = (@dec_habensumme - @B_Bruttobetrag)
|
|
'Set @eur_aktuellersaldo = (@eur_aktuellersaldo + @B_Bruttobetrag)
|
|
'End /* Auszahlung */
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_konto Set
|
|
'd_lebudat = @gDatumKurz,
|
|
'dec_aktuellersaldo = @dec_aktuellersaldo,
|
|
'dec_sollsumme = @dec_sollsumme,
|
|
'dec_habensumme = @dec_habensumme,
|
|
'eur_aktuellersaldo = @eur_aktuellersaldo
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto
|
|
|
|
|
|
|
|
'If @Auszahlungsbetrag <> 0
|
|
'BEGIN /* Erlöskonto bei Auszahlung */
|
|
|
|
'Set @updatekonto = CAST(@Erlöskonto As Integer)
|
|
'Set @i_Sachkonto = @updatekonto
|
|
|
|
'Set @dec_sollsumme = (Select [FIBU2].dbo.fibu_konto.dec_sollsumme
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @dec_habensumme = (Select [FIBU2].dbo.fibu_konto.dec_habensumme
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @dec_sollsumme = (@dec_sollsumme - @B_Bruttobetrag)
|
|
'Set @dec_habensumme = (@dec_habensumme - @B_Bruttobetrag)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_konto Set
|
|
'd_lebudat = @gDatumKurz,
|
|
'dec_sollsumme = @dec_sollsumme,
|
|
'dec_habensumme = @dec_habensumme
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto
|
|
|
|
'End /* Erlöskonto bei Auszahlung */
|
|
|
|
|
|
|
|
'Set @updatekonto = CAST(@Kontonummer As Integer)
|
|
|
|
'Set @dec_aktuellersaldo = (Select [FIBU2].dbo.fibu_konto.dec_aktuellersaldo
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @dec_sollsumme = (Select [FIBU2].dbo.fibu_konto.dec_sollsumme
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @dec_habensumme = (Select [FIBU2].dbo.fibu_konto.dec_habensumme
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'Set @eur_aktuellersaldo = (Select [FIBU2].dbo.fibu_konto.eur_aktuellersaldo
|
|
'FROM [FIBU2].dbo.fibu_konto
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto)
|
|
|
|
'If @Einzahlungsbetrag <> 0
|
|
'BEGIN /* Einzahlung */
|
|
'Set @dec_aktuellersaldo = (@dec_aktuellersaldo - @B_Bruttobetrag)
|
|
'Set @dec_sollsumme = (@dec_sollsumme + 0)
|
|
'Set @dec_habensumme = (@dec_habensumme + @B_Bruttobetrag)
|
|
'Set @eur_aktuellersaldo = (@eur_aktuellersaldo - @B_Bruttobetrag)
|
|
'Set @opvorgangsbetrag = @B_Bruttobetrag * (-1)
|
|
'End /* Einzahlung */
|
|
'Else BEGIN /* Auszahlung */
|
|
'Set @dec_aktuellersaldo = (@dec_aktuellersaldo - @B_Bruttobetrag)
|
|
'Set @dec_sollsumme = (@dec_sollsumme - @B_Bruttobetrag)
|
|
'Set @dec_habensumme = (@dec_habensumme - 0)
|
|
'Set @eur_aktuellersaldo = (@eur_aktuellersaldo - @B_Bruttobetrag)
|
|
'Set @opvorgangsbetrag = @B_Bruttobetrag * (-1) / CAST(2 As FLOAT)
|
|
'End /* Auszahlung */
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_konto Set
|
|
'd_lebudat = @gDatumKurz,
|
|
'dec_aktuellersaldo = @dec_aktuellersaldo,
|
|
'dec_sollsumme = @dec_sollsumme,
|
|
'dec_habensumme = @dec_habensumme,
|
|
'eur_aktuellersaldo = @eur_aktuellersaldo
|
|
'WHERE [FIBU2].dbo.fibu_konto.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_konto.i_konto = @updatekonto
|
|
|
|
|
|
|
|
'Declare Schleifen2rec CURSOR FOR ()
|
|
|
|
' Select Case
|
|
'OWNFIELD_Nr,
|
|
'OWNFIELD_Konto,
|
|
'ISNULL(OWNFIELD_Soll, 0),
|
|
'ISNULL(OWNFIELD_Haben, 0)
|
|
|
|
'FROM OWNTABLE_Verbuchungskonten
|
|
'WHERE ((ISNULL(OWNFIELD_Soll, 0) <> 0) Or (ISNULL(OWNFIELD_Haben, 0) <> 0))
|
|
|
|
'OPEN Schleifen2rec
|
|
'FETCH NEXT FROM Schleifen2rec INTO
|
|
'@Schleifennr,
|
|
'@Schleifenkonto,
|
|
'@dec_sollsumme,
|
|
'@dec_habensumme
|
|
|
|
'While @@FETCH_STATUS = 0
|
|
'BEGIN /* 03 */
|
|
|
|
'If @Periode = 1
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_1
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_1
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_1 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_1 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_1 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_1 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_1 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_1 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_1 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_1 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 2
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_2
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_2
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_2 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_2 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_2 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_2 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_2 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_2 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_2 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_2 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 3
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_3
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_3
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_3 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_3 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_3 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_3 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_3 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_3 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_3 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_3 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 4
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_4
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_4
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_4 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_4 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_4 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_4 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_4 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_4 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_4 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_4 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 5
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_5
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_5
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_5 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_5 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_5 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_5 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_5 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_5 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_5 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_5 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 6
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_6
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_6
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_6 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_6 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_6 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_6 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_6 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_6 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_6 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_6 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 7
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_7
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_7
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_7 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_7 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_7 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_7 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_7 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_7 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_7 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_7 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 8
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_8
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_8
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_8 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_8 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_8 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_8 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_8 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_8 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_8 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_8 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 9
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_9
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_9
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_9 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_9 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_9 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_9 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_9 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_9 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_9 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_9 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 10
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_10
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_10
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_10 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_10 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_10 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_10 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_10 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_10 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_10 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_10 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 11
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_11
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_11
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_11 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_11 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_11 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_11 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_11 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_11 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_11 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_11 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
' If @Periode = 12
|
|
'BEGIN
|
|
'Set @periodensoll = (Select [FIBU2].dbo.fibu_periodensaldo.dec_soll_12
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'Set @periodenhaben = (Select [FIBU2].dbo.fibu_periodensaldo.dec_haben_12
|
|
'FROM [FIBU2].dbo.fibu_periodensaldo
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto)
|
|
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldo Set
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_soll_12 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.dec_haben_12 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_soll_12 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldo.eur_haben_12 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldo.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldo.i_konto = @Schleifenkonto
|
|
|
|
'If @Schleifenkonto = 2000
|
|
'BEGIN /* Debitorendurchbuchungskonto */
|
|
'UPDATE [FIBU2].dbo.fibu_periodensaldodk Set
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_soll_12 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.dec_haben_12 = (@periodenhaben + @dec_habensumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_soll_12 = (@periodensoll + @dec_sollsumme),
|
|
'[FIBU2].dbo.fibu_periodensaldodk.eur_haben_12 = (@periodenhaben + @dec_habensumme)
|
|
'WHERE [FIBU2].dbo.fibu_periodensaldodk.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.si_jahr = @Jahr
|
|
'And [FIBU2].dbo.fibu_periodensaldodk.i_konto = @Schleifenkonto
|
|
'End /* Debitorendurchbuchungskonto */
|
|
|
|
'End
|
|
|
|
|
|
'FETCH NEXT FROM Schleifen2rec INTO
|
|
'@Schleifennr,
|
|
'@Schleifenkonto,
|
|
'@dec_sollsumme,
|
|
'@dec_habensumme
|
|
|
|
'End /* 03 */
|
|
'CLOSE Schleifen2rec
|
|
'DEALLOCATE Schleifen2rec
|
|
|
|
|
|
|
|
'INSERT INTO [FIBU2].dbo.op_debitor (
|
|
'[FIBU2].dbo.op_debitor.i_firm_refid,
|
|
'[FIBU2].dbo.op_debitor.i_op_refid,
|
|
'[FIBU2].dbo.op_debitor.c_urbelegid,
|
|
'[FIBU2].dbo.op_debitor.i_personenkonto,
|
|
'[FIBU2].dbo.op_debitor.i_forderungskonto,
|
|
'[FIBU2].dbo.op_debitor.c_rechnungid,
|
|
'[FIBU2].dbo.op_debitor.d_rechnung,
|
|
'[FIBU2].dbo.op_debitor.d_valuta,
|
|
'[FIBU2].dbo.op_debitor.c_typ,
|
|
'[FIBU2].dbo.op_debitor.c_sprache,
|
|
'[FIBU2].dbo.op_debitor.c_waehrung,
|
|
'[FIBU2].dbo.op_debitor.dec_eigenbrutto,
|
|
'[FIBU2].dbo.op_debitor.dec_fremdbrutto,
|
|
'[FIBU2].dbo.op_debitor.eur_bruttobetrag,
|
|
'[FIBU2].dbo.op_debitor.dec_skf_eigen,
|
|
'[FIBU2].dbo.op_debitor.dec_skf_fremd,
|
|
'[FIBU2].dbo.op_debitor.eur_skontierfaehig,
|
|
'[FIBU2].dbo.op_debitor.dec_eigenzahlung,
|
|
'[FIBU2].dbo.op_debitor.dec_fremdzahlung,
|
|
'[FIBU2].dbo.op_debitor.eur_zahlung,
|
|
'[FIBU2].dbo.op_debitor.c_zahlziel,
|
|
'[FIBU2].dbo.op_debitor.dec_skonto,
|
|
'[FIBU2].dbo.op_debitor.d_skonto,
|
|
'[FIBU2].dbo.op_debitor.dec_skonto2,
|
|
'[FIBU2].dbo.op_debitor.d_netto,
|
|
'[FIBU2].dbo.op_debitor.si_mahnstufe,
|
|
'[FIBU2].dbo.op_debitor.i_mahnlauf_refid,
|
|
'[FIBU2].dbo.op_debitor.si_exportiert,
|
|
'[FIBU2].dbo.op_debitor.i_stapel_refid,
|
|
'[FIBU2].dbo.op_debitor.i_stapel_lfdnr,
|
|
'[FIBU2].dbo.op_debitor.dec_stpl_ew_betrag,
|
|
'[FIBU2].dbo.op_debitor.dec_stpl_ew_skonto,
|
|
'[FIBU2].dbo.op_debitor.dec_stpl_fw_betrag,
|
|
'[FIBU2].dbo.op_debitor.dec_stpl_fw_skonto,
|
|
'[FIBU2].dbo.op_debitor.eur_stpl_betrag,
|
|
'[FIBU2].dbo.op_debitor.eur_stpl_skonto,
|
|
'[FIBU2].dbo.op_debitor.i_clearing,
|
|
'[FIBU2].dbo.op_debitor.i_eigene_bank,
|
|
'[FIBU2].dbo.op_debitor.si_bankeinzug,
|
|
'[FIBU2].dbo.op_debitor.c_bemerkung,
|
|
'[FIBU2].dbo.op_debitor.lc_anmerkungen,
|
|
'[FIBU2].dbo.op_debitor.i_zessionstext,
|
|
'[FIBU2].dbo.op_debitor.i_buchungskreis,
|
|
'[FIBU2].dbo.op_debitor.c_ustidnr)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@i_op_refid,
|
|
'@belegnrtext,
|
|
'@i_personenkonto,
|
|
'@i_fordkto,
|
|
'@belegnrtext,
|
|
'@gDatumKurz,
|
|
'@gDatumKurz,
|
|
'@c_op_Typ,
|
|
'@c_sprache,
|
|
'@Waehrung,
|
|
'@B_Bruttobetrag * (-1),
|
|
'@B_Bruttobetrag * (-1),
|
|
'@B_Bruttobetrag * (-1),
|
|
'@B_Bruttobetrag * (-1),
|
|
'@B_Bruttobetrag * (-1),
|
|
'@B_Bruttobetrag * (-1),
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'@c_zahlziel,
|
|
'@Skonto,
|
|
'@Skontodatum,
|
|
'0,
|
|
'@Nettodatum,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'@Buchungstext,
|
|
'@Buchungstext_orig,
|
|
'0,
|
|
'1,
|
|
'@c_ustidnr)
|
|
|
|
|
|
|
|
'INSERT INTO [FIBU2].dbo.op_vorgang_deb (
|
|
'[FIBU2].dbo.op_vorgang_deb.i_firm_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_personenkonto,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_op_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_beleg_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.c_vorgang,
|
|
'[FIBU2].dbo.op_vorgang_deb.d_beleg,
|
|
'[FIBU2].dbo.op_vorgang_deb.si_rel_periode,
|
|
'[FIBU2].dbo.op_vorgang_deb.si_jahr,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_steuer_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_steuerproz,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_nne_az_konto,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_nettobetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_steuerbetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.eur_nettobetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.eur_steuerbetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_fremdbetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.si_skontierfaehig,
|
|
'[FIBU2].dbo.op_vorgang_deb.si_zeilen_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.c_bemerkung,
|
|
'[FIBU2].dbo.op_vorgang_deb.dt_datum,
|
|
'[FIBU2].dbo.op_vorgang_deb.c_benutzer,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_eg_konto,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_auftrag_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_naf_steuerbetr,
|
|
'[FIBU2].dbo.op_vorgang_deb.eur_naf_steuerbetr)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@i_personenkonto,
|
|
'@i_op_refid,
|
|
'@i_beleg_refid,
|
|
''P',
|
|
'@gDatumKurz,
|
|
'@relPeriode,
|
|
'@Jahr,
|
|
'0,
|
|
'0,
|
|
'@i_Sachkonto,
|
|
'@opvorgangsbetrag,
|
|
'0,
|
|
'@opvorgangsbetrag,
|
|
'0,
|
|
'@opvorgangsbetrag,
|
|
'1,
|
|
'1, /* Zeilennummer */
|
|
'@Buchungstext,
|
|
'@dt_creation,
|
|
'@Benutzer,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0)
|
|
|
|
|
|
|
|
'If @Auszahlungsbetrag <> 0
|
|
'BEGIN /* die zweite op_vorgang_deb Zeile insertieren */
|
|
|
|
'INSERT INTO [FIBU2].dbo.op_vorgang_deb (
|
|
'[FIBU2].dbo.op_vorgang_deb.i_firm_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_personenkonto,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_op_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_beleg_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.c_vorgang,
|
|
'[FIBU2].dbo.op_vorgang_deb.d_beleg,
|
|
'[FIBU2].dbo.op_vorgang_deb.si_rel_periode,
|
|
'[FIBU2].dbo.op_vorgang_deb.si_jahr,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_steuer_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_steuerproz,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_nne_az_konto,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_nettobetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_steuerbetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.eur_nettobetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.eur_steuerbetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_fremdbetrag,
|
|
'[FIBU2].dbo.op_vorgang_deb.si_skontierfaehig,
|
|
'[FIBU2].dbo.op_vorgang_deb.si_zeilen_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.c_bemerkung,
|
|
'[FIBU2].dbo.op_vorgang_deb.dt_datum,
|
|
'[FIBU2].dbo.op_vorgang_deb.c_benutzer,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_eg_konto,
|
|
'[FIBU2].dbo.op_vorgang_deb.i_auftrag_refid,
|
|
'[FIBU2].dbo.op_vorgang_deb.dec_naf_steuerbetr,
|
|
'[FIBU2].dbo.op_vorgang_deb.eur_naf_steuerbetr)
|
|
|
|
'VALUES (
|
|
'@MandantNr,
|
|
'@i_personenkonto,
|
|
'@i_op_refid,
|
|
'@i_beleg_refid,
|
|
''P',
|
|
'@gDatumKurz,
|
|
'@relPeriode,
|
|
'@Jahr,
|
|
'0,
|
|
'0,
|
|
'@i_Sachkonto,
|
|
'@opvorgangsbetrag,
|
|
'0,
|
|
'@opvorgangsbetrag,
|
|
'0,
|
|
'@opvorgangsbetrag,
|
|
'1,
|
|
'5, /* Zeilennummer */
|
|
'@Buchungstext,
|
|
'@dt_creation,
|
|
'@Benutzer,
|
|
'0,
|
|
'0,
|
|
'0,
|
|
'0)
|
|
|
|
'End /* die zweite op_vorgang_deb Zeile insertieren */
|
|
|
|
|
|
'End /* Fortsetzung bei Direktverbuchung */
|
|
|
|
|
|
|
|
'Set @Zahlungsmittelbetraege = (Select SUM(Betrag) FROM Rechnung_Zahlungsmittel
|
|
'WHERE Datum = @belegdatum And Nr = @belegnr)
|
|
'If ISNULL(@Zahlungsmittelbetraege, 0) <> @B_Bruttobetrag
|
|
'BEGIN /* Zahlungsmittelkorrektur wegen Programmfehler erforderlich */
|
|
|
|
'Set @Zaehler1 = (Select COUNT(Datum) FROM Rechnung_Zahlungsmittel
|
|
'WHERE Datum = @belegdatum And Nr = @belegnr)
|
|
'If ISNULL(@Zaehler1, 0) > 0
|
|
'BEGIN /* es sind zutreffende Zahlungsmitteldatensätze vorhanden */
|
|
|
|
'Set @Korrekturbetrag = @B_Bruttobetrag / CAST(@Zaehler1 As FLOAT)
|
|
|
|
'UPDATE Rechnung_Zahlungsmittel Set
|
|
'Betrag = @Korrekturbetrag
|
|
'WHERE Datum = @belegdatum And Nr = @belegnr
|
|
|
|
'End /* es sind zutreffende Zahlungsmitteldatensätze vorhanden */
|
|
|
|
|
|
'Else BEGIN /* ein Zahlungsmitteldatensatz fehlt */
|
|
|
|
'INSERT INTO Rechnung_Zahlungsmittel (
|
|
'Datum,
|
|
'Nr,
|
|
'Waehrungsnr,
|
|
'TYP,
|
|
'Waehrung,
|
|
'Umrechnungsfaktor,
|
|
'Betrag,
|
|
'Satz,
|
|
'Gedruckt)
|
|
|
|
'VALUES (
|
|
'@belegdatum,
|
|
'@belegnr,
|
|
'@Waehrungsnr,
|
|
'18,
|
|
'@Waehrung,
|
|
'@Umrechnungsfaktor,
|
|
'@B_Bruttobetrag,
|
|
''',
|
|
'0)
|
|
|
|
'End /* ein Zahlungsmitteldatensatz fehlt */
|
|
|
|
'End /* Zahlungsmittelkorrektur wegen Programmfehler erforderlich */
|
|
|
|
|
|
'If @Buchungsweg > 1
|
|
'BEGIN
|
|
|
|
'Set @Zaehler1 = (Select COUNT([FIBU2].dbo.fibu_belegzeile.i_beleg_refid)
|
|
'FROM [FIBU2].dbo.fibu_belegzeile
|
|
'WHERE [FIBU2].dbo.fibu_belegzeile.i_firm_refid = @MandantNr
|
|
'And [FIBU2].dbo.fibu_belegzeile.c_urbelegid Like @belegnrtext
|
|
'And [FIBU2].dbo.fibu_belegzeile.c_buchtext Like ('%' + @Ganzer_Pos_Nr_Text + '%'))
|
|
|
|
'If ISNULL(@Zaehler1, 0) >= 3
|
|
'BEGIN /* Buchung ist vorhanden */
|
|
'UPDATE Rechnung Set Gebucht = 1 WHERE Datum = @belegdatum And Nr = @belegnr
|
|
'End /* Buchung ist vorhanden */
|
|
|
|
'End
|
|
|
|
|
|
' End /* nur Barverkaufsrechnungen mit Positionen In den Fibustapel insertieren */
|
|
|
|
|
|
|
|
'Set @belegdatumdavor = (Select MAX(Datum) FROM Rechnung
|
|
'WHERE Datum <> @belegdatum)
|
|
|
|
'Set @belegnrdavor = (Select MAX(Nr) FROM Rechnung
|
|
'WHERE Datum = @belegdatumdavor)
|
|
|
|
'Set @Waehrungsnr = (Select Waehrungsnr FROM Rechnung
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
|
|
'Set @Waehrung = (Select Waehrung FROM Rechnung
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
|
|
'Set @Umrechnungsfaktor = (Select Umrechnungsfaktor FROM Rechnung
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
|
|
'Set @B_Bruttobetrag = (Select Bruttobetrag FROM Rechnung
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
|
|
|
|
'Set @Zahlungsmittelbetraege = (Select SUM(Betrag) FROM Rechnung_Zahlungsmittel
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
'If ISNULL(@Zahlungsmittelbetraege, 0) <> @B_Bruttobetrag
|
|
'BEGIN /* Zahlungsmittelkorrektur wegen Programmfehler erforderlich */
|
|
|
|
'Set @Zaehler1 = (Select COUNT(Datum) FROM Rechnung_Zahlungsmittel
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
'If ISNULL(@Zaehler1, 0) > 0
|
|
'BEGIN /* es sind zutreffende Zahlungsmitteldatensätze vorhanden */
|
|
|
|
'Set @Korrekturbetrag = @B_Bruttobetrag / CAST(@Zaehler1 As FLOAT)
|
|
|
|
'UPDATE Rechnung_Zahlungsmittel Set
|
|
'Betrag = @Korrekturbetrag
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor
|
|
|
|
'End /* es sind zutreffende Zahlungsmitteldatensätze vorhanden */
|
|
|
|
|
|
'Else BEGIN /* ein Zahlungsmitteldatensatz fehlt */
|
|
|
|
'INSERT INTO Rechnung_Zahlungsmittel (
|
|
'Datum,
|
|
'Nr,
|
|
'Waehrungsnr,
|
|
'TYP,
|
|
'Waehrung,
|
|
'Umrechnungsfaktor,
|
|
'Betrag,
|
|
'Satz,
|
|
'Gedruckt)
|
|
|
|
'VALUES (
|
|
'@belegdatumdavor,
|
|
'@belegnrdavor,
|
|
'@Waehrungsnr,
|
|
'18,
|
|
'@Waehrung,
|
|
'@Umrechnungsfaktor,
|
|
'@B_Bruttobetrag,
|
|
''',
|
|
'0)
|
|
|
|
'End /* ein Zahlungsmitteldatensatz fehlt */
|
|
|
|
'End /* Zahlungsmittelkorrektur wegen Programmfehler erforderlich */
|
|
|
|
|
|
|
|
'Set @belegdatumdavor = (Select MAX(Datum) FROM Gutschrift)
|
|
|
|
'Set @belegnrdavor = (Select MAX(Nr) FROM Gutschrift
|
|
'WHERE Datum = @belegdatumdavor)
|
|
|
|
'Set @Waehrungsnr = (Select Waehrungsnr FROM Gutschrift
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
|
|
'Set @Waehrung = (Select Waehrung FROM Gutschrift
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
|
|
'Set @Umrechnungsfaktor = (Select Umrechnungsfaktor FROM Gutschrift
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
|
|
'Set @B_Bruttobetrag = (Select Bruttobetrag FROM Gutschrift
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
|
|
'Set @Zahlungsmittelbetraege = (Select SUM(Betrag) FROM Gutschrift_Zahlungsmittel
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
'If ISNULL(@Zahlungsmittelbetraege, 0) <> @B_Bruttobetrag * (-1)
|
|
'BEGIN /* Zahlungsmittelkorrektur wegen Programmfehler erforderlich */
|
|
|
|
'Set @Zaehler1 = (Select COUNT(Datum) FROM Gutschrift_Zahlungsmittel
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor)
|
|
'If ISNULL(@Zaehler1, 0) > 0
|
|
'BEGIN /* es sind zutreffende Zahlungsmitteldatensätze vorhanden */
|
|
|
|
'Set @Korrekturbetrag = @B_Bruttobetrag * (-1) / CAST(@Zaehler1 As FLOAT)
|
|
|
|
'UPDATE Gutschrift_Zahlungsmittel Set
|
|
'Betrag = @Korrekturbetrag
|
|
'WHERE Datum = @belegdatumdavor And Nr = @belegnrdavor
|
|
|
|
'End /* es sind zutreffende Zahlungsmitteldatensätze vorhanden */
|
|
|
|
|
|
'Else BEGIN /* ein Zahlungsmitteldatensatz fehlt */
|
|
|
|
'INSERT INTO Gutschrift_Zahlungsmittel (
|
|
'Datum,
|
|
'Nr,
|
|
'Waehrungsnr,
|
|
'TYP,
|
|
'Waehrung,
|
|
'Umrechnungsfaktor,
|
|
'Betrag,
|
|
'Satz,
|
|
'Gedruckt)
|
|
|
|
'VALUES (
|
|
'@belegdatumdavor,
|
|
'@belegnrdavor,
|
|
'@Waehrungsnr,
|
|
'18,
|
|
'@Waehrung,
|
|
'@Umrechnungsfaktor,
|
|
'@B_Bruttobetrag * (-1),
|
|
''',
|
|
'0)
|
|
|
|
|
|
'End /* ein Zahlungsmitteldatensatz fehlt */
|
|
|
|
'End /* Zahlungsmittelkorrektur wegen Programmfehler erforderlich */
|
|
|
|
|
|
|
|
|
|
|
|
'################## ------- ------- ------- ##################
|
|
'################## ------- ------- ------- ##################
|
|
'################## ------- BUCHUNGEN------- ##################
|
|
'################## ------- ------- ------- ##################
|
|
'################## ------- ------- ------- ##################
|
|
|
|
|
|
End Class |