Zwischensumme von Tabellen
Verfasst: 03.07.2013, 14:33
Hallo und zwar folgendes Problem,
ich bin heute von der Tatsache erschlagen worden das ich wohl doch JavaScript im LiveCycleDesigner anwenden muss.
Ich soll z.B. für eine Rechnung auf jeder Seite eine Zwischensumme bilden und am Ende dann die Gesamtsumme.
Einige Code Schnipsel habe ich auch gefunden z.B.[*]
Aber ich habe keine Ahnung was ich damit anfangen soll. Welche Variable ich wo und wie benenen soll etc. Und natürlich tut sich auch im LC nichts wenn ich den Code einfügen.
Könnt ihr mir den Code erklären?
Oder gibt es noch eine andere Möglichkeit ?
Wäre froh um jede Hilfe
[/*]
ich bin heute von der Tatsache erschlagen worden das ich wohl doch JavaScript im LiveCycleDesigner anwenden muss.
Ich soll z.B. für eine Rechnung auf jeder Seite eine Zwischensumme bilden und am Ende dann die Gesamtsumme.
Einige Code Schnipsel habe ich auch gefunden z.B.
Code: Alles auswählen
subtotal(this.Zeile, "Feld3", "Formular1..Fusszeile", "subtotal");
function subtotal(oRow, sFieldname, sFooter, sFooterfield) {
/* *****************************************
* Writes a subtotal into a field of a table's footer row.
* Makes sense only for long tables interrupted by page breaks.
*
* Event:
* To be called only in the layout:ready event.
*
* Parameters:
* oRow: the object of a table row
* (the repeating subform)
* sFieldname: name of the field to be summed up - is
* right under oRow
* sFooter: name of the footer row's subform (the
* table's overflow footer)
* (may be characterized as precisely as
* neccessary (e. g. "myForm1..myFooter")
* sFooterfield: name of the field containing the subtotal
* right in the footer row's subform
* Author
* Ulrich Bähr, www.paperless-process.de, 20.05.11
***************************************** */
var sRowSom = oRow.somExpression;
sRowSom = sRowSom.substring(0, sRowSom.lastIndexOf("["));
var arraySubtotals= xfa.resolveNodes(sFooter + "[*]." +
sFooterfield);
var iSubtotal = 0;
var iPageCount = 0;
var oFields = xfa.resolveNodes(sRowSom + "[*]." +
sFieldname);
var iPageHitherto = xfa.layout.page(oFields.item(0));
for (var iLine = 0; iLine < oFields.length; iLine++) {
iPageCurrent = xfa.layout.page(oFields.item(iLine));
if (iPageCurrent > iPageHitherto) {
// there was a page break
// On the previous page we write the subtotal
arraySubtotals.item(iPageCount).rawValue =
iSubtotal;
iPageHitherto = iPageCurrent;
iPageCount++;
} // if page break
iSubtotal += oFields.item(iLine).rawValue;
} // for iLine
} // Function subtotal()
Aber ich habe keine Ahnung was ich damit anfangen soll. Welche Variable ich wo und wie benenen soll etc. Und natürlich tut sich auch im LC nichts wenn ich den Code einfügen.
Könnt ihr mir den Code erklären?
Oder gibt es noch eine andere Möglichkeit ?
Wäre froh um jede Hilfe
[/*]