====== offer-cube FAQ / Variablen aus Positionsgruppen ======
Zurück zur [[offer-cube:howto|Anleitungen / HowTos]]
Siehe auch [[offer-cube:howto:pdf-special-variables|PDF Power User Funktionen Variablen/Funktionen]] \\
Siehe auch [[offer-cube:howto:positiongroup|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 [[offer-cube:howto:positiongroup|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 [[offer-cube:howto:positiongroup|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 [[offer-cube:howto:pdf-special-variables|PDF Power User Funktionen Variablen/Funktionen]].
{{offer-cube:faq:faq_variables-positiongroup:offer-cube-faq-variables-positiongroup-01-positiongroup.png|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).
{{offer-cube:faq:faq_variables-positiongroup:offer-cube-faq-variables-positiongroup-02-position-text.png|Position erstellen und Variablen in Beschreibung auswerten/setzen}}
==== Details: Resultat im PDF ====
Wird nun das PDF angezeigt, sieht das ganze so aus:
{{offer-cube:faq:faq_variables-positiongroup:offer-cube-faq-variables-positiongroup-03-pdf-result.png|PDF Resultat}}