uhlhorn
Aktives Mitglied
Thread Starter
- Dabei seit
- 24.05.2005
- Beiträge
- 2.474
- Reaktionspunkte
- 129
Hi,
ich möchte die Mengenangabe <qty/> auf eine Nachkommastelle runden. Da Stefan Fürst auf Supportanfragen meist nicht zu antworten pflegt, und das Programm mit 4(!) Nachkommastellen für eine dezimale Zeitangabe einfach unbrauchbar ist, hoffe ich nun, dass ich das mithilfe eines Javascrips lösen kann.
Man kann ja zu einem Feld ein Script angeben. So ändert folgendes Script die Mengenangabe auf "", wenn die Menge 1 ist und die Einheit „Pauschal“ lautet:
(Quelle des Scripts: https://gist.github.com/florianfiegel/1243753)
Das funktioniert auch. Nun möchte ich aber <qty/> runden und habe analog zum ersten Script folgende Zeilen geschrieben (kenne mich aber mit javaScript leider nicht aus):
Ich vermute, dass der Fehler in der letzten Zeile liegt. Wie übergebe ich einen Wert an GrandTotal?
ich möchte die Mengenangabe <qty/> auf eine Nachkommastelle runden. Da Stefan Fürst auf Supportanfragen meist nicht zu antworten pflegt, und das Programm mit 4(!) Nachkommastellen für eine dezimale Zeitangabe einfach unbrauchbar ist, hoffe ich nun, dass ich das mithilfe eines Javascrips lösen kann.
Man kann ja zu einem Feld ein Script angeben. So ändert folgendes Script die Mengenangabe auf "", wenn die Menge 1 ist und die Einheit „Pauschal“ lautet:
Code:
if (grandtotalrecord.quantity() == 1 && grandtotalrecord.unit() == "Pauschal")
"";
else
grandtotalrecord.quantity();
Das funktioniert auch. Nun möchte ich aber <qty/> runden und habe analog zum ersten Script folgende Zeilen geschrieben (kenne mich aber mit javaScript leider nicht aus):
Code:
if (grandtotalrecord.quantity() !==0)
0;
else
var x = grandtotalrecord.quantity();
var k = (Math.round(x * 100) / 100).toString();
k += (k.indexOf('.') == -1)? '.00' : '00';
var p = k.indexOf('.');
var q = (k.substring(0, p) + ',' + k.substring(p+1, p+3));
grandtotalrecord.quantity() = q;
Ich vermute, dass der Fehler in der letzten Zeile liegt. Wie übergebe ich einen Wert an GrandTotal?