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.
Die Semantik wird bei der Ersetzung nicht beachtet. Man kann also zum Beispiel auch "1 1 bmp" durch "" (nichts) ersetzen; es soll aber eine fehlerfreie xpd-Syntax entstehen.
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ängig 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
  • STORNONR - Nummer des Stornos/der (neuen) Gutschrift
  • STDATUM - im Fenster eingegebenes Belegdatum
  • REDATUM - im Fenster eingegebenes Belegdatum, wie und zusätzlich zu STDATUM, nur beim Stornieren von Rechnungen
  • BUDATUM - im Fenster eingegebenes Buchungsdatum
  • AKTSKONTODAT - Datumsangabe aus Storno-(Tages-)Datum und Skontofrist der Zahlungsbedingung
  • AKTNETTODAT - Datumsangabe aus Storno-(Tages-)Datum und Nettofrist der Zahlungsbedingung
  • RDATUM - Datum der Rechnung, nur beim Stornieren von Rechnungen
  • RNUMMER - Nummer der Rechnung, nur beim Stornieren von Rechnungen
  • GDATUM - Datum der Gutschrift aus Vergütung, nur beim Stornieren von Gutschriften
  • GNUMMER - Nummer der Gutschrift aus Vergütung, nur beim Stornieren von Gutschriften
  • Die Standard-Ausgabe-Variablen wie DATUM über BEN_NR bis MAND_NAME, wie in "Allgemeinen Hinweisen zur Formlargestaltung" beschrieben
  • Die im Fenster "Ersatzaudrücke" definierten Einträge werden umgesetzt., die in den Rubriken "auf Gutschrift aus Vergütung", "auf Gutschrift aus Rechnung" beziehungweise "auf Storno" definiert sind, sowie die mandantenabhängigen Ersatzausdrücke.

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.

Ein weiterer Hinweis: Es gibt Formulare, die zu Beginn mit "bmp" ein großes Bild über das ganze Blatt legen. Texte, die zum Beispiel mit "ALLESEITEN" ganz zu Beginn der Anpassungen eingebunden werden, können durch das folgende Bild wieder zugedeckt = unsichtbar werden. Dann hilft es, das Bild durch Verschieben der Koordinaten außerhalb des sichtbaren Bereiches zu verschieben und wieder neu zuzufügen, zum Beispiel so:
SUBST     "1.2 3.5 map"  "99 99 map"
ALLESEITEN 1.2 3.5 map   20.9 29.9 bmp "Briefbogen.jpg"

Bamberg