OrigInvoice cRKSV, Kundebarb, etc.
This commit is contained in:
@@ -2520,6 +2520,15 @@ Public Class cRKSV
|
||||
|
||||
Dim jahr As Integer = Now.Year
|
||||
Dim periode As Integer = Now.Month
|
||||
Dim rel_periode As Integer = Now.Month - 1
|
||||
|
||||
If rel_periode <= 0 Then
|
||||
rel_periode += 12
|
||||
End If
|
||||
|
||||
If rel_periode > periode Then
|
||||
jahr -= 1
|
||||
End If
|
||||
|
||||
Dim betrag As Decimal = SumBelegPositionen(beleg)
|
||||
|
||||
@@ -2530,7 +2539,7 @@ Public Class cRKSV
|
||||
Dim dtKonten As DataTable = BuildVerbuchungskonten(KBEntryGB_list, beleg, kassenkonto, forderungskonto, bestandskonto)
|
||||
|
||||
' 5) build booking text (and trim to 48 chars with remainder stored separately)
|
||||
Dim buchungstextFull As String = (If(betrag < 0, "STORNO ", "")) & If(typ = "AUSZAHLUNG", "KA", "KE") & "_" & SafeString(beleg.AbfertigungsNr) & "_" & SafeString(beleg.LKW_Kennzeichen) & "_" & SafeString(beleg.Frachtführer) & "_" & SafeString(beleg.Fahrer) & "_" & SafeString(beleg.Passnummer)
|
||||
Dim buchungstextFull As String = (If(betrag < 0, "STORNO ", "")) & SafeString(beleg.FilialenNr) & "/" & SafeString(beleg.AbfertigungsNr) & "_" & SafeString(beleg.LKW_Kennzeichen) & "_" & SafeString(beleg.Frachtführer) & "_" & SafeString(beleg.Fahrer) & "_" & SafeString(beleg.Passnummer)
|
||||
Dim buchungstext As String
|
||||
Dim buchungstextBemerkung As String
|
||||
SplitBuchungstext(buchungstextFull, 48, buchungstext, buchungstextBemerkung)
|
||||
@@ -2571,21 +2580,21 @@ Public Class cRKSV
|
||||
zsZeilenNr += 1
|
||||
Dim buchungsbetrag1 As Decimal = betrag
|
||||
UpdateDtKontenAmount(dtKonten, kassenkonto, "Soll", buchungsbetrag1)
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
buchungstext, CType(buchungsbetrag1, Double), "EUR", zsZeilenNr, "KO", kassenkonto, beleg.KundenNr, "S", BelegNrUID)
|
||||
|
||||
' 2) Debitor (Haben)
|
||||
zsZeilenNr += 1
|
||||
Dim buchungsbetrag2 As Decimal = betrag
|
||||
UpdateDtKontenAmount(dtKonten, beleg.KundenNr, "Haben", buchungsbetrag2)
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
buchungstext, CType(buchungsbetrag2, Double), "EUR", zsZeilenNr, "DE", beleg.KundenNr, kassenkonto, "H", BelegNrUID)
|
||||
|
||||
' 3) Forderung (Haben)
|
||||
zsZeilenNr += 1
|
||||
Dim buchungsbetrag3 As Decimal = betrag
|
||||
UpdateDtKontenAmount(dtKonten, forderungskonto, "Haben", buchungsbetrag3)
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
buchungstext, CType(buchungsbetrag3, Double), "EUR", zsZeilenNr, "DB", forderungskonto, kassenkonto, "H", BelegNrUID)
|
||||
End If
|
||||
ElseIf typ = "AUSZAHLUNG" Then
|
||||
@@ -2595,35 +2604,35 @@ Public Class cRKSV
|
||||
zsZeilenNr += 1
|
||||
Dim buchungsbetrag1 As Decimal = betrag
|
||||
UpdateDtKontenAmount(dtKonten, bestandskonto, "Soll", buchungsbetrag1)
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
buchungstext, CType(buchungsbetrag1, Double), "EUR", zsZeilenNr, "KO", bestandskonto, 0, "S", BelegNrUID)
|
||||
|
||||
' 2) Kassa (Haben) = +betrag (cash out)
|
||||
zsZeilenNr += 1
|
||||
Dim buchungsbetrag2 As Decimal = betrag
|
||||
UpdateDtKontenAmount(dtKonten, kassenkonto, "Haben", buchungsbetrag2)
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
buchungstext, CType(buchungsbetrag2, Double), "EUR", zsZeilenNr, "KO", kassenkonto, 0, "H", BelegNrUID)
|
||||
|
||||
' 3) Debitor (Soll)
|
||||
zsZeilenNr += 1
|
||||
Dim buchungsbetrag3 As Decimal = betrag
|
||||
UpdateDtKontenAmount(dtKonten, beleg.KundenNr, "Soll", buchungsbetrag3)
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
buchungstext, CType(buchungsbetrag3, Double), "EUR", zsZeilenNr, "DE", beleg.KundenNr, 0, "S", BelegNrUID)
|
||||
|
||||
' 4) Forderung (Soll)
|
||||
zsZeilenNr += 1
|
||||
Dim buchungsbetrag4 As Decimal = betrag
|
||||
UpdateDtKontenAmount(dtKonten, forderungskonto, "Soll", buchungsbetrag4)
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
buchungstext, CType(buchungsbetrag4, Double), "EUR", zsZeilenNr, "DB", forderungskonto, 0, "S", BelegNrUID)
|
||||
|
||||
' 5) Bestandskonto (Haben)
|
||||
zsZeilenNr += 1
|
||||
Dim buchungsbetrag5 As Decimal = betrag
|
||||
UpdateDtKontenAmount(dtKonten, bestandskonto, "Haben", buchungsbetrag5)
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
InsertBelegszeile_new(sql, mandant, jahr, periode, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), SafeString(beleg.Belegart),
|
||||
buchungstext, CType(buchungsbetrag5, Double), "EUR", zsZeilenNr, "KO", bestandskonto, 0, "H", BelegNrUID)
|
||||
End If
|
||||
End If
|
||||
@@ -2650,9 +2659,7 @@ Public Class cRKSV
|
||||
Next
|
||||
|
||||
' 10) Offene Posten (nur einmal!)
|
||||
|
||||
Dim OP_KZ As String = "g"
|
||||
|
||||
Select Case typ
|
||||
Case "AUSZAHLUNG" : OP_KZ = "r"
|
||||
Case "EINZAHLUNG" : OP_KZ = "g"
|
||||
@@ -2660,10 +2667,15 @@ Public Class cRKSV
|
||||
|
||||
|
||||
createOP_new(mandant, CDbl(betrag), SafeString(beleg.BelegNr), beleg.BelegDat.ToShortDateString, SafeString(beleg.BelegNr), buchungstext, CDbl(betrag), "EUR", beleg.KundenNr, forderungskonto, i_beleg_refid, OP_KZ, c_sprache, c_zahlziel, CStr(dec_skonto), beleg.BelegDat.ToShortDateString, beleg.BelegDat.ToShortDateString, c_ustidnr, BelegNrUID)
|
||||
createOPVorgang_new(mandant, typ, CDbl(betrag), jahr, periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, buchungstext, beleg.KundenNr, CDbl(opvorgangsbetrag), i_beleg_refid, Now.ToString(), 0, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME)
|
||||
|
||||
createOPVorgang_new(mandant, typ, CDbl(betrag), jahr, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, buchungstext, beleg.KundenNr, CDbl(opvorgangsbetrag), i_beleg_refid, Now.ToString(), kassenkonto, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, 1, OP_KZ)
|
||||
|
||||
If typ = "AUSZAHLUNG" Then 'die zweite op_vorgang_deb Zeile insertieren
|
||||
createOPVorgang_new(mandant, typ, CDbl(betrag), jahr, rel_periode, SafeIntToSql(i_beleg_refid), beleg.BelegDat.ToShortDateString, buchungstext, beleg.KundenNr, CDbl(opvorgangsbetrag), i_beleg_refid, Now.ToString(), kassenkonto, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, 5)
|
||||
End If
|
||||
|
||||
' 11) single check if gebucht
|
||||
Dim gebucht = checkifgebucht_new(mandant, SafeString(beleg.BelegNr), buchungstext)
|
||||
Dim gebucht = checkifgebucht_new(mandant, SafeString(BelegNrUID), buchungstext)
|
||||
If gebucht Then
|
||||
' logging instead of MsgBox in production
|
||||
' MsgBox("GEBUCHT!")
|
||||
@@ -2734,7 +2746,11 @@ Public Class cRKSV
|
||||
|
||||
Private Shared Function BuildProtokollId(stapelRefId As Integer, lfd As Integer, jahr As Integer, periode As Integer) As String
|
||||
Dim now As DateTime = DateTime.Now
|
||||
Return $"{stapelRefId:0000}-{lfd:0000}-{now:yyyy-MM-dd HH:mm:ss}"
|
||||
Dim returnstring As String = ""
|
||||
If stapelRefId <> 0 Then returnstring &= "${stapelRefId:0000}-"
|
||||
If lfd > 1 Then returnstring &= "${lfd:0000}-"
|
||||
returnstring &= now.ToString("dd-MM-yyyy HH:mm:ss")
|
||||
Return returnstring
|
||||
End Function
|
||||
|
||||
Private Shared Sub UpdateDtKontenAmount(dt As DataTable, konto As Integer, field As String, amount As Decimal)
|
||||
@@ -2766,25 +2782,45 @@ Public Class cRKSV
|
||||
sql.doSQL(sqlStr, "FIBU")
|
||||
End Sub
|
||||
|
||||
Private Shared Sub InsertBelegszeile_new(sql As VERAG_PROG_ALLGEMEIN.SQL, mandant As Integer, Jahr As Integer, periode As Integer, beleg_ref_id As String, datumKurz As String, BelegNr As String, BelegArt As String, Buchungstext As String, Buchungsbetrag As Double, Waehrung As String, ZeilenNr As Integer, ckennsoll2 As String, Sollkonto2 As Integer, Habenkonto2 As Integer, SollhabenKZ As String, c_urbelegid As String)
|
||||
Private Shared Sub InsertBelegszeile_new(sql As VERAG_PROG_ALLGEMEIN.SQL, mandant As Integer, Jahr As Integer, periode As Integer, rel_periode As Integer, beleg_ref_id As String, datumKurz As String, BelegNr As String, BelegArt As String, Buchungstext As String, Buchungsbetrag As Double, Waehrung As String, ZeilenNr As Integer, ckennsoll2 As String, Sollkonto2 As Integer, Habenkonto2 As Integer, SollhabenKZ As String, c_urbelegid As String)
|
||||
Dim safeBT = SafeStringSql(Buchungstext)
|
||||
Dim sqlStr = "INSERT INTO [FIBU2].dbo.fibu_belegzeile (i_firm_refid, si_jahr, si_periode, si_rel_periode, i_beleg_refid, i_zeilen_refid, c_kennung, i_konto, c_sollhabenkz, i_steuer_refid, i_gegenkonto, dec_betrag, c_waehrung, dec_fremdbetrag, eur_betrag, d_beleg, d_gebucht, c_urbelegid, si_belegart, c_buchtext, i_buchungskreis) " &
|
||||
"VALUES(" & SafeIntToSql(mandant) & "," & Jahr & "," & periode & "," & periode & "," & beleg_ref_id & "," & ZeilenNr & ",'" & SafeStringSql(ckennsoll2) & "'," & Sollkonto2 & ",'" & SafeStringSql(SollhabenKZ) & "',0," & Habenkonto2 & "," & Buchungsbetrag.ToString().Replace(",", ".") & ",'" & SafeStringSql(Waehrung) & "'," & Buchungsbetrag.ToString().Replace(",", ".") & "," & Buchungsbetrag.ToString().Replace(",", ".") & ",'" & SafeStringSql(datumKurz) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(c_urbelegid) & "','" & SafeStringSql(BelegArt) & "','" & safeBT & "',1);"
|
||||
"VALUES(" & SafeIntToSql(mandant) & "," & Jahr & "," & periode & "," & rel_periode & "," & beleg_ref_id & "," & ZeilenNr & ",'" & SafeStringSql(ckennsoll2) & "'," & Sollkonto2 & ",'" & SafeStringSql(SollhabenKZ) & "',0," & Habenkonto2 & "," & Buchungsbetrag.ToString().Replace(",", ".") & ",'" & SafeStringSql(Waehrung) & "'," & Buchungsbetrag.ToString().Replace(",", ".") & "," & Buchungsbetrag.ToString().Replace(",", ".") & ",'" & SafeStringSql(datumKurz) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(c_urbelegid) & "','" & SafeStringSql(BelegArt) & "','" & safeBT & "',1);"
|
||||
sql.doSQL(sqlStr, "FIBU")
|
||||
End Sub
|
||||
|
||||
Private Shared Sub createOP_new(mandant As Integer, Betrag As Double, BelegNrText As String, datumKurz As String, BelegNr As String, Buchungstext As String, Buchungsbetrag As Double, Waehrung As String, Personenkonto As Integer, Forderungskonto As Integer, i_op_refid As String, c_op_Typ As Char, Sprache As String, Zahlungsziel As String, Skonto As String, Skontodatum As String, Nettodatum As String, c_ustidnr As String, c_urbelegid As String)
|
||||
|
||||
'Rechnung Betrag Positiv, Gutschrift Betrag negativ!typ
|
||||
Dim vorzeichen As Integer = 1
|
||||
Select Case c_op_Typ
|
||||
Case "r" : vorzeichen = 1
|
||||
Case "g" : vorzeichen = -1
|
||||
End Select
|
||||
|
||||
|
||||
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL()
|
||||
Dim betragStr = (Betrag * -1).ToString().Replace(",", ".")
|
||||
Dim betragStr = (Betrag * vorzeichen).ToString().Replace(",", ".")
|
||||
Dim sqlInsert = "INSERT INTO [FIBU2].dbo.op_debitor (i_firm_refid, i_op_refid, c_urbelegid, i_personenkonto, i_forderungskonto, c_rechnungid, d_rechnung, d_valuta, c_typ, c_sprache, c_waehrung, dec_eigenbrutto, dec_fremdbrutto, eur_bruttobetrag, dec_skf_eigen, dec_skf_fremd, eur_skontierfaehig, dec_eigenzahlung, dec_fremdzahlung, eur_zahlung, c_zahlziel, dec_skonto, d_skonto, dec_skonto2, d_netto, si_mahnstufe, i_mahnlauf_refid, si_exportiert, i_stapel_refid, i_stapel_lfdnr, dec_stpl_ew_betrag, dec_stpl_ew_skonto, dec_stpl_fw_betrag, dec_stpl_fw_skonto, eur_stpl_betrag, eur_stpl_skonto, i_clearing, i_eigene_bank, si_bankeinzug, c_bemerkung, lc_anmerkungen, i_zessionstext, i_buchungskreis, c_ustidnr) " &
|
||||
"VALUES(" & SafeIntToSql(mandant) & "," & i_op_refid & ",'" & SafeStringSql(c_urbelegid) & "'," & Personenkonto & "," & Forderungskonto & "," & SafeStringSql(BelegNrText) & ",'" & SafeStringSql(datumKurz) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(CStr(c_op_Typ)) & "','" & SafeStringSql(Sprache) & "','" & SafeStringSql(Waehrung) & "'," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & ",0,0,0,'" & SafeStringSql(Zahlungsziel) & "','" & SafeStringSql(Skonto) & "','" & SafeStringSql(Skontodatum) & "',0,'" & SafeStringSql(Nettodatum) & "',0,0,0,0,0,0,0,0,0,0,0,0,0,0,'" & SafeStringSql(Buchungstext) & "','" & SafeStringSql(Buchungstext) & "',0,1,'" & SafeStringSql(c_ustidnr) & "');"
|
||||
"VALUES(" & SafeIntToSql(mandant) & "," & i_op_refid & ",'" & SafeStringSql(c_urbelegid) & "'," & Personenkonto & "," & Forderungskonto & ",'" & SafeStringSql(c_urbelegid) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(datumKurz) & "','" & SafeStringSql(CStr(c_op_Typ)) & "','" & SafeStringSql(Sprache) & "','" & SafeStringSql(Waehrung) & "'," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & "," & betragStr & ",0,0,0,'" & SafeStringSql(Zahlungsziel) & "','" & SafeStringSql(Skonto) & "','" & SafeStringSql(Skontodatum) & "',0,'" & SafeStringSql(Nettodatum) & "',0,0,0,0,0,0,0,0,0,0,0,0,0,0,'" & SafeStringSql(Buchungstext) & "','" & SafeStringSql(Buchungstext) & "',0,1,'" & SafeStringSql(c_ustidnr) & "');"
|
||||
sql.doSQL(sqlInsert, "FIBU")
|
||||
End Sub
|
||||
|
||||
Private Shared Sub createOPVorgang_new(mandant As Integer, TYP As String, Betrag As Double, Jahr As Integer, periode As Integer, beleg_ref_id As String, datumKurz As String, Buchungstext As String, Personenkonto As Integer, opvorgangsbetrag As Double, i_op_refid As String, dt_creation As String, Sachkonto As Integer, Benutzer As String)
|
||||
Private Shared Sub createOPVorgang_new(mandant As Integer, TYP As String, Betrag As Double, Jahr As Integer, rel_periode As Integer, beleg_ref_id As String, datumKurz As String, Buchungstext As String, Personenkonto As Integer, opvorgangsbetrag As Double, i_op_refid As String, dt_creation As String, Sachkonto As Integer, Benutzer As String, si_zeilen_refid As Integer, Optional c_op_Typ As Char = "")
|
||||
|
||||
'Rechnung Betrag Positiv, Gutschrift Betrag negativ!
|
||||
|
||||
Dim vorzeichen As Integer = 1
|
||||
Select Case c_op_Typ
|
||||
Case "r" : vorzeichen = 1
|
||||
Case "g" : vorzeichen = -1
|
||||
End Select
|
||||
|
||||
opvorgangsbetrag = opvorgangsbetrag * vorzeichen
|
||||
|
||||
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL()
|
||||
Dim sqlInsert = "INSERT INTO [FIBU2].dbo.op_vorgang_deb (i_firm_refid, i_personenkonto, i_op_refid, i_beleg_refid, c_vorgang, d_beleg, si_rel_periode, si_jahr, i_steuer_refid, dec_steuerproz, i_nne_az_konto, dec_nettobetrag, dec_steuerbetrag, eur_nettobetrag, eur_steuerbetrag, dec_fremdbetrag, si_skontierfaehig, si_zeilen_refid, c_bemerkung, dt_datum, c_benutzer, i_eg_konto, i_auftrag_refid, dec_naf_steuerbetr, eur_naf_steuerbetr) " &
|
||||
"VALUES(" & SafeIntToSql(mandant) & "," & Personenkonto & "," & i_op_refid & "," & beleg_ref_id & ",'P','" & SafeStringSql(datumKurz) & "'," & periode & "," & Jahr & ",0,0," & Sachkonto & "," & opvorgangsbetrag.ToString().Replace(",", ".") & ",0," & opvorgangsbetrag.ToString().Replace(",", ".") & ",0," & opvorgangsbetrag.ToString().Replace(",", ".") & ",1,1,'" & SafeStringSql(Buchungstext) & "','" & SafeStringSql(dt_creation) & "','" & SafeStringSql(Benutzer) & "',0,0,0,0);"
|
||||
"VALUES(" & SafeIntToSql(mandant) & "," & Personenkonto & "," & i_op_refid & "," & beleg_ref_id & ",'P','" & SafeStringSql(datumKurz) & "'," & rel_periode & "," & Jahr & ",0,0," & Sachkonto & "," & opvorgangsbetrag.ToString().Replace(",", ".") & ",0," & opvorgangsbetrag.ToString().Replace(",", ".") & ",0," & opvorgangsbetrag.ToString().Replace(",", ".") & ",1," & si_zeilen_refid & ",'" & SafeStringSql(Buchungstext) & "','" & SafeStringSql(dt_creation) & "','" & SafeStringSql(Benutzer) & "',0,0,0,0);"
|
||||
sql.doSQL(sqlInsert, "FIBU")
|
||||
End Sub
|
||||
|
||||
|
||||
Reference in New Issue
Block a user