[#cc0000]Den Beitrag hiervor bitte vergessen, ich kann ihn leider nicht editieren oder löschen.[/#cc0000]
Hier meinen aktuellen Code:
// simpleBilling.jsx
var MWST = 19/100;
if (app.selection[0].parent.constructor.name == "Cell"){
var myTable = app.selection[0].parent.parent;
var myLastCol = myTable.columns.length-1;
var myLastRow = myTable.rows.length-1;
var myStunden = myTable.columns.item(1).contents;
var myNetto = myTable.columns.item(2).contents;
var mySum = 0;
var myPrice = 0;
for (k = 1; k < myLastRow-2; k++) {
myPrice = ((myTable.columns.item(1).cells[k].contents.replace(",", "."))*(myTable.columns.item(2).cells[k].contents.replace(",", ".")));
myTable.columns.item(1).cells[k].contents.replace(".", ",");
myTable.columns.item(2).cells[k].contents.replace(".", ",");
myTable.columns[myLastCol].cells[k].contents = digitFormatter(myPrice) + " g";
mySum += (myTable.columns[myLastCol].cells[k].contents.replace(",", "."))*1;
}
myTable.columns[myLastCol].cells[myLastRow-2].contents = digitFormatter(mySum) + " h";
myTable.columns[myLastCol].cells[myLastRow-1].contents = digitFormatter(mySum*MWST) + " h";
myTable.columns[myLastCol].cells[myLastRow].contents = digitFormatter(mySum*MWST + mySum) + " h";
}
function digitFormatter(x) {
// Quelle: http://www.dcljs.de/faq/antwort.php?Antwort=rechnen_runden#6
var k = (Math.round(x * 100) / 100).toString();
k += (k.indexOf('.') == -1)? '.00' : '00';
var p = k.indexOf('.');
return k.substring(0, p) + ',' + k.substring(p+1, p+3);
}
So ist das Skript fast perfekt. Ich habe drei Spalten (Stunden, Netto, Betrag) und gebe immer z.B. "4" (Stunden) und "100" (Netto) ein. Die Beträge werden mit dem Eurozeichen alle ausgegeben und klasse addiert, sodass ich netto, mwst und brutto am Ende habe.
Mein einzigen Wünsche noch:
1.
Ich würde gerne, dass den Einträgen in der Nettospalte noch das Eurozeichen automatisch hinzugefügt wird, sodass meine "100" zu "100 Eurozeichen" korrigiert wird. In dem Fall weiß ich nicht wo "+ g" (g steht für das Eurozeichen) einfügen soll oder wie die Skriptzeile heißen muss...
2.
Es müssten auch Zeilen mit Rabatten mögllich werden.
ENTWEDER:
Skript weiß, wenn in der Netto-Spalte das Wort "X % Rabatt" vorkommt, wird der Betrag wie folgt berechnet: Betrag der Zeile darüber/100*Rabatt und dabei ist der Rabatt im Skript einfach fest hinterlegt.
Dieser Betrag wäre dann negativ und müsste dann subtrahiert werden können bzw. es müsste +(-999 Euro) funktionieren beim addieren der Beträge.
ODER SONST AUCH:
Stunden "nichts" / Netto "nichts" / im Betrag der ausgerechnete Betrag "-999" (wenn das zu umstädnlich ist, wäre der Umweg auch okay, dass der negative Betrag aus der Nettozeile übernommen wird und ich ihn manuell dann wieder lösche).
Auch hier müsste das subtrahieren bei den Beträgen funktionieren.
Könnt ihr mir helfen beim abwandeln des Codes? Das wäre das perfekte Skript :-)