Storno aus Dokument


Ein Storno-Dokument soll in vielen Fällen dem Originaldokument weitgehend gleichen. Wenn das Storno-Dokument auf demselben Weg wie das Originaldokument erzeugt wird, also aus den Datenbankdaten über die üblichen Formular-Label, dann können sich Unterschiede wegen zwischenzeitlich geänderter Stammdaten ergeben. Um das zu vermeiden, wird ein alternativer Weg beschritten, der das Storno-Dokument aus dem xpd-Code des Original-Dokuments erzeugt.
Das Programm erlaubt dabei folgende Arten von Modifikationen am Originaldokument:

ArtSyntax am BeispielHinweise
ErsetzenSUBST "Gutschrift" "Storno zu Gutschrift"Ersetzen von beliebigen Textpassagen
beachten Sie ggf. die Reihenfolge mehrerer Ersetzungen mit identischen Bestandteilen
wenn im Dokument sowohl der Text "Gutschrift" als auch "Datum der Gutschrift"
vorkommt, dann wird durch vorstehendes Beispiel daraus "Storno zu Gutschrift"
und "Datum der Storno zu Gutschrift"; letzteres ist sicher nicht beabsichtigt.
Sie könnten also vorher "Datum der Gutschrift" durch "Datum des Stornos" ersetzen
EntfernenLOESCHEN 5 5der Text, der sich an der absoluten Position "5 5" befindet, wird entfernt;
das betrifft die Syntaxelemente txt, rtxt und ctxt; vorherige map, mrp, dap und drp
werden berücksichtigt; die Positionsberechnung erfolgt aber unabhägig von der
Ausgangspositionierung mit stm und slm;
das Beispiel funktioniert also z.B. in fogender Situation:
4 3 map 1 2 mrp txt "wird entfernt"
GrößenänderungGROESSE 0.9gesamtes Dokument wird um diesen Faktor verkleinert/vergrößert
VerschiebenVERSCHIEB 1 1gesamtes Dokument wird um diese Koordinaten verschoben
Zufügenmit Ausnahme der Kategorie LETZTSEITE erfolgt der Einschub unmittelbar zu Beginn
einer Seite; eine eventuelle Seitenpositionierung (stm oder slm), Schriftart-/Schriftgröße
und Tab's sind noch nicht wirksam
für das Zufügen gibt es folgende Möglichkeiten:
ALLESEITEN 0.5 sfh 1 1 map txt "Storno vom [DATUM]"zu Beginn jeder Seite eingefügt
ERSTESEITE 0.5 sfh 1 2 map txt "Storno zu Gutschrift [GNUMMER]"
ERSTESEITE 0.5 sfh 1 2.5 map txt "vom (Gutschriftdatum) [GDATUM]"
zu Beginn jedes Dokuments eingefügt
FOLGESEITE 0.5 sfh 1 2 map txt "noch Storno [STORNONR]"ab der zweiten Seite an jedem Seitenbeginn eingefügt
LETZTSEITE 0.5 sfh 1 18 map txt "Summe [BRUTTO] EUR."am Ende jedes Dokuments eingefügt
EntwurfskennzeichenENTWURF 0.7 sfh 1 5 map txt "Entwurf"zu Beginn jeder Seite eingefügt, wenn es sich um einen Entwurf handelt
SkontohinweisSKONTOTEXT 2 24,2 map txt "Die angegebenen Skontierungsdaten sind aus"
SKONTOTEXT 2 24,5 map txt "der Rechnung übernommen.
am Ende des Dokuments eingefügt, wenn Skonto vorliegt"
EinzughinweisEINZUGTEXT 2 26,0 map txt "Der Betrag wird eingezogen."am Ende des Dokuments eingefügt, wenn es sich um einen Einzug handelt;
das ist beim Stornieren einer Gutschrift nicht zu erwarten
Text einpassenTEXTEINPASSEN 5 19 0.4 1 mntDer Kopftext wird auf der ersten Seite an der vertikalen Position 5 eingefügt, der Fusstext auf der letzten Seite an der vertikalen Position 19. Das Programm verkleinert den Bereich zwischen diesen beiden Positionen um die Anzahl Textzeilen * 0.4 cm. Jede Textzeile wird mit "1 mnt" eingeleitet (danach "txt", am Zeilenende "nwl").


Dezimalen können durch Komma oder Punkt abgetrennt werden. Das Suffix "f" ist nicht zulässig. Kommentare in der Syntax [REM.Kommentar] sind zulässig.

    Folgende Ersatzausdrücke werden unterstützt:
  • NETTO
  • MWST
  • BRUTTO
  • DATUM - aktuelles Tagesdatum
  • REDATUM - im Fenster eingegebenes Belegdatum
  • BUDATUM - im Fenster eingegebenes Buchungsdatum
  • RDATUM - Datum der Rechnung
  • RNUMMER - Nummer der Rechnung
  • GDATUM - Datum der Gutschrift aus Vergütung
  • GNUMMER - Nummer der Gutschrift aus Vergütung
  • STORNONR - Nummer des Stornos/der (neuen) Gutschrift
  • AKTSKONTODAT - Datumsangabe aus Storno-(Tages-)Datum und Skontofrist der Zahlungsbedingung
  • AKTNETTODAT - Datumsangabe aus Storno-(Tages-)Datum und Nettofrist der Zahlungsbedingung
  • Beim Stornieren/Gutschreiben von Rechnungen werden auch die im Fenster "Ersatzaudrücke" definierten Einträge umgesetzt.


Diese Modifikationen sind für das Stornieren von Gutschriften aus Vergütung in einem Label :STORNIEREN zu definieren, für das Stornieren/Gutschreiben von Rechnungen in einem Label :RECHNUNG_GUTSCHREIBEN_STORNIEREN. Nur dieses Label wird zum Stornieren benutzt. Es braucht sich nicht um dasselbe Formular zu handeln, mit dem die Gutschrift erzeugt wurde; aber es wird oft sinnvoll sein, dasselbe Formular zu verwenden, weil man dann Klartexte und Positionen bequem vergleichen und ggf. in das neue Label kopieren kann.
Beachten Sie dabei, dass sich Klartexte und Positionen auf das Original-Dokument, nicht auf das Formular im augenblicklichen Zustand, beziehen. Hierzu ein Beispiel:
Sie hatten früher das Datum auf der Postion 5 - 5 angeordnet, zum Beispiel mit dieser Syntax:
     5 5 map txt "[DATUM]"
Später haben Sie die Position im Formular verschoben:
     5,5 5 map txt "[DATUM]"
Wenn die Stornierung sowohl auf älteren als auch auf neuere Dokumente angewendet werden soll, und wenn Sie das Originaldatum an der betreffenden Stelle beseitigen wollen, dann müssen sie beide Modifikationen vornehmen:
     LOESCHEN 5 5
     LOESCHEN 5,5 5
Das gilt selbstverständlich analog für andere Änderungen. Wenn Sie früher den Text "Gutschrift" und später "Rechnungskorrektur" verwendet haben, dann müssen Sie - wenn gewünscht - beide Texte durch den neuen Inhalt substituieren:
     SUBST "Gutschrift" "Storno"
     SUBST "Rechnungskorrektur" "Storno"
Man muss also die Historie des Formulars beziehungsweise aller Dokumente beachten.