Please accept EventData inputValues with a grain of salt...
It has come to our attention that the EventHandlers (Triggers) for Sales events (such as "After save sale") get a bit too much input data. Specifically, the EventData.inputValues contain also various local temporary variables which were never ment to be exposed. For instance, the value "SaleStageHasChanged", always has the value false event though the stage actually has changed. This is because this is a private local variable, which should not be part of the EventData.inputValues.
We will fix this bug down the road, but the fix will be to filter out (remove) these variables. Consequently, I ask you to not use them in your customizations as they are not stable and will be removed. Which ones are they? Unfortunately, I do not have a complete list for now. So, for simplicity, I believe you should limit your sulutions to using the standard values for properties on the entities, such as "SaleEntity.Amount", etc. The ID is definitely safe, and then you can query the database to get the current value.
Sorry for this. We will try to clean up the inputValues, as well as getting some more documentation on this area.
Alle Svar (1)
It would have been really nice *if* you provided us with those "HasChanged" variables. Meaning we dont have to read the previous value from the database and verify if for example the Prob/State of the sale has changed.... Could this be a thing to do? The variable SaleStageHasChanged is still there in the eventdata...