15 views

Symptoms


When an user was trying to modify the simple reference qualifier to advanced reference qualifier in sys_dictionary entry, system was not allowing to save the modification, upon save button click, system automatically reverts the reference qualifier back to simple. 

Lets consider an out of the box provided reference field which uses simple reference qualifier, for example, "assignment_group" field on task table is an out of the box provided reference field which uses simple reference qualifier as shown in below screenshot,

Let's change this simple reference qualifier on "assignment_group" field to "advanced" with the reference qualifier as,

"new EscalationReferenceQualifer().getAssignmentGroup();" 

Where EscalationReferenceQualifer is a script include,

and getAssignmentGroup is a function within the script include as shown in the below screenshot,

Upon saving the above updated "assignment_group" sys_dictionary entry, system just simply reverts the reference qualifier back to simple and doesn't save the changes.

Release


Any supported release. 

Cause


As per the Javascript calls document, the advanced reference qualifier which invokes scripts should be prefixed with "javascript:" string, if not system just simply aborts the update transaction.

This validation is being done on the system via an out of the box provided update business rule "Reference Qualifier Value"("sys_script.do?sys_id=7c4072105f220100a9ad2572f2b47750") on sys_dictionary table as shown below,

Resolution


For the advanced reference qualifier with scripts, make sure, reference qualifier is always prefixed with string "javascript:" as shown below,

javascript: new EscalationReferenceQualifer().getAssignmentGroup();

Additional Information


Reference Qualifier

Advanced Reference Qualifier example

System Dictionary

Article Information

Last Updated:2018-09-20 01:22:27
Published:2018-09-20