Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Custom Calculation Script

Community Beginner ,
Aug 25, 2017 Aug 25, 2017

Need help writing a custom calculation script.  The script needs to be written so that if "Field1" = 80 and "Field2" = 10 then it returns John, but if "Field1" = 99 and "Field2" = 75, then it returns Jane.

I tried using some other scripts that I found, but they wouldn't work.  It would usually just always return the value of my first "if statement" regardless of whether it was true or not".

Also this is for Acrobat Standard DC.

Thanks!

TOPICS
Acrobat SDK and JavaScript , Windows
591
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 25, 2017 Aug 25, 2017

Try this:

var v1 = Number(this.getField("Field1").value);

var v2 = Number(this.getField("Field2").value);

if (v1==80 && v2==10) event.value = "John";

else if (v1==99 && v2==75) event.value = "Jane";

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 25, 2017 Aug 25, 2017

Hmm.  Not having luck with that.  I'll try being a little more specific.  Field1 is actually titled Customer Office Code and field2 is titled Department. 

Let's assume this is what I need it to return:

If Customer Office Code = "90 - Maine", and Department = "12 - Maintenance" = John Doe

and Customer Office Code = "80 - Ohio, and Department = "15 - Tech" = Jane Doe

Would that change how the code needs to be written?

Thank you again!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 26, 2017 Aug 26, 2017

var v1 = this.getField("Customer Office Code").valueAsString; 

var v2 = this.getField("Department").valueAsString; 

if (v1=="90 - Maine" && v2=="12 - Maintenance") event.value = "John Doe"; 

else if (v1=="80 - Ohio" && v2=="15 - Tech") event.value = "Jane Doe";

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 26, 2017 Aug 26, 2017

Yes!  This is what I was looking for.  Now is there a way to add a catch all?  Meaning if they try choosing a selection that doesn't fit the script then it will say "invalid combo"?

Also, is there a limit to the number of combinations that can be included in the script?

Thank you!!!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Aug 26, 2017 Aug 26, 2017
LATEST

1. At the end of the code add this:

else {

     app.alert("Invalid combo!");

}

I also recommend you add this line before the first if-condition:

event.value = "";

2. No, there's no limit to the number of combinations.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines