0

I have set up a global search filter on a custom object that includes the Record Type field. This allows our users to filter down results by Record Type. However, when choosing one of the Record Type values, we see the error "Error: Picklist value does not exist." After doing some research I'm guessing this is being caused by the fact that the Record Type has a comma in it. I was wondering if there was some work around to being able to use this Record Type picklist value as a filter, without having to update the Record Type name (to remove the comma).

Thanks!

1

Appears to be a known issue which is currently being reviewed: "Error: Picklist value does not exist" in Search Filter Fields for Record Type values with commas

N.B. It might be important to point out that an error may not always be thrown for this issue. Appears record types containing commas are actually being split into separate filters. Eg. a record type filter of "One, Two" is being split into "One" and "Two" at which point the filter is applied. So if you have a record type of "Two", then results will be returned for that. If you have both "One" and "Two" as record types, you will get those results back, but never "One, Two" results. An error is only thrown if neither "One" nor "Two" are valid record types. Hope that makes sense.

Summary
When the Record Type field is used as a Search Filter Field and record type name contains a comma, selecting record type value with commas from the search filter picklist, throws error "Error: Picklist value does not exist"

Repro

  1. Create a Record Type with label containing comma ','
  2. Add Record Type as search filter field for the object where you have created the record type in step 1.
  3. On search result page click on Show Filters and select the record type you have created with comma under the Record Type filter picklist.
  4. Click Apply Filters

Error: "Error: Picklist value does not exist"

Workaround
Remove comma from the record type label or user other characters like hyphen.

0

Is it a vf page? if yes, you can see if you have the same approach as below. Posting some code would help.

VF:

<apex:page controller="UserController">

  <apex:form >
      <apex:selectList size="1">
          <apex:selectOptions value="{!UserList}"></apex:selectOptions>
      </apex:selectList>
  </apex:form>
</apex:page>

Apex:

    public without sharing class UserController 
{

    public UserController()
    {

    }

    public List<SelectOption> UserList
    {
        get
        {
            List<RecordType> rcList = [ SELECT Name FROM RecordType WHERE SobjectType = 'user'];


            UserList = new List<SelectOption>();

            for(RecordType rc:rcList)
            {
                UserList.add(new SelectOption(rc.Name));
            }
            return UserList;
        }
        set;
    }
}

This is an example considered for user object.

  • No, it's just the standard global search filter functionality. – Matt Jul 14 '17 at 18:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.