+ Start a Discussion
trf199trf199 

Custom settings return #Error! for non sys-admins

I'm a bit stumped on this. I've created a managed package which includes a hierarchical custom setting at the org level. This is then used in custom formula fields. All works well if you view the pages as a system administrator, but if you login as a standard user all you see is #Error!

I've checked and the fields are set as visible and read only, and the the standard user is set to view the correct page layout. The formula fields display fine if I replace the custom settings part with a string, and of course work fine for sys admins. Where else should I look to make sure standard users have access to this data?

Many thanks!

trf199trf199
Could this problem be from when you install the package and you choose which user profiles are able to use the package? If someone clicks Administrator only, is there a way to subsequently change this to everyone?
ThomasTTThomasTT
+1. I have the exact same problem. Could SFDC answer this problem, please?
jonthepiratejonthepirate
I am also having the exact same problem.
jblockjblock

Here is more information about this problem:

 

I have 3 items in my list of Custom Settings. 1 works, the other 2 exhibit this problem.

 

The one that works was created on "3/5/2010 3:54 PM" (PST).

 

The two that do not work were created at "3/9/2010 11:54 AM" and "3/9/2010 3:15 PM".

 

All 3 custom settings have thesame Visibility of "Public" and a Setting Type of "Hierarchy" and only have settings defined under "Default Organization Level Value".

 

Here's how I generate the problem:

 

1) I log in as a standard user

2) I navigate to my case page. One of the fields I've created is a forumula which concatonates a custom setting with a simple string. Instead of seeing the concatonated output, I see "#Error!".

 

Anothor symptom of this problem manifests itself in the following way:

 

1) I log in as a standard user.

2) Click Setup->Develop->Custom Settings->

3) On this page, I see all 3 of my custom settings

4) I am able to access the "Manage" page for the older of the 3 custom settings

5) I am unable to access the "Manage" page for the custom settings I defined today. Instead, I see the following message:

 

Insufficient Privileges
You do not have the level of access necessary to perform the operation you requested. Please contact the owner of the record or your administrator if access is necessary. 

Message Edited by jblock on 03-09-2010 05:15 PM
trf199trf199
A (dodgy) workaround for this is to tick the "view all data" checkbox for each profile that sees the #Error!, but it's particularly practical. Presumably ticking this checkbox has far reaching security issues
trf199trf199
Sorry that should have read "not particularly practical"
ThomasTTThomasTT

I would say this is a bug, because the point of "Hierarchy" Custom Setting is to allow users to use different values for each profile or user. If it is only for "View All Data" profiles, then what the point of the function? Even "Organization wide default" doesn't make sense. It should say "View All Data default", which doesn't make sense any way.

 

Hierarchy Custom Setting should be public to all users in the organization. If somebody wants to limit the accessibility, then they can just set null for the profiles.

 

So, I think it's a bug. I hope SFDC admin people query post with the keyword "bug".

 

If we are missing some configuration to let some profiles acces to the Custom Setting, we're sorry, but we need to know how to do it.

 

ThomasTT

Message Edited by ThomasTT on 03-10-2010 09:41 AM
nacnac

We have a similar problem:

 

We have a managed package with embedded Flex objects that we use for aircraft and crew scheduling. The objects need to read a custom setting (list type) to determine what event types are allowed to overlap in the calendar.

 

The Flex objects access the DB via the Apex API. This works great for admins but not for other profiles, where we get a query failure.

 

SF support tells us the only way we can do this is for the User accessing the object to have “Customize Application” permission (not good…!), but we only want Read access, not Read/Write or Manage. When we set that permission then our app works fine, but of course we cannot let all Users have this permission enabled.

 

Is there a way around this? Do we have to use heirarchy type instead of list type?

 

Many thanks in advance for any help.

Niels
Perfect Aviation

 

PS: Here is our select for the custom setting:
var sql: String = “SELECT Id, ” +
“Name, ” +
“bas__Is_In_Duty__c, ” +
“bas__Overlap_Level__c, ” +
“bas__AS_Create_Edit__c, ” +
“bas__CS_Create_Edit__c, ” +
“bas__SC_Create_Edit__c, ” +
“bas__CC_Create_Edit__c, ” +
“bas__TC_Create_Edit__c ” +
“FROM bas__Activity_Mgt__c”;
this.query(ACTIVITY_MGT, sql, success, failed);