How do I create a custom calculation script in a Adobe Acrobat XI form?

I am building a time sheet.  Inside this time sheet i have two columns.  One column is labeled Hours and the other is labeled Hours Description.
The fields are labeled under these columns as follows:
Column Name      Hours          Hours Description
Field Name          Hours1        HoursDesc1
The user will input their hours in Numeric Field "Hours1" and will enter an abbreviation in Text Field "HoursDesc1", for example "A" for Administrative Leave or "C" for Compensatory.
I want to build a script that if Text Field "HoursDesc1" equals "A" or "C" then display Numeric Field "Hours1", else equal 0.  If they enter anything other than "A" or "C", the result will be zero.
Please help.
Thank you.

Custom calculation code for the text field in question:
var desc = this.getField("HoursDesc1").value;
if (desc=="A" || desc=="C")
     event.value = this.getField("Hours1").value;
else event.value = 0;

Similar Messages

  • How to convert an Excel Formula to a Custom Calculation Script in a Adobe Acrobat 9 Form?

    Hello,
    I am not familiar whatsoever with Javascript and need some help in converting the following Excel Formula so that I can enter it into a Custom Calculation Script in a Adobe PDF Form. Here is the formula:
    =IF(E15<25.01,9.95,IF(E15<50.01,11.95,IF(E15<75.01,13.95,IF(E15<100.01,16.95,IF(E15<150.01 ,19.95,IF(E15<200.01,24.95,IF(E15>200.00,E15*0.125)))))))
    Where "E15" will be the text field named "Subtotal" on my Adobe PDF Form.
    Thank you for any help you can provide!

    Fortunately JavaScript has the 'switch' statement so nested if statements can be avoided.
    var E15 = this.getField("Subtotal").value;
    switch(true) {
    case (E15 < 25.01) :
    event.value = 9.95;
    break;
    case (E15 < 50.01) :
    event.value = 11.95;
    break;
    case (E15 < 75.01) :
    event.value = 13.95;13
    break;
    case (E15 < 100.01) :
    event.value = 16.95;
    break;
    case (E15 < 150.01) :
    event.value = 19.95;
    break;
    case (E15 < 200.01) :
    event.value = 24.95;
    break;
    case (E15 > 200) :
    event.value = E15 * 0.125;
    break;
    default:
    event.value = "";
    break;
    } // end switch;

  • How to automatically create the custom migration scripts after recreating SSMA project?

    How to automatically create the custom data migration scripts after recreating SSMA project?
    There is number of tables ( big tables with BLOBS)  which I want to set up automatically to be migrated with custom migration scripts (replacing e.g. attribute named "FILE" with "TO_BLOB('') AS FILE" ).
    So the question is how to open MB file (I think that it should be standard db of some destktop RDBMS) ? 

    Hi Roman.Pokrovskij,
    According
    to your description, we can use SSMA tool to migrate data from one database (including Access, Oracle and so on) to SQL Server via GUI or the scripts. There is an example about migrating Access database to SQL Server via the
    custom migration scripts, you can review refer to them.
    <?xml version="1.0" encoding="utf-8"?>
    <ssma-script-file xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Microsoft SQL Server Migration Assistant for Access\Schemas\A2SSConsoleScriptSchema.xsd">
    <config>
    <output-providers>
    <output-window suppress-messages="false"
    destination="stdout"/>
    <upgrade-project action="yes"/>
    <data-migration-connection source-use-last-used="true"
    target-server="target_1"/>
    <progress-reporting enable="false"
    report-messages="false"
    report-progress="off"/>
    <object-overwrite action="skip" />
    </output-providers>
    </config>
    <servers>
    <!-- Server definition for Sql server target server-->
    <sql-server name="target_1">
    <sql-server-authentication>
    <server value="$SQLServerName$"/>
    <database value="$SQLServerDb$"/>
    <user-id value="$SQLServerUsrID$"/>
    <password value="$SQLServerPassword$"/>
    <encrypt value="true"/>
    <trust-server-certificate value="true"/>
    </sql-server-authentication>
    </sql-server>
    </servers>
    <script-commands>
    <create-new-project project-folder="$project_folder$ "
    project-name="$project_name$"
    overwrite-if-exists="true"/>
    <connect-target-database server="target_1"/>
    <load-access-database database-file="$AccessDbFolder$\$AccessDatabaseFile$"/>---
    <!--Schema Mapping-->
    <map-schema source-schema="$AccessDatabase$" sql-server-schema="$SQLServerDb$.dbo" />
    <!-- Convert schema -->
    <!-- Example: Convert entire Schema (with all attributes)-->
    <convert-schema object-name="$AccessDatabase$"
    object-type="Databases"
    conversion-report-overwrite="true"
    verbose="true"
    report-errors="true" />
    <!-- Synchronize target -->
    <!-- Example: Synchronize target entire Database with all attributes-->
    <synchronize-target object-name="$SQLServerDb$.dbo"
    on-error="fail-script" />
    <!-- Data Migration-->
    <!--Example: Data Migration of all tables in the schema (with all attributes)-->
    <migrate-data object-name="$AccessDatabase$.Tables"
    object-type="category"
    report-errors="true"
    verbose="true"/>
    </script-commands>
    </ssma-script-file>
    There is a similar scripts about migrating Oracle database to SQL Server, you can use powershell script to automatically run the console for scripts/variable files, saved in the specified folder. For more information, review the following
    article.
    http://blogs.msdn.com/b/ssma/archive/2010/09/09/performing-database-migration-assessment-using-ssma-console-application.aspx
    Regards,
    Sofiya Li
    Sofiya Li
    TechNet Community Support

  • How do you create a custom button in LiveCycle to add a new form page to an existing form?

    Can someone tell me how to create a button to add a new form page to an existing form in Acrobat or Livecycle designer?

    Hi,
    You can use addInstance method to achieve your requiremnets.
    form1.#subform[1].instanceManager.addInstance()
    BR,
    Paul Butenko

  • How do I create an "if" function in a custom calculation script?

    I need to take a simple "value is the sum of" and make it so if one field is less than 1 then the result of the formula will equal "0".
    For example here is a simple "sum of" script:
    Incent Bns.26, Time Bns.26, Spec Bns.26.
    Now converted to a custom calculation script:
    event.value = ((this.getField("Time Bns.26").value) + (this.getField("Incent Bns.26").value)) + (this.getField("Spec Bns.26").value);
    Where Time Bns is calculated by looking at another field Hours26 using a special formula to calculate the bonus.
    I would like to add something like an "if" function to the script so that if the Hours26 field is less than 1 then the output of the script will equal "0".
    I tried this already:
    var rank = this.getField("Hours26").value
    var value = 0
    if (rank < 1) {
      value = 0
    else  (rank > 0) {
       value = ((this.getField("Time Bns.26").value) + (this.getField("Incent Bns.26").value)) + (this.getField("Spec Bns.26").value);
    event.value = value
    But get the error: SyntaxError : missing ; before statement 7 at line 8:
    Thanks ahead of time for any help.
    Bruce

    Try this:
    var rank = this.getField("Hours26").value;
    var value = 0;
    if (rank < 1) {
      value = 0;
    } else {
       value = ((this.getField("Time Bns.26").value) + (this.getField("Incent Bns.26").value)) + (this.getField("Spec Bns.26").value);
    event.value = value;

  • Character Limit to Custom Calculation Script?

    Hi. I have a document that has a text form field. I want to run a custom calculation script that basically says if field "Group Number" = xxxxxxx, then field "Group Name" should = ABC Company.
    I have a list of almost 575 group numbers and names that I need to put in the script. And I've got the script working just fine but I am guessing there is a character limit to the script field???? It won't let me put my full list in there.
    Any suggestions on how to get around this??
    Thanks,
    Brandy

    I think I might have one error but I thought I had corrected it. Let me run this by you. My "if" lines are like this:
    if(a == '88096') event.value = 'Stacy's Carpet Steam Cleaning Company';
    But the code doesn't seem to like the ' in the Group's name. Is there a way to correct that without getting rid of the ' .... ?????

  • Help with Custom calculation script in Acrobat 8

    Hi all, I am using acrobat 8 on OS 10.5
    I am trying to add certain fields (numbers) and then subtract another field value to give an end result.
    I don't know anything about Javascript, would anyone be able to help with any info on how I achieve this result? I can only see Add, x and average etc... nothing there for subtraction
    Thanks for any help in advance
    Swen

    This should get you started:
    >if (event) {
    // get values from two text fields
    var a = Number(this.getField('Text1').value);
    var b = Number(this.getField('Text2').value);
    // subtract the values and show it
    this.event.target.value = a - b;
    Place this in a 3d text field, as a Custom Calculation Script.

  • Is it possible to use extensive formulas (e.g. "if" or vlookup functions) in the "Custom Calculation Script"?

    I am working on a form fill PDF converted from MS excel. This is for others to use who don't have MS excel that need to use my spreadsheet.
    1. I would like to know how complex can the formulas be in the custom calculation script in the calculate tab under properties in a cell menu?
    2. Where can I find what formulas will work in the custom calculation script along with the format for those formulas to work correctly (tutorials would help)?
    I have tried writing an "if" function but received and error so I am assuming either functions don't work in the script or there is a different format than standard spreadsheet formats.
    Bruce

    In that case the for loop would be:
        for (var i = 0; i < 8; i += 1) {
            sum += +getField("Total." + i).value;
    So initially, the counter i is equal to zero, so the field name used with the getField method is:
    "Total." + 0, which results in the string "Total.0". With each iteration, the variable i is incremented by 1, so the subsequent field names are the following:
    "Total.1"
    "Total.2"
    "Total.3"
    "Total.4"
    "Total.5"
    "Total.6"
    "Total.7"
    The script gets the value of each field, converts it to a number, and adds the number it to the running sum.

  • Custom Calculation Script Question

    I'm flying blind here, I know nothing about this stuff. I just need something i can copy and paste into the "custom calculation script" box.
    I'm working on making a character sheet for star wars saga edition auto calculate. The only thing I have left before it is completely done is one last calculating field. However, I have no clue how to do it.
    What it needs to do is take the value from one field (user entered info) and then divide it by 2, always rounding down.
    The field the user enters a number in is named "Level" and the field that needs to display that number is named "1/2lvl".

    If no one answers here you can try the Acrobat Scripting forum.

  • Need Assistance With Custom Calculation Script

    I need help with a custom calculation script in Acrobat Pro.  I am trying to add the sum of fields A, B, C, D, E, F, and G together with the lesser value of fields H and I.  What would be the script to enter for this result?  Thank you.

    event.value = Number(this.getField("A").value) + Number(this.getField("B").value) + Number(this.getField("C").value) + Number(this.getField("D").value) + Number(this.getField("E").value) + Number(this.getField("F").value) + Number(this.getField("G").value) + Math.min(Number(this.getField("H").value), Number(this.getField("I").value));

  • Custom Calculation Script Help Needed

    I need to make a script that Sums a column of fields based on whether or not information found in another column of fields is the same or specific text. Please see below screenshot of what I would like it to do.
    I would like a Sum of all Amounts that have the Code A...

    You can use this script as the custom calculation script of "SumOfA":
    var total = 0;
    for (var i=0; i<=2; i++) {
        if (this.getField("p1TC."+i).value=="Code A")
            total+=Number(this.getField("p1RecIn."+i).value);
    event.value = total;
    You can easily adjust it for the other field as well.

  • Custom calculation script for checkboxs

    Hello,
    Can anyone help me out with custom calculation script for this?  I have two mutually exclusive checkboxes that, when checked, I want to populate data into other text fields.
    If Checkbox1 is checked:
    Company1=Warehouse Alpha
    Address1=1234 Any Street
    City/State/Zip1= Los Angeles, CA 90020
    Contact Name1= Mr. Nice Guy
    Phone Number1= 213-854-8565
    Email1=[email protected]
    If Checkbox2 is checked:
    Company2=Warehouse Beta
    Address2= 5678 Awesome Blvd.
    City/State/Zip2= San Bernardino, CA 96545
    Contact Name2= Mr. Handsome
    Phone Number2= 909-824-8265
    Email2=[email protected]
    Thanks,
    Bryan

    So one has two check boxes and one wants them to be mutually exclusive. Name them the same and change the export value of the field. Try it and observe what happens as you check the different check boxes.
    You have described what happens if either box is checked but what happens when a checked box Is unckecked?
    One can place scripts in many locations. I would use a mouse up action for both the check boxes, use the same script for both check boxes.
    I would assume you are using the following names for the fields to populate:
    Company
    Address
    CityStateZip
    ContactName
    PhoneNumber
    Email
    // Mouse up action for both check boxes;
    // initial value for the fields:
    this.getField("Company"),value = "";
    this.getField("CityStateZip"),value = "";
    this.getField("ContactName"),value = "";
    this.getField("PhoneNumber"),value = "";
    this.getField("Email"),value = "";
    // test for check box value for selected box;
    if(event.value == 1) {
    this.getField("Company"),value = "Warehouse Alpha";
    this.getField("CityStateZip"),value = "1234 Any Street";
    this.getField("ContactName"),value = "Los Angeles, CA 90020";
    this.getField("PhoneNumber"),value = "213-854-8565";
    this.getField("Email"),value = "[email protected]";
    if(event.value == 2) {
    this.getField("Company"),value = "Warehouse Beta";
    this.getField("CityStateZip"),value = "5678 Awesome Blvd.";
    this.getField("ContactName"),value = "San Bernardino, CA 96545";
    this.getField("PhoneNumber"),value = "Mr. Handsome";
    this.getField("Email"),value = "[email protected]";
    // end Mouse up action for both check boxes;

  • Custom calculation script not working

    Hi...
    I've been looking at the samples and searching but have yet to make my custom calculation script work.  The bottom line is that I want one field to be blanked out if another is populated.
    My script currently looks like this:
    event.value = (getField("List_B1") + '').length > 0 ? '' : getField("List_A1");
    I've also tried
    event.value = (getField("List_B1").value + '').length > 0 ? '' : getField("List_A1").value;
    Neither result in List_A1 being empty when List_B1 has something in it.
    Anyone see something I'm missing?
    Thanks
    Mark

    The fields are being processed in programmatically.  The request came in that when we save the form values as a pdf that they don't want any List A value to show if List B has a value set.  So to give an example the inputs would be
    List A : foo
    List B : bar
    List C : baz
    What I'm trying to do with the custom calculation is to have the output pdf be
    List A:
    List B: bar
    List C: baz
    at least that's what my script was aiming for, but what's coming out is
    List A : foo
    List B : bar
    List C : baz
    Come to think about it, it probably has to do with the order with which the fields are being set and the expression fires.  In other words, it could be that when List A is set, List B hasn't been set yet, so the expression's a no-op...
    Thanks
    Mark

  • Custom Calculation Script for building in a percentage increase

    Hello all,
       Looking for a custom calculation script that will apply a percentage increase to a default value when the value of another cell goes above certain numbers. Crude example below.
    Y is the cell that the script will be applied to.
    if value of cell X > 10 then value of cell Y = default value * .10 ..... for 10%
    if value of cell X > 20 then value of cell Y = default value * .20...... for 20%
    if value of cell X > 30 then value of cell Y = default value * .30....... for 30%
    Pleaes forgive me. I know my example above is not in true Java form because I really do not know Java that well. Thanks for any help that you all may provide!

    I've inserted the picture above to help. This is a sizing form for pants for a fire department that will be filled out at the department by the firefighter. The manufacturer that makes the pants passes along a 10% upcharge for anyone with a waist 44-50, a 20% upcharge for anyone with a waist 52-54, and a 30% upcharge for anyone with a waist 56-58. The $42.95 in the "Price" cell is the default price for anyone with a waist that does not meet up-charging penalties (Less than a 44 waist). What I am trying to do is if the firefighter plugs in let's say a waist of 50" the "price' cell will update to show an increase of 10%. ($47.24). If he plugs in a waist of 52" the "price" cell will update to show an increase of 20% ($51.54). If he plugs in a waist of 56" the "price" cell will update to show an increase of 30% ($55.83). I hope that makes sense. I know it can be frustrating helping someone that may not know all the ins and outs like a lot of you do so I greatly appreciate your patience and your help!

  • Custom Calculation Script - Multiplication IF

    Hey Adobe peeps, need help here. I'm not a programmer by any stretch of the imagination, but I am resourceful, BUT I have yet to find a concrete answer for this, nor can I get any of my test formula's to work.
    I have a fillable PDF that is used in a field service environment where employees track their time. I want them to be able to input the data in i.e. hours*rate and it automatically populate the price/cost. Now this is very easy to do with the built in product function, but the problem here is that they have multiple fields to fill out. See below.....
    So basically the "Extended Price" field depends on what they enter into either the "Days", "ST Hours", "Rate, "OT Hours" or "Rate" fields.
    The calculation should be based on 2 of the 5 fields being filled out. For example, here are the 3 possible scenarios:
    Scenario 1: SP Extended Price1=SP Days1*SP ST Rate1
    Scenario 2: SP Extended Price1=SP ST Hours1*SP ST Rate1
    Scenario 3: SP Extended Price1=SP OT Hours1*SP OT Rate1
    They won't ever fill out any more than 2 of the fields so it needs to be an 'if' type of function. I've spent hours on this already, like I said, I'm not a programmer.
    Please help.

    If they really won't be filling in more than one of those sets of fields, the custom calculation script could be:
    (function () {
        // Get the field values, as strings
        var s1 = getField("SP Days1").valueAsString;
        var s2 = getField("SP ST Rate1").valueAsString;
        if (s1 && s2) {
            event.value = +s1 * +s2;
            return;
        var s3 = getField("SP ST Hours1").valueAsString;
        if (s2 && s3) {
            event.value = +s3 * +s2;
            return;
        var s4 = getField("SP OT Hours1").valueAsString;
        var s5 = getField("SP OT Rate1").valueAsString;
        if (s4 && s5) {
            event.value = +s4 * +s5;
            return;
        // If none of these apply, set the field to blank
        event.value = "";

Maybe you are looking for