This shows you the differences between two versions of the page.
offer-cube:faq:faq_variables-positiongroup [2019/06/02 20:38] |
offer-cube:faq:faq_variables-positiongroup [2019/06/02 20:38] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== 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 **<nowiki>[[assign var="variable" value="wert" scope="global"]]</nowiki>** 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 <code>[[$styp]]</code> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | <code> | ||
+ | [[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]] | ||
+ | </code> | ||
+ | |||
+ | 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}} | ||