via sw-sync-cli und einem entsprechenden YAML-Skript versuche ich Produkte als CSV-Datei zu exportieren. Das funktioniert soweit super!
Wo ich mich jedoch im Kreise drehe ist der Umstand, dass ich gerne die Ausgabe/Formatierung des Brutto-Preis mit dem Dezimaltrennzeichen Komma statt Punkt hätte.
Ich verwende das folgende serialize_script aus dem Beispiel reduziert auf Brutto-Preis:
serialize_script: |
if entity.price == () {
row.default_price_gross = "";
} else {
let default_currency = get_default("CURRENCY");
let price = entity.price.find(|p| p.currencyId == default_currency);
row.default_price_gross = price.gross;
}
Ergebnis: kein Fehler damit jedoch führt das zu „null“-Ergebnissen in der Spalte.
Das Problem ist, dass das Tabellenfeld mit JSON-Daten (Object) befüllt ist.
Und da dreh’ ich mich im Kreise und bin aktuell am Ende meines Lateins. Hab viel gelesen, mit KI versucht aber ohne Erfolg bis dato.
Ich antworte mir hier nun mal selber, da ich (endlich…) erfolgreich war .
Vielleicht ist es ja für jemanden ja mal hilfreich (hier nur der entsprechende Ausschnitt meines Skripts):
serialize_script: |
if entity.price == () {
row.default_price_gross = "";
} else {
let default_currency = get_default("CURRENCY");
let price = entity.price.find(|p| p.currencyId == default_currency);
if price == () {
row.default_price_gross = "";
} else {
// Zahl zu String
let gross_str = price.gross.to_string();
// Prüfen ob ein "." im String ist
if gross_str.contains(".") {
// Aufteilen bei "."
let parts = gross_str.split(".");
// Teile mit Komma zusammensetzen
row.default_price_gross = parts[0] + "," + parts[1];
} else {
// Kein Dezimalpunkt, Ausgabe direkt
row.default_price_gross = gross_str;
}
}
}