Pages

Monday, August 14, 2023

Salesforce: Report Inline Editing Limitation and Issue

Report Inline Editing is a great feature where users are able to edit the data (multi fields and multi rows) easily via report. The same thing can be done via list view, but more flexible than list view:

  • Not all users able to create/edit public list view
  • Need to add record type as a filter in list view if the object has multiple record type
  • List view inline editing does not support controlling or dependent picklists

So, the report is a perfect option to cover the above issues. Report inline editing also honors the user has the right permissions to edit the data, only when these conditions are met for Object Permissions, Field Level Security, and Page Layout.

  • Users have edit access to the associated object.
  • Users have edit access to the associated field.
  • The associated field is included and editable in the page layout assigned to the user profile.


However, not all fields are supported by report inline editing, e.g. Opportunity Amount, for complete reference, check out this article Updating Multiple Fields Inline on the Report Run Page in Lightning Experience.

As always, nothing is perfect in this world and Salesforce's great community has put some ideas to make this feature better:


Issues

There is a minor issue related to data validation, e.g. you add a validation rule to maintain a business rule, however, if the system is unable to edit the record because of that rule, the system does not show clearly what is the cause of the error.




Another issue related to this Report Inline Editing: Dependent Field Requirement Should Match Record Pages (90 points), in summary, if the dependent field is marked as mandatory in page layout, however, no values of the dependent field are assigned to a value in the controlling field, inline report editing still requires the user to select a value, although no value is available in the dropdown too.



Reference:



Salesforce field deletion

In a blog written many years back Delete Custom Field, we shared items that will block and allow for field deletion.

Undelete field in Salesforce is also very simple, it will restore the field with data, but the admin need to note and perform a few actions as mentioned here:



Fields deleted with the data will be stayed in the "recycle bin" for 15 days before it will be hard deleted by Salesforce.

A few items to note when the fields are in the recycle bin:

  • You can see and open field detail from the object "Fields & Relationships" menu then click the "Deleted Fields" button
  • The field API name will be changed with an additional _del, such as Test_Date__c --> Test_Date_del__c
  • You can no longer query the field
  • The field metadata will no longer exist


To check who and when delete the custom field is deleted, check the "View Setup Audit Trail", the action should start with "Deleted custom field " 


Reference:


Tuesday, July 4, 2023

Salesforce: Query on Group and GroupMember

Group object is quite unique as it stores multiple types of data, from Public Group, Queue, Role, etc., you can see all the Type values in this article Group.

Note: The Type for Public Group is Regular

Sample query: SELECT Type, COUNT(Id) FROM Group GROUP BY Type


For user members in Group and Queue can be a query to the GroupMember object. Sample query:

All queue with queue members
SELECT Id, GroupId, Group.Name, UserOrGroupId FROM GroupMember WHERE Group.Type = 'Queue'


All public group with public group members
SELECT Id, GroupId, Group.Name, UserOrGroupId FROM GroupMember WHERE Group.Type = 'Regular'


All inactive users in a queue or public group
SELECT Id, GroupId, Group.Name, Group.Type, UserOrGroupId FROM GroupMember WHERE UserOrGroupId IN (SELECT Id FROM User WHERE IsActive = false) ORDER BY Group.Name



Reference:



Tuesday, June 27, 2023

Salesforce Data Storage

When your company purchased a Salesforce org., it will be allocated with a certain space of data storage, plus the number of licenses acquired and type of Salesforce edition. For the details, check the references below.

You can see the Used Data Space from Company Information in the setup menu. The screenshot below shows that Org has used 56% or 11.2MB of the allocated data storage.


To get the details of which object used the storage, navigate to Storage Usage under the setup menu.



Few things to note:

  • Attachments will use file storage, not data storage. But Email Messages will use data storage.
  • Most records are roughly 2 KB with some exceptions, see this article
  • such as Person Account (4KB for an Account and a Contact)
  • EmailMessage records count as the actual size of the Email stored in HtmlBody and TextBody fields, e.g. a 100-KB email message used 100 KB of data storage space
  • Rich text fields in an object still count as 2KB for each record
  • Archived activities are not removed from Salesforce, and they still count for the storage usage


Reference:



Sunday, May 14, 2023

CRM Analytics: Multivalue field

We shared a blog about working with multivalue fields almost two years ago with dataflow, where we read the multivalue field as a text field and used the computeExpression node to create a multivalue field. 

In this blog, we have something similar, except the source field is a text field separated by comma.

Here is the sample data in Salesforce:



The need: to have a list widget in CRM Analytics, so the user is able to filter the dashboard by Segment, where it should be a single, from the above screenshot: AA, GB, MM, SMB. So, if the user selects SMB, this will filter the data to ABT Inc, Adams335 Inc, and Adams991 Inc.

Solution: we can use dataflow as explained in the previous blog, or make use of the recipe as below screenshot: 


We can make use of both original and newly created fields from the recipe in the dashboard, use the text field in the table, and the multivalue field in the list widget:





Tuesday, May 9, 2023

Salesforce: Dynamic Forms controlling Field Type

One of the benefits of using the dynamic form is the ability to show and hide fields live based on 

  • Record field value selected or entered
  • User, e.g., profile, time zone, custom field, etc.
  • Parent record fields

But, not all field types can be used as a controlling field, as per the Summer '23 release, here is the list of field types that can be used: 

  • Auto Number
  • Checkbox
  • Currency
  • Email
  • Formula (Number) 
  • Formula (Text)
  • Number
  • Percent
  • Phone
  • Picklist
  • Text
  • URL

The following types are not supported as a controller field:
  • Date
  • Date/Time
  • Lookup
  • Picklist (Multi-Select)
  • Rich Text Area
  • Text Area

You also can set filter logic (AND, OR) if there are multiple filters.



Page-level ad