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

Similar Messages

  • Custom Calculation Script almost works...

    I'm trying to creaet a form that uses a dropdown box to select the proper text for a text field.  I have created the form and the Custom Calculation for my Text box works great (Thanks to these forums!).
    The problem I am experincing now is that I want to be able to use an Add Page button to spawn another blank copy of the form within the file.  The page spawns correctlly (Once again thanks to these forums!), but My text fields in all of the pages only have the calculated value based upon the last page added.
    Here is my script to spawn the page based upon a template called "Additional Information":
    var a = this.getTemplate("Additional Information");
    a.spawn();
    resetFieldsOnPage(pageNum++);
    resetFieldsOnPage() is a document level javascript that is used to clear the form when it spawns and also to clear and indvidual page with the use of a Clear Button:
    function resetFieldsOnPage(p)
    var fields = [];
        for (var i=0; i<this.numFields; i++) {
            var f = this.getField(this.getNthFieldName(i));
            if (f==null) continue;
            if (f.page==p)
                fields.push(f.name);
        this.resetForm(fields);
    My Text field with the custom calaculation script looks like this:
    //var v = this.getField("Dropdown2").value;
    var v;
    var p = "P";
    var pagecount = this.pageNum;
    var AI= ".Additional Information.";
    var drop = "Dropdown21";
    var Value1013A = "VALUEA";
    var Value1013B = "VALUEB";
    var Value1013C = "VALUEC";
    var Value1013D = "VALUED";
    var Value1013E = "VALUEE";
    var Value1013F = "VALUEF";
    var Value1013G = "VALUEG";
    var Value1013H = "VALUEH.";
    var Value1015A = "VALUE105A";
    if (pagecount == "0") v = this.getField(drop).value;
        else v = this.getField(p+pagecount+AI+drop).value;
    if (v=="101-3 subd.A") this.event.value = Value1013A;
         else if (v=="101-3 subd.B") this.event.value = Value1013B;
         else if (v=="101-3 subd.C") this.event.value = Value1013C;
         else if (v=="101-3 subd.D") this.event.value = Value1013D;
         else if (v=="101-3 subd.E") this.event.value = Value1013E;
         else if (v=="101-3 subd.F") this.event.value = Value1013F;
         else if (v=="101-3 subd.G") this.event.value = Value1013G;
         else if (v=="101-3 subd.H") this.event.value = Value1013H;
         else if (v=="101-5 subd.A") this.event.value = Value1015A;
         else this.event.value = " ";
    I can add pages succesfully with the ADD PAGE button and the additional forms are blank.  As soon as I select a Value in dropdown21 on the new page, All the text boxes that have the above custom calcualtion script change to the value on the last page.  The last page is correct, but all the pages before it have changed.
    I have made sure that the form is blank before creating the template.  I have even exported a copy of the orginal page with no data in it and then imported it as a new page.  After the import I have changed all of the form field to completelly different names and then modified the script of the imported page before creating the template.  I just can't see the problem.  Any help is appreciated.  Thanks

    Simple field notation: Field 1 / Field 2
    Custom script:
    var v1 = +this.getField("Field 1").value;
    var v2 = +this.getField("Field 2").value;
    if (v2==0) event.value = "";
    else event.value = (v1 / v2);

  • 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 = "";

  • 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;

  • 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 ' .... ?????

  • 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 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 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.

  • 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!

  • Ukelele generated custom keyboard layouts not working in Lion?

    I asked this question in the stackexchange site a few days ago.  Nothing I've tried has worked so far, except for creating a new account.  Because a fresh account works, it's got to be something with my preferences, right?
    http://apple.stackexchange.com/questions/21691/ukelele-generated-custom-keyboard -layouts-not-working-in-lion
    Here's the question from above:
    I created a custom keyboard layout with Ukelele (http://scripts.sil.org/ukelele) in Snow Leopard (idea is to generate scandinavian letters with Alt-key, otherwise have a pretty much standard U.S. layout). After the upgrade, the old installed (to ~/Library/Keyboard Layouts) layout wasn't working.
    Ukelele seems to work OK in Lion, but whether I put the generated keylayout in a bundle or single file, or save it "/Library/Keyboard Layouts" or "~/Library/Keyboard Layouts" doesn't seem to matter.
    Help?
    EDIT:
    @Sergio, I cannot choose the layout in Input Sources. One keylayout file I tried:http://semeai.org/~sjl/us-scands.keylayout
    [EDIT: Removed unrelated stuff]
    UPDATE 2011/08/15:
    @Tom:
    Copied your keylayout (it naturally ended up in my Junk folder):
    midgard (01:55) >ls -l ~/Library/Keyboard\ Layouts/MongolianQWERTY.keylayout-rw-r--r--@ 1 sjl  staff  44536 Mar 13  2008 /Users/sjl/Library/Keyboard Layouts/MongolianQWERTY.keylayout
    Logged out, logged in, isn't showing in Input sources (I'm looking very closely between "Maori" and "Myanmar - QWERTY").
    I've also uninstalled bunch of software and plugins giving suspicious messages to system.log, but hasn't helped.
    UPDATE 2011/08/16:
    I created a test account, and lo, the layout works perfectly for it. Also the bug in preferences doesn't show for that account. When trying this on my own account, there are no errors in Console logs with the suggested keywords (I can't seem to locate console.log file, though).
    UPDATE 2011/08/16 later:
    Nuking Library/Caches (and relogging) didn't help.
    UPDATE 2011/08/17:
    I did
    % find Library -name "*.plist" -exec mv {} {}.renamed \;
    and restarted, but it didn't help. I restored the situation with
    % for file in `find Library -name "*.plist.renamed"`; \  do mv "$file" "${file//.renamed/}"; done
    addendum: I also went through all the .plist files with plutil -s as described inhttp://www.askdavetaylor.com/can_i_check_my_plist_files_in_mac_os_x_for_problems .html. There was some brokennes, but in very unrelated applications.

    Tom,
    I think I love you.
    That absolutely did it! Thanks so much!
    If you'll answer with the same link in the stackexchange site, I'll mark the answer as correct, so you'll get the rep there.
    Thanks,
    Sami

  • 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));

  • 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.

  • 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;

  • 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;

  • Some Calculations are not working in Discoverer 10g after upgrade from 4.1

    Hi Gurus,
    We are recently upgraded Oracle Discovere 10g from 4.1, some calculations are not working in Discoverer 10g. I appreciate if you could fix below calculation(s) in 10g.
    CASE WHEN TRUNC("Expenditure Item Month") = '31-JAN2007' THEN SUM(Wtd Qty A) WHEN TRUNC("Expenditure Item Month") = '28-FEB-2007' THEN SUM(Wtd Qty A) WHEN TRUNC("Expenditure Item Month") = '31-MAR-2007' THEN SUM(Wtd Qty A) END
    Thanks & Regards
    Vikram

    Sabra,
    Not sure exactly what this might be... there could be an issue there.
    Please make sure that you review the upgrade.log. Are there any errors / warnings?
    Also, you might wanna peek the Metalink Note:262623.1 - Master Note for OracleAS Portal Upgrade Issues, where you'll find some nice things where to start looking at.
    Later you may wanna open a Service Request into the Oracle Support.
    I hope it helps...
    Cheers,
    Pedro.

Maybe you are looking for