User Tools

Site Tools


offer-cube:faq:faq_variables-positiongroup

offer-cube FAQ / Variablen aus Positionsgruppen

Allgemeines / Zusammenfassung

Diese Kurzanleitung zeigt anhand eines Beispiels das Zusammenspiel von Variablen mit Positionsgruppen und Positionen.

Ziel ist, dass je nach eingegebener Positions-Anzahl statt dem Preis ein entsprechender Text steht.

Die Variablen werden hierbei in einem Textfeld einer Position ausgewertet bzw. gesetzt und dann im Preisfeld angezeigt.

Warum wird eine Variable verwendet und nicht gleich direkt im Preisfeld der Wert ausgegeben?

Weil das Preisfeld in der Positionsgruppe nur 150 Zeichen hat und sich dadurch komplexe Auswertungen/Variablen Zuweisungen platzmäßig nicht ausgehen.

Meine Variable ist in einem anderen Feld leer - wieso?

möglicher Grund 1: Beim [[assign var="variable" value="wert" scope="global"]] muss unbedingt das scope=“global” angegeben werden!

möglicher Grund 2: Die Texte (und damit die Variablenzuweisungen) werden der Reihenfolge nach durchgegangen, wie sie auch im PDF angezeigt werden.
Das bedeutet, die Variable $styp ist in allen nachfolgenden Positionen ebenfalls (mit dem letzten gesetzten Wert) verfügbar (durch scope=“global”). In den vorhergehenden Positionen jedoch nicht!
Die Variable ist auch im Auftrags-Appendix verfügbar - jedoch nicht in der Auftrags-Beschreibung (da diese VOR den Positionen kommt).

Details: Anlegen der Positionsgruppe

Es wird eine neue Positionsgruppe angelegt.

Diese Positionsgruppe benötigt folgende Einstellungen:

  • Positionsgruppe in PDF anzeigen? Gruppe nicht anzeigen
  • Preisangabe bei Position immer definierten Text anzeigen
  • Text statt Positionspreis
    [[$styp]]

Mehr Details zu Variablen siehe PDF Power User Funktionen Variablen/Funktionen.

Einstellungen -> Positionsgruppen -> Neu

Details: Anlegen der Position

Bei der neuen Position z.B. in einem Auftrag muss dann die entsprechende Positionsgruppe ausgewählt werden.

Nun wird im Beschreibungsfeld der Position die Variable “$styp” gesetzt, die vorher in der Positionsgruppe definiert wurde um statt dem Preis angezeigt zu werden.

[[if $position.amount == 1]]
   [[assign var="styp" value="Typ A / niedrig" scope="global"]]
[[else if $position.amount == 2]]
   [[assign var="styp" value="Typ B / mittel" scope="global"]]
[[else if $position.amount >= 3]]
   [[assign var="styp" value="Typ C / hoch" scope="global"]]
[[/if]]

Dies bedeutet soviel wie:

  • Wenn die Anzahl der aktuellen Position = 1 ist (if $position.amount == 1)
  • Dann wird der Variable “styp” der Wert “Typ A / niedrig” zugewiesen
  • Wenn die Anzahl der aktuellen Position = 2 ist (if $position.amount == 2)
  • Dann wird der Variable “styp” der Wert “Typ B / mittel” zugewiesen
  • Wenn die Anzahl der aktuellen Position gößer/gleich 3 ist (if $position.amount == 2)
  • Dann wird der Variable “styp” der Wert “Typ C / hoch” zugewiesen

Wichtig: Beim assign muss unbedingt scope=“global” angegeben werden - damit steht die Variable auch in anderen Feldern zur Verfügung.

Hinweis: Die Positionen/Textblöcke werden der Reihenfolge nach durchgegangen, wie sie auch im PDF angezeigt werden.
Das bedeutet, die Variable $styp ist in allen nachfolgenden Positionen ebenfalls (mit dem letzten gesetzten Wert) verfügbar (durch scope=“global”). In den vorhergehenden Positionen jedoch nicht!
Die Variable ist auch im Auftrags-Appendix verfügbar - jedoch nicht in der Auftrags-Beschreibung (da diese VOR den Positionen kommt).

Position erstellen und Variablen in Beschreibung auswerten/setzen

Details: Resultat im PDF

Wird nun das PDF angezeigt, sieht das ganze so aus:

PDF Resultat

offer-cube/faq/faq_variables-positiongroup.txt · Last modified: 2019/06/02 20:38 (external edit)