Skip to main content
Known Participant
June 8, 2021
Answered

Fix calculation error after form has been submitted

  • June 8, 2021
  • 1 reply
  • 4500 views

Hi
I have a form that was distributed and returned. 3000 of them. I found a calculation error on one of the fields and need to rectify this before sending in the forms. I can export an individual form to an fdf file and import it into the new corrected format, but to do this for 3000 form will not be possible. Is there a way to do this in bulk?

This topic has been closed for replies.
Correct answer try67

Total points allocated for Functionality 


OK, you need to create two Actions, then. One to export the form data to an FDF file, and one to fix the code and then import it back in.
This is the code to use for the first Action:

 

 

this.exportAsFDF({bAllFields: true, cPath: this.path.replace(/\.pdf$/i, ".fdf")});

 

 

This is the code for the second Action:

 

 

var newCalcCode = "\
var v1 = AFMakeNumber(getField(\"Total A1\").value);\n\
var v2 = AFMakeNumber(getField(\"Total A2\").value);\n\
var v3 = AFMakeNumber(getField(\"Total A3\").value);\n\
var v4 = AFMakeNumber(getField(\"Total B1\").value);\n\
var v5 = AFMakeNumber(getField(\"Total B2\").value);\n\
var v6 = AFMakeNumber(getField(\"Total B3\").value);\n\
event.value= (v1+v2+v3+v4+v5+v6);";
this.getField("Total points allocated for Functionality").setAction("Calculate", newCalcCode);
this.importAnFDF({cPath: this.path.replace(/\.pdf$/i, ".fdf")});
this.calculateNow();

 

 

You also need to add a Save command to this Action, after executing the code.

Now run the first Action on all of your original files, then the second one. That part might be a bit tricky as Acrobat attempts to process all non-PDF files, unfortunately, so you might have to select them manually, instead of just selecting the entire folder (since it will also contain the new FDF files we created in the previous Action).

 

Edit: code fixed

1 reply

try67
Community Expert
Community Expert
June 8, 2021

Do you have Acrobat Pro? What does fixing the calculation error involve? Did you use a script for the calculation, or one of the other built-in options?

Known Participant
June 8, 2021

Yes I have pro.

The field sums A1 to b3 then multiplies by 0.75. This multiplication is wrong and must be removed

The formula should just sum the fields

var v1 = AFMakeNumber(getField("Total A1").value)
var v2 = AFMakeNumber(getField("Total A2").value)
var v3 = AFMakeNumber(getField("Total A3").value)
var v4 = AFMakeNumber(getField("Total B1").value)
var v5 = AFMakeNumber(getField("Total B2").value)
var v6 = AFMakeNumber(getField("Total B3").value)

event.value= (v1+v2+v3+v4+v5+v6)*0.75

 

Known Participant
June 8, 2021

Well, you will have to create that folder in advance, as the script can't do it for you.

Let's say you use "C:\Files\".

Create an Action that executes the following code, and then run it on your files:

this.saveAs("/C/Files/" + this.getField("Bid Number").valueAsString + " " + this.getField("Evaluator Name").valueAsString + ".pdf");

 

(I assumed you wanted a space between the number and the name...)


It saves them with the same name. Checked the field names are correct