Ask Search:
Sandy UssiaSandy Ussia 
I'm relatively new to Salesforce... not a developer, but I have a background in power user type stuff in SharePoint/Microsoft stack. So not entirely clueless, but also struggling a bit to understand the Salesforce lingo and structure :-)
I've been creating a custom SF app which generally works quite well. But I've run into a problem on a Visualforce page I created, which I just can't seem to get past, after days of searching the forums and documentation, and trying different things - I hope someone can help...
The standard controller I'm using for my "WorkOrder" page is a custom object called WorkOrder, and it has a related object called Piece (i.e. each WorkOrder has multiple Pieces). I'm displaying all of the Pieces for a given Work Order, based on the id being passed in the URL from a button on the Work Order page. I want the Pieces to be displayed in order by Shop Ticket #, but they're in some random order I can't make out. Here's what I've done so far:
- I see some references in the forums to using a custom controller to sort items, but that's not an option for me because I'm on Professional Edition.
- I learned from my research that items within a PageBlockTable are sorted by default in the order of the "current view", and if I create a list view of Pieces where the first column is Shop Tkt #, then if I'm using the Piece controller, this works great. But I need to use the Work Order controller, because I'm displaying all the pieces related to a single Work Order.
- I can see how a SOQL query would be easy (ORDER BY), but I can't find a way to use SOQL outside of a custom controller... Is my understanding correct on this? i.e. is it possible to use SOQL inline somehow within a VF page (not in separate Apex code which I can't do because of my SF edition)? Or can something be passed in the URL of the VF page?
- I also tried implementing a javaScript solution I found called TableSorter, but I couldn't get it to work even with a simple sample table on a VF page in Edge/IE/Chrome, so I wonder if the code is too old or something. Also, it was a bit of overkill, as I don't need to have dynamically sortable columns, I only want to sort the Shop Ticket column before rendering the data.
It seems to me this should be an easy thing to do - like there should be a Sort attribute in the Column or something. As far as I can tell from my research, there's not a solution, but I hope I'm missing something...?
Thanks for any help! 
- Sandy
Best Answer chosen by Sandy Ussia
Nitish SinghalNitish Singhal
Hi Sandy, there is no out of the box solution from Salesforce like putting some attribute in pageblocktable and get the data sorted by column. 

You may need to implement some javascript only, which can help you out.

