Neu In Workflow Variable definieren und nachträglich den Wert verändern?

OliausderSchweiz

Aktives Mitglied
3. März 2013
34
0
Hallo - ich verzweifle ...

In einem Workflow erstelle ich eine Variable ...
{% assign MeineVariable = (MeinWert | Times: 5.55 | FormatNumber: 'N2' -%}
... deren Wert ich dann irgendwo weiter unten noch verändern muss ...
{% assign MeineVariable = MeineVariable | Plus: 0.05 | FormatNumber: 'N2' -%}

Es wird auf diese Weise leider kein Wert ausgegeben ... was mache ich falsch?
Jetzt schon mal vielen herzlichen Dank!!!
 

Steffen80

Sehr aktives Mitglied
27. August 2012
389
85
Code:
{% assign MeinWert =5.567 -%}
{% assign MeineVariable = MeinWert | Times: 5.55  -%}
{% assign MeineVariable = MeineVariable | Plus: 0.05  | FormatNumber: 'N2', 'de-DE' -%}
 

OliausderSchweiz

Aktives Mitglied
3. März 2013
34
0
Code:
{% assign MeinWert =5.567 -%}
{% assign MeineVariable = MeinWert | Times: 5.55  -%}
{% assign MeineVariable = MeineVariable | Plus: 0.05  | FormatNumber: 'N2', 'de-DE' -%}
Neue Erkenntnis:
{% assign MeinWert = 1.03 -%}
{% assign MeineVariable = MeinWert | Times: 5.00 -%} ergibt Wert = 5.15

Variante1:
{% assign MeineVariable = MeineVariable | Plus: 0.05 | FormatNumber: 'N2', 'de-DE' -%} ergibt Wert ""
Da kommt nichts raus ...

Variante2:
{% assign MeineVariable = MeineVariable | Plus: 0.05 -%} ergibt Wert "5.15.05"
Hier wurde jetzt ein String draus ... weshalb?
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
635
202
Schwer nachzuvollziehen was genau du hier machst, aber bedenke dies: Sobald du das "| FormatNumber: 'N2', 'de-DE' " anhängst, wird das Ergebnis ein String. Wenn du dann versuchst etwas zu "addieren", werden eben nur die Zeichen dahintergeschrieben (wie in Variante2).

Wenn du nun wie im Ursprünglichen Post gleich zu beginn "{% assign MeineVariable = (MeinWert | Times: 5.55 | FormatNumber: 'N2' -%}" machst, wird die Variable {{ MeineVariable }} ein Text. Damit kannst du nicht weiterrechnen. Du darfst also das FormatNumber nicht verwenden solange du noch mit der Variable rechnest (oder du Formatierst danach wieder in eine Zahl um, wäre ja aber unnötig).

Auch wichtig: Wenn du das FormatNumber verwendest und die Zahl zum Schluss ein Text wird, kannst du diesen Wert nicht benutzen für Felder, die eine Zahl erwarten (z.B. ein Preisfeld, oder wenn du als Rückgabetyp in einer Erweiterten Eigenschaft einen Zahlentyp gewählt hast). Möglicherweise brauchst du das FormatNumber gar nicht. Wie gesagt, leider nicht ganz nachvollziehbar was du tun möchtest (was passiert mit dem Wert? Woher kommt der ursprüngliche Wert?)

In meinem Test funktioniert dein Beispiel aus dem ursprünglichen Post einfach so:

Code:
{% assign MeinWert = 5.567 -%}
{% assign MeineVariable = MeinWert | Times: 5.55  -%}
{% assign MeineVariable = MeineVariable | Plus: 0.05 -%}
{{ MeineVariable }}

Gibt mir am Ende 30,94685 aus, wenn du das auf zwei Stellen runden möchtest kannst du einfach ein
"| Round: 2"
hinten ranhängen


EDIT: vielleicht hilft dir auch der kleine Schmankerl vom Manuel Pietzsch hier:
Rechnen mit DotLiquid - Automatisierung im E-Commerce
 
  • Gefällt mir
Reaktionen: no80 und Steffen80

Steffen80

Sehr aktives Mitglied
27. August 2012
389
85
Formatier deine Zahl erst am Ende mit FormatNumber ....

Nimm meinen Code und Probier aus:

Code:
{% assign MeinWert =5.567 -%}
{% assign MeineVariable = MeinWert | Times: 5.55  -%}
{% assign MeineVariable = MeineVariable | Plus: 0.05  | FormatNumber: 'N2'-%}

Wenn Du vorher Runden willst benutz

Code:
{% assign MeineVariable = MeinWert | Times: 5.55 |Round:2 -%}
 
  • Gefällt mir
Reaktionen: jtldudel

jtldudel

Sehr aktives Mitglied
4. Januar 2018
635
202
Formatier deine Zahl erst am Ende mit FormatNumber ....

Nimm meinen Code und Probier aus:

Code:
{% assign MeinWert =5.567 -%}
{% assign MeineVariable = MeinWert | Times: 5.55  -%}
{% assign MeineVariable = MeineVariable | Plus: 0.05  | FormatNumber: 'N2'-%}

Wenn Du vorher Runden willst benutz

Code:
{% assign MeineVariable = MeinWert | Times: 5.55 |Round:2 -%}
Auf den Punkt gebracht :D
 
Ähnliche Themen
Titel Forum Antworten Datum
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Neu Workflow zum automatischen Stornieren einer Rechnung nach Versand User helfen Usern - Fragen zu JTL-Wawi 1
Neu Artikel KinderArtikel anlegen: Workflow "Artikel erstellt und Artikel geändert" werden NUR beim Vaterartikel gestartet User helfen Usern - Fragen zu JTL-Wawi 0
Stornobeleg als Workflow-Trigger JTL-Wawi 1.10 2
Neu Kartonagen nicht mehr über Workflow auswählbar nach Update auf 1.11.3 JTL-Workflows - Ideen, Lob und Kritik 0
Neu Workflow für voraussichtlichen Liefertag erstellen JTL-Workflows - Ideen, Lob und Kritik 6
Neu Workflow für voraussichtlichen Liefertag erstellen User helfen Usern - Fragen zu JTL-Wawi 1
Lieferantenbestellung per Workflow bestätigen JTL-Wawi 1.11 0
Neu Workflow: Straße enthält Postfiliale oder Paketshop JTL-Workflows - Fehler und Bugs 3
Neu Workflow 4 Wochen vor vorraus. Lieferdatum Arbeitsabläufe in JTL-Wawi 1
Überverkäufe über Workflow setzen JTL-Wawi 1.10 2
In Diskussion Workflow alle X Tage ausführen JTL-Workflows - Ideen, Lob und Kritik 5
Ausliefern Workflow über API JTL-Wawi 1.9 6
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
JTL-Workflow | Automatisches Speichern von Rechnungen möglich? JTL-Wawi 1.9 2
In Diskussion Workflow Angebote OHNE Auftrag JTL-Workflows - Ideen, Lob und Kritik 8
Gelöst Workflow-Trigger für Selbstabholung / FFN-Versand JTL-Workflows - Fehler und Bugs 2
In Diskussion Workflow für bezahlte Aufträge eines bestimmten Lagers → Pickliste zu bestimmter Uhrzeit JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Workflow verändert Wert JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Standardlieferant JTL-Wawi 1.10 2
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
Issue angelegt [WAWI-44314] Workflow automatisch 2 Pakete erstellen bei bestimmen Produkten? JTL-Workflows - Ideen, Lob und Kritik 2
Gelöst CustomWorkflow erscheint nicht in den Workflow-Aktionen JTL-Workflows - Fehler und Bugs 7
Neu Workflow um einen Artikel bei einem bestimmten Verkaufskanal zu aktivieren oder deaktivieren User helfen Usern - Fragen zu JTL-Wawi 4
Neu Mit Workflow verfügbaren Bestand aller Artikel in Datei schreiben User helfen Usern - Fragen zu JTL-Wawi 8
In Diskussion Workflow ausführen bei Lagerbestand 0 eines Lagers JTL-Workflows - Fehler und Bugs 3
Neu Workflow: WMS Lager nutzen um Versandart zu bestimmen User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Workflow für das Austauschen von bestelltem Artikel in einem Auftrag gegen einen alternativen Artikel JTL-Workflows - Ideen, Lob und Kritik 3
Workflow soll wenn Artikel 0 Bestand für 35 Tage hat diesen auf inaktiv setzen JTL-Wawi 1.10 4
Automatischer Workflow für Versand von Gutscheinen versendet den Gutschein nicht JTL-Wawi 1.10 2
Workflow für Benachrichtigung bei Stammkunden JTL-Wawi 1.10 9
Workflow: Neue Kunden direkt einer Kundengruppe zuordnen JTL-Wawi 1.10 6
Neu Workflow: Musterbestellungen (0 € Gesamtbruttowert) automatisch ausliefern lassen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Versandart prüfen und im Auftrag setzen - speziell für Stücklistenartikel User helfen Usern - Fragen zu JTL-Wawi 0
Neu Ausliefern Workflow mit variablen Ausführungszeiten je nach vorauss. Lieferdatum User helfen Usern - Fragen zu JTL-Wawi 3
In Diskussion Workflow Error While Automating Game Update Notifications JTL-Workflows - Fehler und Bugs 2
Neu Was ist die korrekte Variable für die letzte Seite eines Artikellistings? Betrieb / Pflege von JTL-Shop 4
Neu Shop 5 globale Variable die aus der Wawi gefüllt wird? Allgemeine Fragen zu JTL-Shop 0
Neu Leere Suche – Ergebnis definieren mit Doofinder User helfen Usern - Fragen zu JTL-Wawi 0

Ähnliche Themen