25
FebSometimes Salesforce consultants have to put on detective hats and investigate what happened on a specific Quote. Were the changes intentional? Has the user interacted with the record? Or the updates happened as a result of an automation? The answers to these questions are hidden in the "Last Date" fields and in two Salesforce CPQ package fields. These fields store date and time values.
Let's take them one by one:
LastModifiedDate field is automatically updated whenever a user creates or updates the record. We noticed that this field also gets updated on the Primary Quote when the user makes a change to the opportunity, which in its turn triggers an update onto the Quote, i.e., without direct interaction.
SBQQ__LastSavedOn__c field stores the date/time when the quote record was last saved (System.now()).
SBQQ__LastCalculatedOn__c field is stamped with date/time when:
A Quote is successfully saved from the Quote Line Editor
An asynchronous calculation successfully completes and writes the resulting values back to the Quote.
A Salesforce CPQ Calculation API is successfully called and saves via its callback class.
A Quote is saved without any changes made to any Calculating fields, and SBQQ__Uncalculated__c is false when the Save occurs.
Note: The SBQQ__LastCalculatedOn__c field will NOT be updated when saving after a Calculating Field is changed. In this scenario, SBQQ__LastCalculatedOn__c will receive its update following the completion of the asynchronous calculation initiated by updating the Calculating Field.
LastReferencedDate field is a timestamp for when the current user last viewed a record related to this record.
LastViewedDate field is a timestamp for when the current user last viewed this record.
Note: LastReferencedDate and LastViewedDate fields are not system audit fields. This means that they are not reliable to be used to keep track of who last viewed and/or referenced the record, but in certain situations, they might be helpful. It all depends on what exactly you are investigating.
Also, don't forget about the SystemModStamp. This one is updated both when a user updates the record, and also when automated system processes (such as triggers and workflow actions) update the record.
Good luck with your investigations!
Comments (0)