diff --git a/SDL/Classes/cRKSV.vb b/SDL/Classes/cRKSV.vb index 9958fe86..65e857bf 100644 --- a/SDL/Classes/cRKSV.vb +++ b/SDL/Classes/cRKSV.vb @@ -2139,7 +2139,7 @@ Public Class cRKSV 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") + 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") @@ -2158,6 +2158,9 @@ Public Class cRKSV 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) @@ -2175,6 +2178,7 @@ Public Class cRKSV 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") @@ -2215,6 +2219,8 @@ Public Class cRKSV If Not KBEntry.INSERT() Then Return False + Else + KBEntry_List.Add(KBEntry) End If '################ @@ -2267,6 +2273,8 @@ Public Class cRKSV If Not KBEntryGB.INSERT() Then Return False + Else + KBEntryGB_List.Add(KBEntryGB) End If Next @@ -2299,6 +2307,8 @@ Public Class cRKSV If Not KBEntryST.INSERT() Then Return False + Else + KBEntryST_List.Add(KBEntryST) End If End If @@ -2361,6 +2371,13 @@ Public Class cRKSV '################ ' 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() @@ -2384,6 +2401,251 @@ Public Class cRKSV 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 @@ -3275,4 +3537,2868 @@ Public Class cRKSV_DE ' 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 \ No newline at end of file diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index fa40aa04..b5acb94a 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -2039,7 +2039,8 @@ Public Class cFakturierung Public Shared Function doRechnungsdruck_MDM(RECHNUNG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, firma As cFirmen, KD_RG As cAdressen, Optional RechnungsDatum As Object = Nothing, Optional vorschau As Boolean = False, Optional Rechnugnsdruck As Integer = -1, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional printOriginalRg As Boolean = False, Optional SammelrechnungAnlagendruck As Boolean = False, Optional printStbVdb As Boolean = False) As Boolean - Dim rpt As New rptRechnungDruck_MDM(RECHNUNG.RechnungSprache) + + Dim rpt As New rptRechnungDruck_MDM(RECHNUNG.RechnungSprache, IIf(RECHNUNG.OffertenNr = 95, RECHNUNG.OffertenNr, Nothing), RECHNUNG.Firma_ID) If RECHNUNG.POSITIONEN.Count = 0 Then MsgBox("Keine Daten vorhanden!") : Return False Dim dtDataSource As New DataTable @@ -2467,16 +2468,14 @@ Public Class cFakturierung Dim sumSteuerpflichtig As Double = 0 Dim sumSteuerfrei As Double = 0 - ' Dim Anz As Double = 0 - ' Dim gesSumBt As Double = 0 - ' Dim gesAnz As Double = 0 + 'Dim Anz As Double = 0 + 'Dim gesSumBt As Double = 0 + 'Dim gesAnz As Double = 0 Dim vorzeichen = If(If(RECHNUNG.Vorzeichen, "") = "-", -1, 1) ' Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(RECHNUNG.RechnungsKundenNr) - - ' rpt.Line10.AnchorBottom = True ' rpt.Line10.Height = rpt.Detail.Height diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index 8439ed38..02a2a16f 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -800,8 +800,9 @@ Public Class frmFaktEmail Dim bearbGeb As Double = 0 Dim hasVZ As Boolean = False + 'todo_Prüfung ist zu spät -> früher (vor dem eintragen in die DB)!!!! For Each pos In USTV_ANTRAG.POSITIONEN - If pos.UStVPo_VZ AndAlso (IsDBNull(pos.UStVPo_VZ_RKID) Or pos.UStVPo_VZ_RKID Is Nothing) Then 'VZ die noch nicht abgerechnet wurde! + If pos.UStVPo_VZ AndAlso (IsDBNull(pos.UStVPo_VZ_RKID) OrElse pos.UStVPo_VZ_RKID Is Nothing) Then 'VZ die noch nicht abgerechnet wurde! hasVZ = True Exit For End If @@ -815,15 +816,15 @@ Public Class frmFaktEmail 'nur bei NICHT VZ! If Not hasVZ Then - Dim ANTR_ERSTATTUNG As New VERAG_PROG_ALLGEMEIN.cUStVErstattungPositionen(USTV_ANTRAG.UStVAn_ID, RECHNUNG.UnterNr + 1) - If Not ANTR_ERSTATTUNG.hasEntry Then - ANTR_ERSTATTUNG.GutschriftsDatum = RECHNUNG.RechnungsDatum - ANTR_ERSTATTUNG.GutschriftsNr = RECHNUNG.RechnungsNr - ANTR_ERSTATTUNG.UStVEr_Umrechnungskurs = 1 - ANTR_ERSTATTUNG.UStVEr_USteuerbetrag = bearbGeb - ANTR_ERSTATTUNG.UStVEr_USteuerbetragEUR = bearbGeb - ANTR_ERSTATTUNG.SAVE() - End If + 'Dim ANTR_ERSTATTUNG As New VERAG_PROG_ALLGEMEIN.cUStVErstattungPositionen(USTV_ANTRAG.UStVAn_ID, RECHNUNG.UnterNr + 1) + 'If Not ANTR_ERSTATTUNG.hasEntry Then + ' ANTR_ERSTATTUNG.GutschriftsDatum = RECHNUNG.RechnungsDatum + ' ANTR_ERSTATTUNG.GutschriftsNr = RECHNUNG.RechnungsNr + ' ANTR_ERSTATTUNG.UStVEr_Umrechnungskurs = 1 + ' ANTR_ERSTATTUNG.UStVEr_USteuerbetrag = bearbGeb + ' ANTR_ERSTATTUNG.UStVEr_USteuerbetragEUR = bearbGeb + ' ANTR_ERSTATTUNG.SAVE() + 'End If If IsDBNull(USTV_ANTRAG.UStVAn_VZBetrag) AndAlso IsDBNull(USTV_ANTRAG.UStVAn_VZDatum) Then diff --git a/SDL/Fakturierung/rptRechnungDruck_MDM.vb b/SDL/Fakturierung/rptRechnungDruck_MDM.vb index a58058e1..e948823f 100644 --- a/SDL/Fakturierung/rptRechnungDruck_MDM.vb +++ b/SDL/Fakturierung/rptRechnungDruck_MDM.vb @@ -3,6 +3,9 @@ Imports GrapeCity.ActiveReports.Document Public Class rptRechnungDruck_MDM Public _LAN = "" + Dim _OPTION = "" + Dim _FIRMAID As Integer = -1 + Sub New() InitializeComponent() End Sub @@ -12,12 +15,24 @@ Public Class rptRechnungDruck_MDM Me._LAN = _LAN ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub + + + Sub New(_LAN, _OPTION, _FIRMAID) + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me._LAN = _LAN + Me._OPTION = _OPTION + Me._FIRMAID = _FIRMAID + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + End Sub + + Private Sub rptRechnungDruck_ReportStart(sender As Object, e As EventArgs) Handles MyBase.ReportStart If _LAN.replace("DE", "") <> "" Then - SDL.cProgramFunctions._TRANSLATE_RPT(Me, Me.ReportHeader1.Controls, _LAN, "rptRechnungDruck_MDM") - SDL.cProgramFunctions._TRANSLATE_RPT(Me, Me.ReportFooter1.Controls, _LAN, "rptRechnungDruck_MDM") - SDL.cProgramFunctions._TRANSLATE_RPT(Me, Me.GroupHeader4.Controls, _LAN, "rptRechnungDruck_MDM") - SDL.cProgramFunctions._TRANSLATE_RPT(Me, Me.PageFooter.Controls, _LAN, "rptRechnungDruck_MDM") + SDL.cProgramFunctions._TRANSLATE_RPT(Me, Me.ReportHeader1.Controls, _LAN, "rptRechnungDruck_MDM", _OPTION, _FIRMAID) + SDL.cProgramFunctions._TRANSLATE_RPT(Me, Me.ReportFooter1.Controls, _LAN, "rptRechnungDruck_MDM", _OPTION, _FIRMAID) + SDL.cProgramFunctions._TRANSLATE_RPT(Me, Me.GroupHeader4.Controls, _LAN, "rptRechnungDruck_MDM", _OPTION, _FIRMAID) + SDL.cProgramFunctions._TRANSLATE_RPT(Me, Me.PageFooter.Controls, _LAN, "rptRechnungDruck_MDM", _OPTION, _FIRMAID) End If End Sub diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index 6ab0db69..d55a6275 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/buchhaltung/usrCntlBH.Designer.vb b/SDL/buchhaltung/usrCntlBH.Designer.vb index f5a24ec4..6eb3df5d 100644 --- a/SDL/buchhaltung/usrCntlBH.Designer.vb +++ b/SDL/buchhaltung/usrCntlBH.Designer.vb @@ -37,6 +37,9 @@ Partial Class usrCntlBH Me.cbxFirmaUID = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.Button14 = New System.Windows.Forms.Button() Me.GroupBox11 = New System.Windows.Forms.GroupBox() + Me.btnDel_ = New VERAG_PROG_ALLGEMEIN.FlatButton() + Me.btnWikiStatusmails = New System.Windows.Forms.Button() + Me.txtAbBetragAbrechnen = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.Label52 = New System.Windows.Forms.Label() Me.btnZNBverrechnen = New System.Windows.Forms.Button() Me.Label51 = New System.Windows.Forms.Label() @@ -158,9 +161,7 @@ Partial Class usrCntlBH Me.Label30 = New System.Windows.Forms.Label() Me.Label29 = New System.Windows.Forms.Label() Me.Button7 = New System.Windows.Forms.Button() - Me.txtAbBetragAbrechnen = New VERAG_PROG_ALLGEMEIN.MyTextBox() - Me.btnWikiStatusmails = New System.Windows.Forms.Button() - Me.btnDel_ = New VERAG_PROG_ALLGEMEIN.FlatButton() + Me.btn_fehlendeUID = New System.Windows.Forms.Button() Me.pnl.SuspendLayout() Me.TabPage1.SuspendLayout() Me.GroupBox12.SuspendLayout() @@ -205,6 +206,7 @@ Partial Class usrCntlBH 'TabPage1 ' Me.TabPage1.AutoScroll = True + Me.TabPage1.Controls.Add(Me.btn_fehlendeUID) Me.TabPage1.Controls.Add(Me.lblUID_zupruefen) Me.TabPage1.Controls.Add(Me.Label53) Me.TabPage1.Controls.Add(Me.GroupBox12) @@ -410,6 +412,59 @@ Partial Class usrCntlBH Me.GroupBox11.TabIndex = 35 Me.GroupBox11.TabStop = False ' + 'btnDel_ + ' + Me.btnDel_.allowBorder = False + Me.btnDel_.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnDel_.BackgroundImage = Global.SDL.My.Resources.Resources.del + Me.btnDel_.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.btnDel_.FlatAppearance.BorderSize = 0 + Me.btnDel_.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnDel_.ForeColor = System.Drawing.Color.Black + Me.btnDel_.Location = New System.Drawing.Point(814, 42) + Me.btnDel_.Name = "btnDel_" + Me.btnDel_.Size = New System.Drawing.Size(20, 20) + Me.btnDel_.TabIndex = 74 + Me.btnDel_.UseVisualStyleBackColor = True + Me.btnDel_.Visible = False + ' + 'btnWikiStatusmails + ' + Me.btnWikiStatusmails.BackgroundImage = Global.SDL.My.Resources.Resources.fragezeichen + Me.btnWikiStatusmails.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.btnWikiStatusmails.FlatAppearance.BorderSize = 0 + Me.btnWikiStatusmails.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnWikiStatusmails.Location = New System.Drawing.Point(814, 10) + Me.btnWikiStatusmails.Name = "btnWikiStatusmails" + Me.btnWikiStatusmails.Size = New System.Drawing.Size(25, 20) + Me.btnWikiStatusmails.TabIndex = 73 + Me.btnWikiStatusmails.UseVisualStyleBackColor = True + ' + 'txtAbBetragAbrechnen + ' + Me.txtAbBetragAbrechnen._DateTimeOnly = False + Me.txtAbBetragAbrechnen._numbersOnly = True + Me.txtAbBetragAbrechnen._numbersOnlyKommastellen = "" + Me.txtAbBetragAbrechnen._numbersOnlyTrennzeichen = True + Me.txtAbBetragAbrechnen._Prozent = False + Me.txtAbBetragAbrechnen._ShortDateNew = False + Me.txtAbBetragAbrechnen._ShortDateOnly = False + Me.txtAbBetragAbrechnen._TimeOnly = False + Me.txtAbBetragAbrechnen._TimeOnly_Seconds = False + Me.txtAbBetragAbrechnen._value = "0" + Me.txtAbBetragAbrechnen._Waehrung = False + Me.txtAbBetragAbrechnen._WaehrungZeichen = False + Me.txtAbBetragAbrechnen.ForeColor = System.Drawing.Color.Black + Me.txtAbBetragAbrechnen.Location = New System.Drawing.Point(665, 43) + Me.txtAbBetragAbrechnen.MaxLineLength = -1 + Me.txtAbBetragAbrechnen.MaxLines_Warning = "" + Me.txtAbBetragAbrechnen.MaxLines_Warning_Label = Nothing + Me.txtAbBetragAbrechnen.Name = "txtAbBetragAbrechnen" + Me.txtAbBetragAbrechnen.Size = New System.Drawing.Size(34, 20) + Me.txtAbBetragAbrechnen.TabIndex = 42 + Me.txtAbBetragAbrechnen.Text = "20" + Me.txtAbBetragAbrechnen.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' 'Label52 ' Me.Label52.AutoSize = True @@ -1999,58 +2054,18 @@ Partial Class usrCntlBH Me.Button7.Text = "Importieren" Me.Button7.UseVisualStyleBackColor = True ' - 'txtAbBetragAbrechnen + 'btn_fehlendeUID ' - Me.txtAbBetragAbrechnen._DateTimeOnly = False - Me.txtAbBetragAbrechnen._numbersOnly = True - Me.txtAbBetragAbrechnen._numbersOnlyKommastellen = "" - Me.txtAbBetragAbrechnen._numbersOnlyTrennzeichen = True - Me.txtAbBetragAbrechnen._Prozent = False - Me.txtAbBetragAbrechnen._ShortDateNew = False - Me.txtAbBetragAbrechnen._ShortDateOnly = False - Me.txtAbBetragAbrechnen._TimeOnly = False - Me.txtAbBetragAbrechnen._TimeOnly_Seconds = False - Me.txtAbBetragAbrechnen._value = "0" - Me.txtAbBetragAbrechnen._Waehrung = False - Me.txtAbBetragAbrechnen._WaehrungZeichen = False - Me.txtAbBetragAbrechnen.ForeColor = System.Drawing.Color.Black - Me.txtAbBetragAbrechnen.Location = New System.Drawing.Point(665, 43) - Me.txtAbBetragAbrechnen.MaxLineLength = -1 - Me.txtAbBetragAbrechnen.MaxLines_Warning = "" - Me.txtAbBetragAbrechnen.MaxLines_Warning_Label = Nothing - Me.txtAbBetragAbrechnen.Name = "txtAbBetragAbrechnen" - Me.txtAbBetragAbrechnen.Size = New System.Drawing.Size(34, 20) - Me.txtAbBetragAbrechnen.TabIndex = 42 - Me.txtAbBetragAbrechnen.Text = "20" - Me.txtAbBetragAbrechnen.TextAlign = System.Windows.Forms.HorizontalAlignment.Right - ' - 'btnWikiStatusmails - ' - Me.btnWikiStatusmails.BackgroundImage = Global.SDL.My.Resources.Resources.fragezeichen - Me.btnWikiStatusmails.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.btnWikiStatusmails.FlatAppearance.BorderSize = 0 - Me.btnWikiStatusmails.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnWikiStatusmails.Location = New System.Drawing.Point(814, 10) - Me.btnWikiStatusmails.Name = "btnWikiStatusmails" - Me.btnWikiStatusmails.Size = New System.Drawing.Size(25, 20) - Me.btnWikiStatusmails.TabIndex = 73 - Me.btnWikiStatusmails.UseVisualStyleBackColor = True - ' - 'btnDel_ - ' - Me.btnDel_.allowBorder = False - Me.btnDel_.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.btnDel_.BackgroundImage = Global.SDL.My.Resources.Resources.del - Me.btnDel_.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom - Me.btnDel_.FlatAppearance.BorderSize = 0 - Me.btnDel_.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnDel_.ForeColor = System.Drawing.Color.Black - Me.btnDel_.Location = New System.Drawing.Point(814, 42) - Me.btnDel_.Name = "btnDel_" - Me.btnDel_.Size = New System.Drawing.Size(20, 20) - Me.btnDel_.TabIndex = 74 - Me.btnDel_.UseVisualStyleBackColor = True - Me.btnDel_.Visible = False + Me.btn_fehlendeUID.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btn_fehlendeUID.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.btn_fehlendeUID.Image = Global.SDL.My.Resources.Resources.Excel_logo + Me.btn_fehlendeUID.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btn_fehlendeUID.Location = New System.Drawing.Point(810, 102) + Me.btn_fehlendeUID.Name = "btn_fehlendeUID" + Me.btn_fehlendeUID.Size = New System.Drawing.Size(43, 20) + Me.btn_fehlendeUID.TabIndex = 35 + Me.btn_fehlendeUID.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btn_fehlendeUID.UseVisualStyleBackColor = True ' 'usrCntlBH ' @@ -2239,4 +2254,5 @@ Partial Class usrCntlBH Friend WithEvents txtAbBetragAbrechnen As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents btnWikiStatusmails As Button Friend WithEvents btnDel_ As VERAG_PROG_ALLGEMEIN.FlatButton + Friend WithEvents btn_fehlendeUID As Button End Class diff --git a/SDL/buchhaltung/usrCntlBH.vb b/SDL/buchhaltung/usrCntlBH.vb index d7d37df3..d09ede23 100644 --- a/SDL/buchhaltung/usrCntlBH.vb +++ b/SDL/buchhaltung/usrCntlBH.vb @@ -1382,29 +1382,31 @@ Public Class usrCntlBH Private Sub countIDPruefungen() + btn_fehlendeUID.Tag = "" + If txtUID_Jahr.Text <> "" AndAlso IsNumeric(txtUID_Jahr.Text) AndAlso txtUID_Jahr.Text.Length = 4 Then If txtUID_Monat.Text = "" OrElse txtUID_Monat.Text <> "" AndAlso IsNumeric(txtUID_Monat.Text) AndAlso CInt(txtUID_Monat.Text) > 0 AndAlso CInt(txtUID_Monat.Text) < 13 Then - Dim SQL_FIRMA As String = "" - Select Case cbxFirmaUID._value - Case "AMBAR" : SQL_FIRMA = " And Filialen.FilialenNr IN (5701)" - Case "IMEX" : SQL_FIRMA = " And Filialen.FilialenNr IN (5501)" - Case "ATILLA" : SQL_FIRMA = " And Filialen.FilialenNr IN (4801)" - Case "UNISPED" : SQL_FIRMA = " AND Filialen.firma='UNISPED' " - Case "VERAG" : SQL_FIRMA = " AND Filialen.firma='VERAG' " - Case Else : SQL_FIRMA = "" - End Select - + Dim dt As New DataTable Dim Month As Integer = CInt(txtUID_Monat.Text).ToString("D2") Dim Year As Integer = CInt(txtUID_Jahr.Text) Dim datum = CDate("15." & Month & "." & Year).AddMonths(-1) - Dim SQL_UID_zupruefen As String = "Select count(*) From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen On Filialen.FilialenNr=Kunden.FilialenNr where(UstIdGeprüft <= '" & datum & "' OR UstIdGeprüft is null) and (Adressen.UstIdKz is not null And Auswahl='A'" & SQL_FIRMA & ")" + dt = VERAG_PROG_ALLGEMEIN.cUIDPruefung.get_zupruefendeKunden(-1, datum, cbxFirmaUID._value) + + lblUID_zupruefen.Text = "nicht geprüft: " & dt.Rows.Count + + If dt.Rows.Count > 0 Then + Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, "fehlende UID-Prüfungen_" & IIf(cbxFirmaUID._value <> "", cbxFirmaUID._value, "ALLE") & "_" & datum.ToShortDateString) + btn_fehlendeUID.Tag = path + btn_fehlendeUID.Visible = True + Else + btn_fehlendeUID.Visible = False + End If - lblUID_zupruefen.Text = "nicht geprüft: " & SQL.getValueTxtBySql(SQL_UID_zupruefen, "FMZOLL",,, "0") End If @@ -1427,4 +1429,10 @@ Public Class usrCntlBH End If End Sub + + Private Sub btn_fehlendeUID_Click(sender As Object, e As EventArgs) Handles btn_fehlendeUID.Click + If sender.tag <> "" Then + Try : Process.Start(sender.tag) : Catch : End Try + End If + End Sub End Class diff --git a/SDL/cProgramFunctions.vb b/SDL/cProgramFunctions.vb index 42ba92ce..f2c83fda 100644 --- a/SDL/cProgramFunctions.vb +++ b/SDL/cProgramFunctions.vb @@ -1508,7 +1508,12 @@ Public Class cProgramFunctions 's... SubContainer 'c... Control Dim MEname = reportName 'rpt.Name (geht ned) '"rptRechnungDruck" - Dim TextTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = MEname And x.trs_sprache = lan) + 'Dim TextTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = MEname And x.trs_sprache = lan) + Dim TextTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list _ + .Where(Function(x) x.trs_object = MEname AndAlso x.trs_sprache = lan) _ + .OrderBy(Function(x) If(IsDBNull(x.trs_Option) OrElse x.trs_Option Is Nothing, IIf(_option <> "", 0, 1), IIf(_option <> "", 1, 0))) _ + .ThenBy(Function(x) x.trs_Option) _ + .ToList() If TextTmp IsNot Nothing Then For Each TXT As VERAG_PROG_ALLGEMEIN.cTranslate In TextTmp @@ -1518,11 +1523,13 @@ Public Class cProgramFunctions If Not IsDBNull(TXT.trs_FirmaID) AndAlso TXT.trs_FirmaID > 0 Then If TXT.trs_FirmaID = _firmenid Then - If IsDBNull(TXT.trs_Option) AndAlso TXT.trs_Option = "" Then + If IsDBNull(TXT.trs_Option) OrElse TXT.trs_Option = "" Then found = search + GoTo gefunden Else If _option = TXT.trs_Option Then found = search + GoTo gefunden End If End If @@ -1533,9 +1540,11 @@ Public Class cProgramFunctions If IsDBNull(TXT.trs_Option) OrElse TXT.trs_Option = "" Then found = search + GoTo gefunden Else If _option = TXT.trs_Option Then found = search + GoTo gefunden End If End If @@ -1548,22 +1557,23 @@ Public Class cProgramFunctions Next - ' MsgBox(TXT.trs_control) +gefunden: If found IsNot Nothing Then ' MsgBox("JA") Dim obj As GrapeCity.ActiveReports.SectionReportModel.ARControl = found If obj IsNot Nothing Then If (TypeOf obj Is GrapeCity.ActiveReports.SectionReportModel.Label) Then + 'If DirectCast(obj, GrapeCity.ActiveReports.SectionReportModel.Label).Text = TXT.trs Then DirectCast(obj, GrapeCity.ActiveReports.SectionReportModel.Label).Text = TXT.trs_text - If dict IsNot Nothing Then - For Each pair In dict - DirectCast(obj, GrapeCity.ActiveReports.SectionReportModel.Label).Text = DirectCast(obj, GrapeCity.ActiveReports.SectionReportModel.Label).Text.ToString.Replace("%" & pair.Key & "%", pair.Value) - Next - End If + If dict IsNot Nothing Then + For Each pair In dict + DirectCast(obj, GrapeCity.ActiveReports.SectionReportModel.Label).Text = DirectCast(obj, GrapeCity.ActiveReports.SectionReportModel.Label).Text.ToString.Replace("%" & pair.Key & "%", pair.Value) + Next + End If - End If - If (TypeOf obj Is GrapeCity.ActiveReports.SectionReportModel.TextBox) Then + End If + If (TypeOf obj Is GrapeCity.ActiveReports.SectionReportModel.TextBox) Then DirectCast(obj, GrapeCity.ActiveReports.SectionReportModel.TextBox).Text = TXT.trs_text If dict IsNot Nothing Then diff --git a/SDL/kassenbuch/frmNacherfassungLeihgeld.vb b/SDL/kassenbuch/frmNacherfassungLeihgeld.vb index ca8a3c83..454a8112 100644 --- a/SDL/kassenbuch/frmNacherfassungLeihgeld.vb +++ b/SDL/kassenbuch/frmNacherfassungLeihgeld.vb @@ -1,6 +1,7 @@ - +Imports com.sun.tools.javac.util +Imports com.sun.xml.internal.ws.api.pipe Imports GrapeCity.ActiveReports -Imports SDL +Imports VERAG_PROG_ALLGEMEIN Public Class frmNacherfassungLeihgeld Dim cOptionenDAL As New cOptionenDAL @@ -30,6 +31,7 @@ Public Class frmNacherfassungLeihgeld End Sub Dim SQL As New SQL + Dim VERAG_SQL As New VERAG_PROG_ALLGEMEIN.SQL Private Sub frmNacherfassungLeihgeld_Load(sender As Object, e As EventArgs) Handles MyBase.Load txtDatum.Text = Now.ToShortDateString @@ -52,7 +54,7 @@ Public Class frmNacherfassungLeihgeld txtAbfertigungsnummer.Enabled = False ' txtUnterNr.Enabled = False - txtAuftraggeber.Enabled = False + txtAuftraggeber.Enabled = False MyTextBoxLKWKz.Enabled = False txtFahrer.Enabled = False txtPassnummer.Enabled = False @@ -137,7 +139,8 @@ Public Class frmNacherfassungLeihgeld End If End Sub - + + End Sub @@ -150,7 +153,7 @@ Public Class frmNacherfassungLeihgeld txtDatum.Text = BELEG.BelegDat.ToShortDateString btnNeueAbfertigungNrVergeben.Visible = False - + MyTextBoxLKWKz.Text = BELEG.LKW_Kennzeichen txtFahrer.Text = BELEG.Fahrer txtPassnummer.Text = BELEG.Passnummer @@ -321,7 +324,7 @@ Public Class frmNacherfassungLeihgeld Dim JournalNr = 0 - If Not cRKSV.insertKB(PERSONAL, BELEG, KASSE.rksv_id, RKSV_Beleg_Id, (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv), JournalNr, KASSE.rksv_firma, -1) Then + If Not cRKSV.insertKB(PERSONAL, BELEG, KASSE.rksv_id, RKSV_Beleg_Id, (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv), JournalNr, KASSE.rksv_firma, -1,, cbxOP_sofort_buchen.Checked) Then Me.Cursor = Cursors.Default : Me.Close() : Exit Sub End If @@ -425,19 +428,19 @@ Public Class frmNacherfassungLeihgeld End If - If cbxOP_sofort_buchen.Checked Then + 'If cbxOP_sofort_buchen.Checked Then - If Not createSyskaBuchung(PERSONAL_LG, BELEG, True) Then - MsgBox("Fehler beim Erzeugen des Buchung in der FIBU") - End If + ' If Not createSyskaBuchung(PERSONAL_LG, BELEG, True) Then + ' MsgBox("Fehler beim Erzeugen der Buchung in der FIBU") + ' End If - End If + 'End If Me.Close() - Me.DialogResult = Windows.Forms.DialogResult.OK - Me.Cursor = Cursors.Default - End If + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Cursor = Cursors.Default + End If Catch ex As Exception Me.Cursor = Cursors.Default @@ -797,7 +800,7 @@ Public Class frmNacherfassungLeihgeld If cboProvisionStaffel.Text.Trim.EndsWith("%") Then txtProvisionProzent._value = getProvFromString(cboProvisionStaffel.Text) / 100 End If - If IsNumeric(txtBarzahlungsbetrag._value) And IsNumeric(txtProvisionProzent._value) Then + If IsNumeric(txtBarzahlungsbetrag._value) And IsNumeric(txtProvisionProzent._value) Then cboProvisionBetrag._value = txtBarzahlungsbetrag._value * txtProvisionProzent._value End If End Sub @@ -807,18 +810,6 @@ Public Class frmNacherfassungLeihgeld txtAuftrProvision.Enabled = sender.checked End Sub - Private Function createSyskaBuchung(personal As cPersonal, beleg As EABeleg, Stapelbuchung As Boolean) As Boolean - - If Stapelbuchung Then - - Else - - End If - - - - End Function - Private Sub cboPrintAktendeckel_CheckedChanged(sender As Object, e As EventArgs) Handles cboPrintAktendeckel.CheckedChanged End Sub @@ -826,4 +817,35 @@ Public Class frmNacherfassungLeihgeld Private Sub kdFrachtführer_TextChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs) Handles kdFrachtführer.PropertyChanged End Sub + + Private Function getSachkonto(pos As EABelegPositionen) + + + ' Dim SQL = New VERAG_PROG_ALLGEMEIN.SQL + ' Dim RE As New cRechnungsausgang(pos.RK_ID) + + ' If RE.RechnungsLandKz Is Nothing OrElse RE.RechnungsLandKz Is DBNull.Value OrElse RE.RechnungsLandKz.trim = "" _ + ' OrElse RE.RechnungsLandKz = "A" _ + ' OrElse RE.RechnungsLandKz = "AT" Then + ' If CBool(pos.Steuerpflichtig) Then + ' getSachkonto = If(SQL.DLookup("[SachkontoInlandSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & pos.LeistungsNr, "FMZOLL"), "") + + ' Else + ' getSachkonto = If(SQL.DLookup("[SachkontoInlandSteuerfrei]", "Leistungen", "[LeistungsNr]=" & pos.LeistungsNr, "FMZOLL"), "") + ' End If + ' Else + ' If SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & RE.RechnungsLandKz & "'", "FMZOLL", False) Then + ' If pos.LeistungsNr Then + ' getSachkonto = If(SQL.DLookup("[SachkontoEUSteuerpflichtig]", "Leistungen", "[LeistungsNr]=" & pos.LeistungsNr, "FMZOLL"), "") + ' Else + ' getSachkonto = If(SQL.DLookup("[SachkontoEUSteuerfrei]", "Leistungen", "[LeistungsNr]=" & pos.LeistungsNr, "FMZOLL"), "") + ' End If + ' Else + ' getSachkonto = If(SQL.DLookup("[Sachkonto3Land]", "Leistungen", "[LeistungsNr]=" & pos.LeistungsNr, "FMZOLL"), "") + ' End If + ' End If + ' If getSachkonto = "" Then getSachkonto = "4000" 'DEFAULT! + + End Function + End Class \ No newline at end of file diff --git a/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb b/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb index 6e9180f0..2c114b7a 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb @@ -824,6 +824,7 @@ Public Class SQL Case "VERAG" : conn = GetNewOpenConnectionFMZOLL() Case "WEB" : conn = GetNewOpenConnectionWEB() Case "PARKZEIT" : conn = GetNewOpenConnectionPARKZEIT() + Case "FIBU" : conn = GetNewOpenConnectionSYSKA() End Select Using cmd As New SqlCommand(sql, conn) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb b/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb index fd5b2560..9c4fb034 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cTranslate.vb @@ -28,6 +28,7 @@ Public Class cTranslate_LIST T.trs_text = dr("trs_text") T.trs_FirmaID = dr("trs_FirmaID") T.trs_Option = dr("trs_Option") + T.trs_textDE = dr("trs_textDE") list.Add(T) End While dr.Close() @@ -49,6 +50,7 @@ Public Class cTranslate Property trs_subControl As Object = Nothing Property trs_sprache As String Property trs_text As String + Property trs_textDE As String Property trs_Option As Object = Nothing Property trs_FirmaID As Object = Nothing diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb b/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb index 62b5116a..e588e371 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb @@ -154,25 +154,27 @@ Public Class cUIDPruefung Public Shared Function doUIDPruefungALL(Optional datum As Object = Nothing, Optional SaveErgInAdressen As Boolean = True, Optional Sciherheitsabfrage As Boolean = True, Optional MaxEintraege As Integer = -1, Optional showErr As Boolean = True, Optional finanzOnline As Boolean = True, Optional veroegerungMs As Integer = 1500) As DataTable Dim dt As DataTable = Nothing - If datum = Nothing Then datum = CDate("15." & Now.ToString("MM.yyyy")).AddMonths(-1) + 'If datum = Nothing Then datum = CDate("15." & Now.ToString("MM.yyyy")).AddMonths(-1) - Dim where = "" - Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA - Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701)" - Case "IMEX" : where = " And Filialen.FilialenNr IN (5501)" - Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801)" - Case "UNISPED" : where = " AND Filialen.firma='UNISPED' " - Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)" - End Select - Dim Top = "" - If MaxEintraege > 0 Then - Top = " TOP " & MaxEintraege - End If + 'Dim where = "" + 'Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + ' Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701)" + ' Case "IMEX" : where = " And Filialen.FilialenNr IN (5501)" + ' Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801)" + ' Case "UNISPED" : where = " AND Filialen.firma='UNISPED' " + ' Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)" + 'End Select + 'Dim Top = "" + 'If MaxEintraege > 0 Then + ' Top = " TOP " & MaxEintraege + 'End If - dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " & - " From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr " & - " where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR UstIdGeprüft is null) and (Adressen.UstIdKz is not null and Adressen.UstIdNr is not null) " & - " And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL") + 'dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " & + ' " From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr " & + ' " where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR UstIdGeprüft is null) and (isnull(Adressen.UstIdKz,'') <> ''and isnull(Adressen.UstIdNr,'') <> '') " & + ' " And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL") + + dt = get_zupruefendeKunden(MaxEintraege, datum) If dt IsNot Nothing Then If dt.Rows.Count = 0 Then Return Nothing @@ -296,6 +298,41 @@ Public Class cUIDPruefung Return dt End Function + Public Shared Function get_zupruefendeKunden(MaxEintraege As Integer, Optional datum As Object = Nothing, Optional Firma As String = "") As DataTable + + Dim dt As DataTable = Nothing + If datum = Nothing Then datum = CDate("15." & Now.ToString("MM.yyyy")).AddMonths(-1) + + Dim where = "" + + If Firma = "" Then + Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA + End If + + + Select Case Firma + Case "AMBAR" : where = " And Filialen.FilialenNr IN (5701)" + Case "IMEX" : where = " And Filialen.FilialenNr IN (5501)" + Case "ATILLA" : where = " And Filialen.FilialenNr IN (4801)" + Case "UNISPED" : where = " AND Filialen.firma='UNISPED' " + Case Else : where = " AND Filialen.firma='VERAG' " '" And isnull(FilialenNr,'') Not IN (5501,5701)" + End Select + + + Dim Top = "" + If MaxEintraege > 0 Then + Top = " TOP " & MaxEintraege + End If + + dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " & + " From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr " & + " where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR UstIdGeprüft is null) and (isnull(Adressen.UstIdKz,'') <> ''and isnull(Adressen.UstIdNr,'') <> '') " & + " And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL") + + Return dt + + End Function + Public Shared Function doUIDPruefung(ba_KundenNr, Optional AskIfDouble = False, Optional SaveErgInAdressen = True, Optional showErr = True, Optional Art = "") As cUIDPruefung