Previous | Next | (P-PDF) What's Wrong with my PDF?
Topic: PDF document not calculating all fields, 1 Attachments
Conf: (P-PDF) What's Wrong with my PDF?, Msg: 143470
From: gkaiseril
Date: 12/3/2005 03:56 AM
Acrobat recalculates when a field that is referenced in a calculation is updated and goes through the fields once. So, if one were to calculate a ratio bases on a sum not yet computed, the ratio will be computed using the prior value.
You do not need to set a field value by "event.value = " but can use 'this.getField("Ratemt.0").value = " in any other field.
The calculation for field "Ratemt.0" has unknown objects and allows for division by zero:
/*
// following code does not exist in Acrobat JavaScript
elm1=document.forms["Timestart"].elements["Timestart"].value
elm2=document.forms["Time.0"].elements["Time.0"].value
*/
var elm1=this.getField("Timestart").value
var elm2=this.getField("Time.0").value
if(elm1!=""&&elm2!=""){
var start_time = this.getField("Timestart");
var end_time = this.getField("Time.0");
var starting = start_time.value;
var ending = end_time.value;
var c_start = util.scand("dd/mm/yy HH:MM:ss", starting);
var c_end = util.scand("dd/mm/yy HH:MM:ss", ending);
var timediff = (c_end.valueOf() - c_start.valueOf()) / 1000 / 3600;
var a = this.getField("mt");
var b = this.getField("CTGmt.0");
var amountdiff = a.value - b.value;
// possible division by zero
event.value = "";
if (timediff != 0)
event.value = amountdiff / timediff;}
040-013a-f2 revised.pdf
Partially revised form (605,256 bytes)