On many of my forms, Calculated Controls are used to display informative messages to the end user. For example, once a form has been approved, I might display the following snippet:
The Calculated Control formula for the "Approved by ..." message is as follows:
Approval Outcome + " by <strong>" + userProfileLookup(ApprovedBy, "PreferredName") + "</strong> (" + userProfileLookup(ApprovedBy, "WorkEmail") + ") on " + formatDate(ApprovedOn, "dd/MM/yyyy hh:mm tt")
Every time this form opens, the Calculated Control has to... well... calculate, and this involves two userProfileLookup() calls, and a formatDate() call. Once this form has been approved and the Calculated Control is evaluated for the first time, it would be nice to not have it re-calculate every time the form is subsequently opened.
Which brings me to my question: is there a better way?
By "better" I mean in terms of performance by eliminating the need for repeated calculations. Can the output of this Calculated Control be saved to a SharePoint column (single or multiple lines of rich text) on the form? Or should this kind of calculation, which is essentially building a string, be moved to the workflow?
If you've had any experiences with this kind of issue, or have a suggestion, then I'd like to hear them!