====== 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}}