Alright, so on the front-end calculation field, we use one of them for calculating the cost of an item. This is fantastic because it’s automatically updated.
The problem that we run into is that at some point in the future, if we change our pricing structure, it’s going to recalculate an item from the past. Is there a way to freeze or stop a calculation field from the front-end from updating using an if statement or similar?
Copying the value to a new field is not a great solution for us.
You could also continue to use the calculation, program a workflow that when the calc field changes, update a text/number field with the result but ONLY if the item is still “active”.
I know what the RIGHT answer is. I just don’t like it.
When we came over from podio, we were so used to automations not working. We had to reconfigure podio so that everything was inside of calculations instead of automations because it kept crapping the bed.
Needless to say, we set tape up the same way because we have the same fears of failed automations.
Here we are 3 years later and tape actually works as it should so now I’m trying to address 50+ calc fields that I need to freeze (again, I know the right answer, I just don’t like it.)
I was hoping for a simple if/else solution or the equivalent
Well, doing exports and imports into Tape is super easy, might even be easier than Podio. So it should be relatively simple to export all historical records, and reimport the hard coded value into a new number field. That will solve your historical records issue.
As far as workflows are concerned, I have not experienced a failed workflow yet that wasn’t my fault. And even when it is my fault, the logs are super clear so I can find the problem immediately.
I’m with you, though. It’s hard to shake off the behaviours we’ve accumulated due to the poor reliability of PWA. It’s like having Stockholm Syndrome that you have to break yourself of!!
Another way I have done this is by using a “Pricing structure” app which contains all of the actual prices involved in your calculation. You’d have a record there with a “Current” tag and all associated prices, and an automation to link that price structure record to all newly created items wherever you need to calculate the price.
That way, the calculation references the current price structure at the time the record was created, and you can create a new price structure anytime and set that one to current without affecting any prices on the previous structure.
Hope that makes sense…I also steer towards calculations for the same reason - I’m now wired to believe it’s safer