2.8.3 ErsetzeText für Trennzeichen

Mit der Funktion ErsetzeText können Trennzeichen wie . (Punkt) und , (Komma) ersetzt werden.

Ein Beispiel dafür ist das Ersetzen (vertauschen) dieser Trennzeichen bei Beträgen, so wird aus "1.000,-" beispielsweise "1,000.00".
Diese Anpassung ist erforderlich wenn Honorarnoten an Empfänger in bestimmten Ländern erstellt werden.

Voraussetzungen

  1. Die Funktion kann nur in RTF- und DOCX-Vorlagen verwendet werden. Eine Verwendung in CSV- oder XLSX-Vorlagen ist nicht möglich.

Hinweise

In diesem Fall ist die Erstellung und Bearbeitung ausschließlich in DOCX-Vorlagen beschrieben.
Die Verwendung in RTF-Vorlagen wird wie im Absatz Voraussetzungen ersichtlich zwar unterstützt, wir raten davor aber ab.
Es wird sonst bei der Konvertierung RTF- auf DOCX-Vorlagen zu Problemen mit der Funktion ErsetzeText kommen.

Anleitung

  1. Öffnen Sie die relevante Vorlage mit Microsoft Office Word. Eine Übersicht aller Vorlagen finden Sie hier.
    In diesem Beispiel wird ein Teil der Vorlage "...\ADVOKAT\Daten\Vorlagen\OP\HNBau.docx" angepasst.

  2. Suchen Sie alle XML-Befehle, welche einen Betrag ausgeben, das sind beispielsweise <Betrag,/>, <BasisBetrag,/>, <BetragZW,/> und <SummeZW,/>.
    Ersetzen Sie diese XML-Befehle, durch beispielsweise <ErsetzeBetrag/>, <ErsetzeBasisBetrag/>, <ErsetzeBetragZW/> und <ErsetzeSummeZW/>.
    Wichtig: Achten Sie darauf, dass die Beistriche und Punkte entfernt werden.

    VorherNachher

       

  3. Suchen Sie alle Einträge <template match ....>, welche unter Punkt 2 erwähnte XML-Befehle umschließen. Ergänzen Sie dort die XML-Befehle wie beispielsweise Variable="ErsetzeBetrag". 
    Es sind ein oder mehrere Befehle erforderlich, abhängig davon welche XML-Befehl innerhalb des template verwendet werden.

    VorherNachher

       

  4. Suchen Sie den letzten Eintrag </template> vor dem Eintrag </textblock>. In einer neuen Zeile zwischen </template> und </textblock> fügen Sie die Funktion wie folgt ein:

    <functions>
    	<ErsetzeBetrag Param="Betrag">
    		ErsetzeBetrag = Format(CCur(Betrag), "Currency")
    		ErsetzeBetrag = Replace(ErsetzeBetrag, ".", "~.~")
    		ErsetzeBetrag = Replace(ErsetzeBetrag, ",", ".")
    		ErsetzeBetrag = Replace(ErsetzeBetrag, "~.~", ",")
    		ErsetzeBetrag = Replace(ErsetzeBetrag, " €", "")
    	</ErsetzeBetrag>
    	<ErsetzeBetragZW Param="BetragZW">
    		ErsetzeBetragZW = Format(CCur(BetragZW), "Currency")
    		ErsetzeBetragZW = Replace(ErsetzeBetragZW, ".", "~.~")
    		ErsetzeBetragZW = Replace(ErsetzeBetragZW, ",", ".")
    		ErsetzeBetragZW = Replace(ErsetzeBetragZW, "~.~", ",")
    		ErsetzeBetragZW = Replace(ErsetzeBetragZW, " €", "")
    	</ErsetzeBetragZW>
    	<ErsetzeBasisBetrag Param="BasisBetrag">
    		ErsetzeBasisBetrag = Format(CCur(BasisBetrag), "Currency")
    		ErsetzeBasisBetrag = Replace(ErsetzeBasisBetrag, ".", "~.~")
    		ErsetzeBasisBetrag = Replace(ErsetzeBasisBetrag, ",", ".")
    		ErsetzeBasisBetrag = Replace(ErsetzeBasisBetrag, "~.~", ",")
    		ErsetzeBasisBetrag = Replace(ErsetzeBasisBetrag, " €", "")
    	</ErsetzeBasisBetrag>
    	<ErsetzeSummeZW Param="SummeZW">
    		ErsetzeSummeZW = Format(CCur(SummeZW), "Currency")
    		ErsetzeSummeZW = Replace(ErsetzeSummeZW, ".", "~.~")
    		ErsetzeSummeZW = Replace(ErsetzeSummeZW, ",", ".")
    		ErsetzeSummeZW = Replace(ErsetzeSummeZW, "~.~", ",")
    		ErsetzeSummeZW = Replace(ErsetzeSummeZW, " €", "")
    	</ErsetzeSummeZW>
    </functions>

    Die Zeilen ErsetzeBetrag... = Replace... und If Text = ... werden verwendet um die erwähnten Zeichen zu ersetzen.
    Die Zeile ErsetzeBetrag... = Replace(ErsetzeBetrag..., " €", "") wird benötigt und ist abhängig von den Formateinstellungen des Betriebssystems. Bei Bedarf ist der Inhalt von " €" auf "€ " zu ändern.

    Wichtig beim Einfügen der Funktion (<functions> bis </functions>) ist, dass alle Zeilen sich innerhalb eines "Nur-Text-Inhaltssteuerelementes" befinden.
    Die einzelnen Zeilen der Funktion müssen mit weicher Zeilenschaltung getrennt werden. Das Inhaltssteuerelement muss die Option "Wagenrücklauf zulassen" aktiviert haben.
     


  5. Speichern Sie die Datei, ein Neustart von ADVOKAT ist nicht erforderlich. Das Ergebnis sieht wie folgt aus:


Copyright © 2024 ADVOKAT Unternehmensberatung GREITER & GREITER GmbH - Impressum ->https://advokat.at/Impressum.aspx