Skip to main content

How to use Data Tables and filter component in Screen Flow?

 Business Requirement 

You are salesforce Admin working in Acute Care company, receives patient referral from different hospitals, Intake user need to assign each patient to some facilities that has been configured under hospital Account. And if patient is already referred one facility then It should filter.

Here is salesforce object references and Data Model 

Lead - Stores Patient Information 

Account - Hospital Account 

Facility - Facility Information 

Hospital Facility Mapping - Junction object between Account and Hospital Facility Mapping. 

Opportunity - Created under Lead stores how many facility lead has been referred, so It is junction between  Lead and Facility.




Solution without using Apex and LWC

  1. Create a Quick Action Named Assign Facility on Lead, which calls a screen flow.

     2. On click of Assign Facility button, user can select which Facility to add.



     3. Here is the whole flow. Let me explain each component


a.      a. First Get Opportunity Record Type- It is a get record element to get recordtypeId of Opportunity



b.     bGet Hospital Account Id from Lead – It is a get record element to query referring hospital Account which is look up field from Lead to Account. Since flow going to be launched from Lead record, recordId variable will have Lead Id.


CGet Hospital Mapping Records: It is a get record element to get all child records(facility configured) under particular hospital Account. Used referring hospital Account Id from previous step in query filter



d.     d. Create Facility Opportunities – Screen component containing data table where Source Collections configured all records retrieved from previous step c.



e.      e. Loop through Hospital Mappings Records



f.        f. Assign Opportunity Fields – Assignment element under loop to add all required field mapping for opportunity



g.      g. Store Opportunity to a List – Assignment element under loop to add single opportunity variable to a list.



h.      h.Get Opportunities Record For Lead – Get record element to get opportunities created under same lead.



i.        i. Decision element to check If Lead has any opportunity, If there is not any opportunity then Create record element to create all opportunities. Refer list variables used in step g





j.         j. If there are any opportunities present under lead, then run loop



k.      k. Filter element run list variables step -g, compare current item’s facility should not match listopportunities facility.



l.        lNow facilities will be filtered, there will be another list variable created, Use filtered list variable to do null check.



m.  mCreate element to created opportunities, refer filtered list.

n.      nError Screen to show any error occurred.







 






Comments

Popular posts from this blog

Style in LWC

 Following are the ways we can apply in CSS in LWC. 1. Inline CCS Inline CSS is not recommended approaches, it is take highest priority among all CSS. style="color:green;font-size:10px;" is inline CSS added to div < template >     < lightning-card title = "Inline CSS" >         < div >             < div style = "color:green;font-size:10px;" > This is inline Style div </ div >         </ div >     </ lightning-card > </ template >  2. External CSS style can be applied to an elements such as h1, p,div span etc. It can applied to class using "." notation. for example .user{} It can also be applied to pseudo class.  for example .user:hover{} Id locator is not being used in LWC to apply style To apply external css, need to create separate CSS file, file name should be exactly matched with component name. for example - If component name is ...

How to Create/Delete file attachments(Content Document) through Apex ?

 There are 3 standard salesforce objects to store file attachments. Content Document, ContentDocumentVersion, ContentDocumentLink.  Here is the article to talk about these objects and relationship.  https://www.forcetalks.com/blog/contentdocument-and-contentversion-in-salesforce-an-overview/ ContentDocumentVersion ContentDocumentLink This post is all about how to create/delete content document though Apex. Here is code snippet // Insert Content Version record ContentVersion contentVersionRec = new ContentVersion(Title='filename',PathOnClient ='FileName.pdf',VersionData = bodyBlob,origin = 'H'); INSERT contentVersionRec; // this will insert one record in ContentDocument and ContentVersion , ContentDocument  is parent and  ContentVersion is child record // get contentdocument id contentVersionRec = [SELECT Id, Title, ContentDocumentId FROM ContentVersion WHERE Id = :contentVersionRec .Id LIMIT 1]; // Create Content Document Link record- This will attach ...

Lifecycle hooks in LWC

There are 3 phase of LWC component  1. Mounting  A. constructor, B. connnectedCallback C. render D. renderedCallback 2. UnMounting  A. disconnectedcallback 3. Error  A.errorcallback Note - render is not lifecycle hook, it is protected method of Lightning element class. Mounting Phase LWC Creation and Render Life cycle Constructor Method ·        This method called when component is instantiated and It flows from parent to child component. ·        Need to call Super() inside constructor method ·        Can’t access any component properties or child component because it’s not ready yet. ·        Host element can be accessed through “this. template” inside constructor method. ·        Don’t add any attributes to host inside constructor C   constructor (){          super (); //...