REM ***********************************************************************************************
REM * Arbeitsweise des Standard-Makros:
REM * - Belegnummern mit Präfixen werden generiert (d.h. es müssen im Formu- *
REM * lar Werte für Primär- und Sekundärpräfix eingetragen sein) *
REM * - Forderungen erhalten alle Rang 0 bei der Anmeldung (analog Tabellenformular) *
REM * - die Verzeichnisposition bleibt unverändert (wird NICHT zurückgesetzt wie *
REM * bei Anmeldung im Tabellenformular), ist jedoch noch keine Verzeichnis- *
REM * position eingetragen, wird der gleiche Defaultwert verwendet, wie im Ta- *
REM * bellenformular, nämlich § 38. *
REM * - ist der Wert der Hauptforderung gleich 0, wird voll bestritten (also auch *
REM * eventuelle Zinsen/Kosten) *
REM * - sind Hauptforderung, Zinsen, Kosten <= den Vorschlagswerten, wird der ) *
REM * volle Betrag festgestellt *
REM * - überschreitet einer der obigen Werte den Vorschlagswert, wird der da- ) *
REM * rüber hinaus gehende Teilbetrag bestritten, der Rest bis maximal zur Sum- *
REM * me aus den vorgeschlagenen Werten festgestellt *
REM * - handelt es sich um eine Ausfallforderung, wird der festgestellte Betrag ins *
REM * Feld “festgestellt für den Ausfall” eingetragen, ansonsten in “Festgestellt” *
REM * - wird ein (Teil)betrag bestritten, wird ein passender Bestreitensgrund generiert *
REM * - ob Prüfungen erzeugt werden, hängt ausschließlich von der Einstellung im *
REM * Barcode-Formular ab (Makro verändert die Einstellung nicht) *
REM ***********************************************************************************************
Option Strict Off
Imports System.Collections
Public Class Makro
Public Function BrauchtBelegnummer() As Boolean
REM *** Hier angeben, ob eine Belegnummer unter Verwendung der Präfixe generiert werden soll ***
Return True
REM ***********************************************************************************************
End Function
Public Function Anmelden(ByVal curFibuwert As Decimal, ByVal curVorschlagZinsen As Decimal, ByVal curVorschlagKosten As Decimal, ByVal curHauptforderung As Decimal, ByVal curAngemeldetZins As Decimal, ByVal curAngemeldetKost As Decimal, ByVal lngRangId As Integer, ByVal lngVerzeichnisposIdTab As Integer, ByVal ysnAbsonderung As Boolean, ByVal ysnUnerlaubt As Boolean, ByVal ysnKeinPruefungsergebnis As Boolean, ByVal strBemExt As String) As ArrayList
Dim aErgebnis As New ArrayList
Dim intPraefixKennung As Integer
Dim curFestgestellt As Object
Dim curFestgestelltAusfall As Object
Dim curBestritten As Object
Dim ysnVorlaeufig As Object
Dim strBestreitensgrund As Object
Dim curFestAufschiebend As Object
Dim curFestAuflösend As Object
Dim lngTabellenRangID As Object
Dim lngNeuVerzeichnisposIdTab As Object
Dim ysnNichtPruefen As Object
REM *** Hier die Werte für die Anmeldung generieren ***
intPraefixKennung = 2
REM * Rang 0 ist Standard (ID = 2)
REM * andere Werte müssen selbst gesetzt werden und werden nicht automatisch
REM * aus der Verzeichnisposition generiert (da diese unterschiedlich konfiguriert sein können)
lngTabellenRangID = 2
REM * Verzeichnisposition unverändert lassen, 0 bedeutet, noch keine vorhanden REM * (Default wird verwendet, wenn lngNeuVerzeichnisposIdTab als null zurück-REM *gegeben wird)
If lngVerzeichnisposIdTab <> 0 Then
lngNeuVerzeichnisposIdTab = lngVerzeichnisposIdTab
End If
REM ***********************************************************************************************
REM * Hier die Werte für die Prüfung generieren ***
REM * Soll Prüfung erzeugt werden? Vorgabe-Wert aus Formular kann hiermit überschrieben werden
ysnNichtPruefen = ysnKeinPruefungsergebnis
If curHauptforderung = 0 Then
REM * Voll bestreiten, weil angemeldete Hauptforderung = 0 ist
REM * In diesem Falle keine Unterscheidung Fibu oder Absonderung notwendig
curBestritten = curHauptforderung + curAngemeldetZins + curAngemeldetKost
strBestreitensgrund = “Nicht nachgewiesen.”
Else
If curHauptforderung <= curFibuwert And curAngemeldetZins <= curVorschlagZinsen And curAngemeldetKost <= curVorschlagKosten Then
REM * in voller Höhe feststellen, weil alle angemeldeten Werte <= vorgeschlagenen
REM * Werte (Einzelbetrachtung!)
REM * Primärpräfix verwenden
If ysnAbsonderung = False Then
curFestgestellt = curHauptforderung + curAngemeldetZins + curAngemeldetKost
Else
curFestgestelltAusfall = curHauptforderung + curAngemeldetZins + curAngemeldetKost
End If
intPraefixKennung = 1
Else
REM * Teilbestreiten oder Voll bestreiten, wenn Vorgaben zu hoch sind
strBestreitensgrund = ““
curBestritten = 0
If curHauptforderung > curFibuwert Then
strBestreitensgrund = strBestreitensgrund & “Hauptforderung”
curBestritten = curBestritten + (curHauptforderung - curFibuwert)
End If
If curAngemeldetZins > curVorschlagZinsen Then
If strBestreitensgrund <> “” Then strBestreitensgrund = strBestreitensgrund & ” und “
strBestreitensgrund = strBestreitensgrund & “Zinsen”
curBestritten = curBestritten + (curAngemeldetZins - curVorschlagZinsen)
End If
If curAngemeldetKost > curVorschlagKosten Then
If strBestreitensgrund <> “” Then strBestreitensgrund = strBestreitensgrund & ” und “
strBestreitensgrund = strBestreitensgrund & “Kosten”
curBestritten = curBestritten + (curAngemeldetKost - curVorschlagKosten)
End If
strBestreitensgrund = strBestreitensgrund & ” nicht nachgewiesen.”
If ysnAbsonderung = True Then
REM * Bei Absonderung den festgestellten Wert in das richtige Feld schreiben
curFestgestelltAusfall = curHauptforderung + curAngemeldetZins + curAngemeldetKost - curBestritten
Else
curFestgestellt = curHauptforderung + curAngemeldetZins + curAngemeldetKost - curBestritten
End If
End If
End If
ysnVorlaeufig = False
REM * wenn nicht geprüft wird, immer das Sekundärpräfix verwenden
If ysnNichtPruefen = True Then
intPraefixKennung = 2
End If
REM ***********************************************************************************************
If curFestgestellt = 0 Then
curFestgestellt = Nothing
End If
If curFestgestelltAusfall = 0 Then
curFestgestelltAusfall = Nothing
End If
If curBestritten = 0 Then
curBestritten = Nothing
End If
aErgebnis.Add(intPraefixKennung)
aErgebnis.Add(curFestgestellt)
aErgebnis.Add(curFestgestelltAusfall)
aErgebnis.Add(curBestritten)
aErgebnis.Add(ysnVorlaeufig)
aErgebnis.Add(strBestreitensgrund)
aErgebnis.Add(lngTabellenRangID)
aErgebnis.Add(lngNeuVerzeichnisposIdTab)
aErgebnis.Add(ysnNichtPruefen)
aErgebnis.Add(curFestAufschiebend)
aErgebnis.Add(curFestAuflösend)
Return aErgebnis
End Function
End Class
|