Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Cannot assign True

Avatar

Level 5

I am using Math.floor in the Exit action of a field  ((headwaterExistingMain10 is the field name) and this is the formula in Calculate action:

 

if (headFtExistingMain10.rawValue==null)
this.rawValue==null
else this.rawValue = (Math.round(hweFtMain10.rawValue*10)/10)+(Math.round(headFtExistingMain10.rawValue*10)/10)

 

and though the calculations work I'm getting this error message 

 

"illegal value: cannot assign 'True' to xfa[0].form[0].form1[0].page1[0].table1[0].row5[0].headwaterExistingMain10[0].#value[0].#float[0]."

 

 

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi @ReluctantProgrammer ,

hence your name  

I think the offender is the this.rawValue==null == is a comparator not an assignment. Here my guess at what you wanted to do:
if (headFtExistingMain10.rawValue == null) {
this.rawValue = null
} else {
this.rawValue = (Math.round(hweFtMain10.rawValue*10)/10)+(Math.round(headFtExistingMain10.rawValue*10)/10)
}

I think if headFtExistingMain10 is null also set this field to null, correct? Try this and see if that fixes it.

Kosta

View solution in original post

7 Replies

Avatar

Employee Advisor

@ReluctantProgrammer 

This thread looks similar to this one- https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager-forms/null-not-working/td-... 

Please confirm if this one is different, can you review the inputs provided here.

Avatar

Employee Advisor

@ReluctantProgrammer Looks like a type mismatch between the object type and the value you are trying to set.

 

"illegal value: cannot assign 'True' to xfa[0].form[0].form1[0].page1[0].table1[0].row5[0].headwaterExistingMain10[0].#value[0].#float[0]."

Avatar

Employee

yes, and for me the hint lies in the #float[0]. You are trying to set a float field with the value True. Try 1 or 0 if that makes sense in your logic.

Thank you Kosta.  Being a novice I'm not sure where the "true" is defined in my formula....

 

if (headFtExistingMain10.rawValue==null)
this.rawValue==null
else this.rawValue = (Math.round(hweFtMain10.rawValue*10)/10)+(Math.round(headFtExistingMain10.rawValue*10)/10)

Avatar

Correct answer by
Employee

Hi @ReluctantProgrammer ,

hence your name  

I think the offender is the this.rawValue==null == is a comparator not an assignment. Here my guess at what you wanted to do:
if (headFtExistingMain10.rawValue == null) {
this.rawValue = null
} else {
this.rawValue = (Math.round(hweFtMain10.rawValue*10)/10)+(Math.round(headFtExistingMain10.rawValue*10)/10)
}

I think if headFtExistingMain10 is null also set this field to null, correct? Try this and see if that fixes it.

Kosta

Exactly!  

 

This is what I needed.  It's working great!

 

Thank you so much!!!