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