Is there a way to get a profile's field level security? I tried an soql query for FieldPermissions object but it's based off of permission sets so if there's no permission set with at least read access on that field, it doesn't show up. However, I want all the fields on the profile itself.
Here is a sample query that delivers all the child field Permissions. You just need to add the Profile name or ID to the WHERE clause:
SELECT id, SobjectType, Field ,ParentId , PermissionsEdit ,PermissionsRead, Parent.IsOwnedByProfile, Parent.Name,Parent.Profileid , Parent.Profile.Name FROM FieldPermissions WHERE Parent.IsOwnedByProfile = true AND Parent.AND Parent.ProfileId = '...your Id here' LIMIT 100