And yes, if you need more help I would suggest that you will have a better chance of getting relevant answers if you post it on one of the following forums [lots of talented developers out there who must have worked on similar problems before.

StackExchange [ (]
Official Developer Forum []

For any configuration changes and point and click design solutions, feel free to post in this community and we will be glad to help you out. 

David DavidDavid David 
I know i'm not crazy.  Been on SF classic for 10 years.  The recent items list in the sidebar now puts tasks and all other junk in there where it was always showing me the ACCOUNTS we were at.  What changed?  It has become useless as it fills up with junk I do not need.  People at SF tell me nothing changed???  IMPOSSIBLE!!  Every worker of mine has complained about it and I have no idea what has happened.  ANYONE having this issue and how do we make it go back to how it was...Thanks
Best Answer chosen by David David
Prashant PandeyPrashant Pandey
Hi David,
Unfortunately, you can not customize the recent item..but there is a workaround.
Step 1 : Create a home page component and use this query within the controller and
FROM RecentlyViewed 
WHERE Type IN ('Account')
ORDER BY LastViewedDate DESC

display the account name in the homepage component. 

Step 2:

Go to homepage layout and remove the standard recent item option. 


Step 3: Select the newly created component 
Step 4:
Specify the custom component location within the homepage.


Sombir SheoranSombir Sheoran 
Hi Community members,

I am trying to complete challenge on trailhead and getting below error while doing so. 

5. Customize your personal time zone to (GMT-04:00) Venezuela Time (America/Caracas)​

Challenge Not yet complete... here's what's wrong: 
Your user does not appear to have '(GMT-:04:00) Venezuela Time (America/Caracas)' set as the timezone.

Error while completing trailhead challenge

Challenge is saying to update locale 
  1. In the header, click your profile icon and select Settings.
  2. Enter Language in the Quick Find box, then select Language & Time Zone.

But I dont find this path into my developer org. Please helpout how to complete this challege.



Best Answer chosen by Sombir Sheoran
Kishore B TKishore B T
Please click on 
User-added image

and type language in setup
User-added image
save and retry in trailhead to complete the module
Deanne WaltersDeanne Walters 
I have two custom objects which are Shopping Cart Items and Payments. The Shopping Cart Items have a lookup to Payments.

So what I want to do is have a list of all of the Shopping Cart Items related to the Payment in a text field on the Payment using the Name field in Shopping Cart Item.

I can't seem to figure out how the loop should be set up. Any help?
Best Answer chosen by Deanne Walters
Narender SinghNarender Singh
I have used an example of Accounts and Contacts.
Video Link:
Larry BouchardLarry Bouchard 
I'm trying to set up filters to include only records that have information in a given field.  Or not include a record that has a certain field that's blank.  I've searched high and low through the help files and can't find it.  It's one of the most basic things a filter does so I can't imagine why it's so unintuitive to do..
Best Answer chosen by Moderator ( 
Austin NordmanAustin Nordman
It should just be Field = (blank) or Field <>(not equal, can also use !=) (blank).
James HouJames Hou 
I was wondering if there was a faster way of writing

ISPICKVAL(Status__c, "one") ||
ISPICKVAL(Status__c, "two") ||

into one ISPICKVAL(Status__c, "one" || "two") or so forth?

or CONTAINS(Text(Status__c, "one" || "two") or whatnot.

I want to write a (cleaner) validation rule if a State pickval are a certian set, then a certain type cannot be the case. Right now, all i know how is to chain the first example ad nauseum until I get through my list. 
Best Answer chosen by Moderator ( 
Jason PaquetteJason Paquette
Unfortunately, no faster way.  I've had same issue and SFDC Support reports no other way.  Must list out each pick list value you want.
Ramesh VaratharajRamesh Varatharaj 
Hello experts, need a help. I am wondering whether the schedule date's can be refreshed automatically when product date is updated (service date). I have added a process which resets the product date (service date) when close date is pushed. But i am not able to reset the schedule dates - schedule date still remains the same old one. Is there any way (without codes) to reset the start date of schedule?
Best Answer chosen by Ramesh Varatharaj
Jeff MayJeff May
You will creata a Process on OpportunityProduct to watch when the ServiceDate changes. This Process will call a Flow and pass the OpportunityProduct record ID to the Flow. The Flow will then query for the OppProduct fields of ServiceDate (and any needed 'number of months') and store that in an sObject flow variable.

Then, your Flow will query for all scheduleitems related to the OppProduct and loop through the Schedule Item records to adjust their dates (you might find it easier to have the Flow delete all the existing ScheduleItems and create new ones as needed (so you don't have to track which of the original ones need to be deleted because they are no longer needed).

Finally, your Flow will FastUpdate or FastCreate the list of new/updated schedule items.
Stephen ParkinsonStephen Parkinson 
  1. I have two Account record type and associated layouts called Q-Stage Account and Influencer Account.
  2. I have a custom Lookup field on Q Stage Account called Influencer_Account__c - so the user can link an Influencer Account to a Q Stage Account
  3. Influencer Account has a custom picklist field called Strength_of_Relationship__c
  4. I would like to build a formula field on the Q-Stage Account that returns the picklist value from the associated Influencer account picklist described in point 3.
I have tried the following TEXT(Influencer_Account__c.Strength_of_Relationship__c) but I get Syntax error to say Field Influencer_Account__c does not exist.

Any ideas how to resolve this?

Many thanks
Best Answer chosen by Stephen Parkinson
Akhil AnilAkhil Anil
Hi Stephen,

Your formula should be like this

Matthew WillMatthew Will 

I understand how when an object's OWD is set to private how the role hierarchy opens up records to managers and above.  

I don't understand what a role hierarchy does when an object's OWD is set to public read only and especially not if the OWD is public read/write.  In my head I imagine role hierarchies would actually restrict or focus the records the person in the role hierarchy sees, but what about people not in the role hierarchy?  They would see more than those in the role hierarchy, right?

Do role hierarchies do anything when the OWD is public read/write?



Best Answer chosen by Matthew Will
Jeff MayJeff May
It prevents users outside the hierarchy branch from being able to edit records.

The Role Hierarchy provides 2 things:

1) record access control if you choose to use non-Public ReadWrite Sharing Settings
2) structure for revenue reporting.
Danny TaylorDanny Taylor 

We have had Trail Tracker installed in our org for a few months and it has typically been running without any issues. On Friday we started getting the below errors and it has completely stopped any data sync since then.

First two errors are as followed:
TrailheadAPI getBadgeMetaData Attempt to de-reference a null object, line 518. Cause: null
TrailheadAPI getBadgeMetaData Attempt to de-reference a null object, line 518. Cause: null

Then we got 78 repeating of the following (all different badges) 
TrailheadAPI loadBadgeMetaData Duplicate external id specified: search_solution_basics

Any guidance on how to resolve would be great. 


Best Answer chosen by Danny Taylor
Adam TormanAdam Torman
The fix has been deployed and initially tested!

If you've manually upgraded your trail tracker app with the link ( you should notice a couple of things after the next sync:
1. the "Attempt to de-reference a null object" should be gone from the debug log
2. the "Duplicate external id specified" should be gone from the debug log
3. any badges that have been earned should now sync. Consider earning a badge before the next sync so you can test that it updated as expected.

Thank you again for your patience. Once we finish our internal testing, we'll push an upgrade to the rest of the community. Thanks!