I have moved my custom object(Reservations) with the custom fields(near to 50 fields) created in Sandbox into Production but when i try and create a new res I can use only the standard field of that custom object. All the other fields are not visible. When I go to the edit of the page layout I can see them but when I preview the layout they are missing. Did I forgot something during the transition from Sandbox to Production?
If you deploy a change set with only the custom object and fields none of the profile permissions will be copied over and you will need to manually set the permissions in the destination org.
If you want to copy over profile permissions when you create a change set you need to include your profiles in the section 'Profile Settings For Included Components'. This will then deploy the following changes for the included components:
- Assigned apps
- Custom object permissions
- Custom field permissions
- Apex class access
- Visualforce page access
Note: These settings are only deployed for the included components:
For custom object permissions, custom field permissions, Visualforce page access, and Apex class access, always include supporting components in the change set. For example, object permissions for the custom object Items are included only if the Items object is also included.
See https://help.salesforce.com/apex/HTViewHelpDoc?id=changesets_perm_sets_profiles.htm&language=en_US for further information.
You probably just migrated the custom object and custom fields and not the profile(s) that you must have updated when the fields were created. The profiles have the Field Level Security for each fields. If you dont plan to move the profile to production then you would have to manually update the FLS for each of these fields on the custom object in production.
As others have pointed out, you need to deploy the permissions in each of the profiles for your new object.
Full disclosure that I work on the team, but you can use Gearset Deploy to see what state your profiles are in and just deploy the individual permissions for your custom object rather than needing to deploy the entire profile which can often fail if, for example, your sandbox contains other apex classes or custom objects that haven't been deployed.
You can also do a comparison then export to Excel so you can have a good idea of what state your orgs are in