Multi Currency with Skuid in a Managed Package

  • 1
  • Question
  • Updated 4 years ago
  • Answered
Just wondering if anyone out there has gone through the process of deploying Skuid in a managed package AND offering optional Multi-Currency support in that package?

We have a few customers (not all) requesting Multi-Currency, and we will of course need to include dynamic apex into our triggers and classes to allow for this, but how do we also do the same for Skuid pages?

If we include the currency field in a Skuid page, will it be automatically dropped for orgs which don't have multi-currency enabled, or will the page throw an error on load?
Photo of Greg Jarrett

Greg Jarrett

  • 3,496 Points 3k badge 2x thumb

Posted 4 years ago

  • 1
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
We have a good number of international customers that use multi-currency features with Skuid.  You should of course test your package by setting up a new org that has Multi-currency features enabled.  Our intention is to make the tranisition to multi-currency seamless,  but there are a few rough spots that we are aware of.  If you search through the forums you will find a few bug reports from Norway and New Zealand.  
Photo of Zach McElrath

Zach McElrath, Employee

  • 49,056 Points 20k badge 2x thumb
In Multicurrency orgs, Skuid will automatically add the "CurrencyIsoCode" field to SOQL queries if you have requested one or more Currency fields in your queries. As of version 5.15 / 5.16 of Skuid, this is done for each relationship level, e.g. if you request Quantity, UnitPrice, Discount, Opportunity.Amount, Opportunity.Name in an OpportunityLineItem query, Skuid detects that there are 1+ Currency fields requested at the OpportunityLineItem level, as well as at the Opportunity level, and so the end result SOQL query will include both CurrencyIsoCode and Opportunity.CurrencyIsoCode.

Skuid will automatically retrieve the CurrencyIsoCode fields as necessary to properly render Currency fields, you should be fine. In Multicurrency orgs, Skuid's Currency field renderer shows the 3-digit currency code next to the currency amounts, as is done in native Salesforce, and if the org's baseline currency is not the same as the record's currency, then a conversion will be shown to the right:

365.24 USD (876.22 EUR)

If you want to add the CurrencyIsoCode fields to a Skuid page manually, i.e. so that the user can change the currency, this should be okay too because in a single-currency org, the field will just be thrown out of your Table / Field Editor, since it doesn't exist. For single-currency orgs, the Page Builder would throw a red error message saying that the field doesn't exist, but end users shouldn't see this message unless they have permission to edit pages.
Photo of Greg Jarrett

Greg Jarrett

  • 3,496 Points 3k badge 2x thumb
Thanks Rob & Zach,

I currently have this working in a test org with multi currency enabled. Just wondering if its possible with a render snippet to hide the currency code prefix? As we have 6 currency columns, in addition to the currency picklist, each one of those is rendering USD or EUR etc, so each column is repeating unnecessary values. We do want to give users the ability to edit the currency in the row, so there isn't really a need to specify currency on every other field in the row.

I recall seeing a post about this a few days ago but have searched high & low and can't seem to find it now. Maybe I dreamt it. Sometimes I dream about Skuid.

Would it be possible to hide the 3-letter currency prefix?

Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
Valuable question and shouldn't be buried in a post with another title. Please reference the new topic here: Multi Currency Org: Can I hide currency code prefix in my tables?