Copy link to clipboard
Copied
I'm trying to have a field only calculate if there the information in another field is greater than 0. I've tried a few different formulas but haven't been able to get it to work.
This is the current formula without the condition that works but is calculating all the time (vs just when the one field is above 0):
TuitionAmountBeforetheCOF + StateTABooKAllowance + MandatoryFees -CollegeOpportunityFundAmountONLY - PellGrantAmountAwardedForSemester - AdditionalFundingSourceAmount1 - AdditionalFundingSourceAmount2 – AdditionalFundingSourceAmount3
This the conditional attempt:
var PellGrantAmountAwardedForSemester = this.getField("PellGrantAmountAwardedForSemester").value
var TuitionAmountBeforetheCOF = this.getField("TuitionAmountBeforetheCOF").value
var StateTABooKAllowance = this.getField("StateTABooKAllowance").value
var MandatoryFees = this.getField("MandatoryFees").value
var CollegeOpportunityFundAmountONLY = this.getField("CollegeOpportunityFundAmountONLY").value
var AdditionalFundingSourceAmount1 = this.getField("AdditionalFundingSourceAmount1").value
var AdditionalFundingSourceAmount2 = this.getField("AdditionalFundingSourceAmount2").value
var AdditionalFundingSourceAmount2 = this.getField("AdditionalFundingSourceAmount2").value;
if(PellGrantAmountAwardedForSemester >= 0) event.value =( (TuitionAmountBeforetheCOF + StateTABooKAllowance + MandatoryFees - CollegeOpportunityFundAmountONLY - PellGrantAmountAwardedForSemester - AdditionalFundingSourceAmount1 - AdditionalFundingSourceAmount2 - AdditionalFundingSourceAmount3));
Copy link to clipboard
Copied
Just saying doesn't work is not of much help to us, describe what doesn't work, like it doesn't calculate anything or something else?
You said you wish calculation to only trigger if value is greater than 0, but in your script you used >=0 which will calculate all the time even if field is empty, change it to >0
EDIT:
This works fine for me, although you may want to add 'else' statement to set field back to 0 or blank:
var PellGrantAmountAwardedForSemester = Number(this.getField("PellGrantAmountAwardedForSemester").valueAsString);
var TuitionAmountBeforetheCOF = Number(this.getField("TuitionAmountBeforetheCOF").valueAsString);
var StateTABooKAllowance = Number(this.getField("StateTABooKAllowance").valueAsString);
var MandatoryFees = Number(this.getField("MandatoryFees").valueAsString);
var CollegeOpportunityFundAmountONLY = Number(this.getField("CollegeOpportunityFundAmountONLY").valueAsString);
var AdditionalFundingSourceAmount1 = Number(this.getField("AdditionalFundingSourceAmount1").valueAsString);
var AdditionalFundingSourceAmount2 = Number(this.getField("AdditionalFundingSourceAmount2").valueAsString);
var AdditionalFundingSourceAmount3 = Number(this.getField("AdditionalFundingSourceAmount3").valueAsString);
if (PellGrantAmountAwardedForSemester > 0) {
event.value = (
TuitionAmountBeforetheCOF
+ StateTABooKAllowance
+ MandatoryFees
- CollegeOpportunityFundAmountONLY
- PellGrantAmountAwardedForSemester
- AdditionalFundingSourceAmount1
- AdditionalFundingSourceAmount2
- AdditionalFundingSourceAmount3
);
}
Copy link to clipboard
Copied
Check the console for errors. You have at least one error. There is no AdditionalFundingSourceAmount3 variable as referenced in your script. You have AdditionalFundingSourceAmount2 twice.
Copy link to clipboard
Copied
I noticed that after posting and fixed it but it still doesn't work.
Copy link to clipboard
Copied
There should be a semi-colon after each variable declaration line. Any errors in the console?
Copy link to clipboard
Copied
I've tried with and without the semi-colons and still doesn't work.
Copy link to clipboard
Copied
Just saying doesn't work is not of much help to us, describe what doesn't work, like it doesn't calculate anything or something else?
You said you wish calculation to only trigger if value is greater than 0, but in your script you used >=0 which will calculate all the time even if field is empty, change it to >0
EDIT:
This works fine for me, although you may want to add 'else' statement to set field back to 0 or blank:
var PellGrantAmountAwardedForSemester = Number(this.getField("PellGrantAmountAwardedForSemester").valueAsString);
var TuitionAmountBeforetheCOF = Number(this.getField("TuitionAmountBeforetheCOF").valueAsString);
var StateTABooKAllowance = Number(this.getField("StateTABooKAllowance").valueAsString);
var MandatoryFees = Number(this.getField("MandatoryFees").valueAsString);
var CollegeOpportunityFundAmountONLY = Number(this.getField("CollegeOpportunityFundAmountONLY").valueAsString);
var AdditionalFundingSourceAmount1 = Number(this.getField("AdditionalFundingSourceAmount1").valueAsString);
var AdditionalFundingSourceAmount2 = Number(this.getField("AdditionalFundingSourceAmount2").valueAsString);
var AdditionalFundingSourceAmount3 = Number(this.getField("AdditionalFundingSourceAmount3").valueAsString);
if (PellGrantAmountAwardedForSemester > 0) {
event.value = (
TuitionAmountBeforetheCOF
+ StateTABooKAllowance
+ MandatoryFees
- CollegeOpportunityFundAmountONLY
- PellGrantAmountAwardedForSemester
- AdditionalFundingSourceAmount1
- AdditionalFundingSourceAmount2
- AdditionalFundingSourceAmount3
);
}