A currency cannot be set for the price_if_checked and recurring_price_if_checked fields on Checkbox variables because these are Decimal type fields.
This causes problems with the catalog item calculation and the display values shown on the forms when the catalog item and its other variable prices are not the same currency as the one derived from the default system locale, which is what is assumed for this decimal value.
Where the Item is in a different currency to the default locale's local currency, the variable prices are wrong. The system assumes the variable prices are in the default locale currency, and not in the same currency of the rest of the catalog item.
Steps to Reproduce
- Navigate to System Properties > System Localization to set the locale to nl.NL, implying EUR default system currency, or directly set the glide.system.locale system property.
- Navigate to Service Catalog > Catalog Policy > Properties and set glide.sc.enhance.labels=true.
- Set a predefined user with the Country Code=United Kingdom.
For more information, see the product documentation topic Create a user.
- Create a Catalog Item, with a Price and Recurring Price in GBP.
For more information, see the documentation topic Define a catalog item.
- Create a Check Box variable with a Price and Recurring Price.
- Click Try It as maint, using the nl.NL default system locale, implying EUR currency.
- Click Try It as the predefined user, using the en.GB locale derived from GB country in the user profile.
Note that the price of the Catalog Item does not convert appropriately based on location.
Although manually calculating the value in the default currency is a possible workaround, the result will drift away from the expected value as exchange rates change.
This issue is under review. To receive notifications when more information is available, subscribe to this Known Error article by clicking the Subscribe button at the top right of the article. Review the Fixed In field to determine whether any versions have a permanent fix.
Related Problem: PRB668581