Standardmakro

14.5 Standardmakro

Neben dem Generieren der Belegnummern, hat das mit der Grundversion des Barcode-Moduls ausgelieferte Standardmakro folgende Funktionen:
Forderungen
  • Die Forderungen erhalten bei der Anmeldung immer Rang 0.
  • Ist der Wert der Hauptforderung gleich Null, wird die Forderung vollständig bestritten (also auch eventuelle Zinsen/Kosten).
  • Sind Hauptforderung, Zinsen, Kosten kleiner oder gleich den Vorschlagswerten, wird sie anerkannt.
  • Überschreitet einer der Beträge den Vorschlagswert, wird der darüber hinaus gehende Teilbetrag bestritten, der Rest bis maximal zur Summe aus den vorgeschlagenen Werten anerkannt.
  • Handelt es sich um eine Ausfallforderung, wird der anerkannte Betrag in das Feld „Festgestellt für den Ausfall“ eingetragen, andernfalls in das Feld „Festgestellt“.
  • Für bestrittene (Teil-)Beträge wird ein passender Bestreitensgrund generiert.
Verzeichnis-positionen
  • Die Verzeichnisposition bleibt unverändert (Sie wird nicht zurückgesetzt wie bei Anmeldung im Tabellenformular!)
Prüfungen
  • Prüfungsvermerke werden immer wie im Barcode-Formular eingestellt erzeugt (Das Makro verändert die Einstellung nicht).
  • Bei aktivierter Option „Kein Prüfungsergebnis“ wird bei Verwendung des Standardmakros das Sekundärpräfix verwendet.
Standardmakro

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 

Verknüpfung mit