Neu DotLiquid Export - Random Value

bloody86

Gut bekanntes Mitglied
16. September 2016
107
9
Hallo zusammen,
ist es auch möglich eine Random Value auszugeben. Leider hatte ich bei meinen Versuchen bisher keinen Erfolg.
Ich probierte bisher Eingaben wie diese
Code:
RandomValue: {{ 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' | random: 8 }}{{Trennzeichen}}\
oder
Code:
RandomValue: {{ "0123456789" | split: "" | sample: 8 | join }}

im Kontext von

Code:
{% assign Trennzeichen = ';' %}{% comment %}Gibt das Trennzeichen an{% endcomment -%}
{% for position in Report.SalesOrderPosition -%}
{{ Report.SalesOrderNumber | Trim | Quote }}{{Trennzeichen}}\
{{ Report.SalesOrderShipToAddress.Salutation | Trim | Quote }}{{Trennzeichen}}\
{{ Report.SalesOrderShipToAddress.FirstName | Trim | Quote }}{{Trennzeichen}}\
{{ Report.SalesOrderShipToAddress.LastName | Trim | Quote }}{{Trennzeichen}}\
{{ Report.SalesOrderShipToAddress.Company | Trim | Quote }}{{Trennzeichen}}
RandomValue: {{ "0123456789" | split: "" | sample: 8 | join }}
{% endfor -%}

Weiss jemand ob und wie ich pro position eine Zufällige Ausgabe erreichen kann? Am besten mit Zahlen und Buchstaben. Sowas: e3da8fc6

Besten Dank!

PS ( Die Ausgabe ist gekürzt, eigentlich wären da noch Artikel in der Ausgabe )
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.824
547
Hallo zusammen,
ist es auch möglich eine Random Value auszugeben.
Vielleicht könnte hier jemand zielgerichteter Antworten, wenn du einfach beschreibst, was du erreichen willst.
Also NICHT gezielt nach der Zufallszahlenerzeugung in DotLIquid fragen, sondern das Ergebnis beschreiben bzw. was damit gemacht werden soll ;)

Denn DotLiquid ist ja eigentlich nur dafür gedacht mit ein paar einfachen Ausgabefiltern eine Änderung der Ausgabe von Zeichenfolgen, Zahlen, Variablen und Objekten zu ermöglichen.
Liquid ist keine Programmiersprache.
Du kannst zwar wie in deinem Beispielcode riesige Zeichenketten aufbauen und mit Filtern wieder zerstückeln, Zeichen einfügen, kürzen u.s.w.
.... aber lass doch sowas einfaches wie einen Zufallswert einfach vom SQL-Server erzeugen: {{ "SELECT RAND()" | DirectQueryScalar }} eine Zeile. Fertig :)



....Am besten mit Zahlen und Buchstaben. Sowas: e3da8fc6
Das Ganze sieht danach aus, wie wenn du etwas in Art einer GUID bzw. UUID erzeugen willst. Vielleicht wäre dir dann schon mit {{ "SELECT NEWID()" | DirectQueryScalar }} geholfen.
Aber auch hier gilt wieder: du musst sagen, was du erreichen willst.
 
  • Gefällt mir
Reaktionen: bloody86

bloody86

Gut bekanntes Mitglied
16. September 2016
107
9
Vielleicht könnte hier jemand zielgerichteter Antworten, wenn du einfach beschreibst, was du erreichen willst.
Also NICHT gezielt nach der Zufallszahlenerzeugung in DotLIquid fragen, sondern das Ergebnis beschreiben bzw. was damit gemacht werden soll ;)

Denn DotLiquid ist ja eigentlich nur dafür gedacht mit ein paar einfachen Ausgabefiltern eine Änderung der Ausgabe von Zeichenfolgen, Zahlen, Variablen und Objekten zu ermöglichen.
Liquid ist keine Programmiersprache.
Du kannst zwar wie in deinem Beispielcode riesige Zeichenketten aufbauen und mit Filtern wieder zerstückeln, Zeichen einfügen, kürzen u.s.w.
.... aber lass doch sowas einfaches wie einen Zufallswert einfach vom SQL-Server erzeugen: {{ "SELECT RAND()" | DirectQueryScalar }} eine Zeile. Fertig :)




Das Ganze sieht danach aus, wie wenn du etwas in Art einer GUID bzw. UUID erzeugen willst. Vielleicht wäre dir dann schon mit {{ "SELECT NEWID()" | DirectQueryScalar }} geholfen.
Aber auch hier gilt wieder: du musst sagen, was du erreichen willst.

Sorry für die Späte Antwort 😅
{{ "SELECT NEWID()" | DirectQueryScalar }}
Genau danach habe ich gesucht. Es gingt einfach darum jeder Position eine eindeutige ID zuzuweisen. (Da geht ja EAN etc. nicht, da diese unter Umständen mehrmals im Export ist)
 

woka

Aktives Mitglied
25. April 2016
24
2
Eine andere Möglichkeit ist eventuell die Erstellung eines Hashwertes:
{{ Vorgang.Belegnummer | Sha256Hash }}
 

Ähnliche Themen