Immer wieder Probleme mit ?number

Hallo Team,

ständig habe ich Probleme damit, eine Formel auf einen Wert anzuwenden, weil der nicht als Wert, sondern als String interpretiert wird. Jüngstes Beispiel: Ich muß das Minimum dreier Werte ermitteln und dieses mit einer Zahl mulitplizieren.

image

Die jeweils hinterlegte Funktion brauche ich, um etwaige Leerfelder durch 0 zu ersetzen, weil sonst die min-Formel mit Fehler aussteigt.


Jetzt habe ich folgende Formel, die in einen Script Error läuft:


<#assign prices=[]><#if UVP! != ''><#assign prices+= [result['UVP']?number]></#if><#if Preis! != ''><#assign prices+= [result['Preis']?number]></#if><#if SchtzPreis! != ''><#assign prices+= [result['SchätzPreis']?number]></#if>${min([prices])?number*7.57/100}


==>


Script error: (Root Causes: TemplateModelException: ERROR: One of the list elements was not numerical: [99.00, 79.00, 39.00] ---- FTL stack trace ("~" means nesting-related): - Failed at: ${min([pr(...)...ices])?number * 7.57 / 100} [in template "PurchasePrice" at line 1, column 228] ----): <#assign prices=[]><#if UVP! != ''><#assign prices+= [result['UVP']?number]></#if><#if Preis! != ''><#assign prices+= [result['Preis']?number]></#if><#if SchtzPreis! != ''><#assign prices+= [result['SchätzPreis']?number]></#if>${min([prices])?number*7.57/100}


Was ist denn daran nicht numerical? Ich steige nicht dahinter

Gib dir doch mal das aus, was in prices drin steht:

${prices?join(",")}


Warum packst du in der min-Funktion nochmal eine Liste drumherum? ${min([prices])

Eigentlich müsste ${min(prices)} reichen.


Das geht meinen Tests nach nur, wenn man zwei Preise hat. Ab dreien scheint das Array unumgänglich.

Hallo Micha,


das Array (die zusätzlichen eckigen Klammern) in ${min([prices]) führen zu dem FM Fehler "One of the list elements was not numerical". Die FM Variable prices ist bei dir schon eine Array. Was bekommst du denn als Fehlermeldung wenn du ${min(prices)} verwendest ?



Viele Grüße

Torsten