When saving a read-only currency field its value may be converted to default US Dollars automatically


When a read only currency field is being saved, its value may be automatically converted to US$, even though the user locale are set to a different currency.

Steps to Reproduce

  1. Login a multi-currency instance as administrator.
  2. Verify the currency values are displayed in the user locale chosen currency, i.e. GBP.
  3. Create a currency type field and put the field on the form.
  4. Change it the currency to be like pound.
  5. Make the field read only.
  6. Save the form.
    Notice the currency is changed to US$ instead of showing GB Pounds.



This is expected behaviour, due to different settings across the currency system properties. When a Currency field is set to read-only, the default currency on a new record will be the reference currency set in the glide.system.locale property. This property should be set before starting to use the instance and loading data. Setting the glide.system.locale system property to a different value from the initial instance startup requires clearing the instance cache and may cause previously stored data loss for all existing currency fields.


Related Problem: PRB1238857