Documente Academic
Documente Profesional
Documente Cultură
Ans: List<Task> listof tasks = [select id, name from Task where
whatId=Trigger.new];
1. About project?
2. What are standard objects used in your project?
3. Call outs?
4. Governor Limits?
5. Relationships
6. Different types of field types?
7. Data Migration?
8. Roll-up summary?
9. What is the difference between sales cloud & service cloud?
In Which edition the Apex Data Loader will support? What are those editions?
Earlier Enterprise and Unlimited editions use to support Apex data loader. Now, Professional, Enterprise and Unlimited
edition supports data loader.
Through Sales force Import wizard how many records we can import into S.F Objects and the wizard will support for
which Objects?
Using Import wizard, we can upload up to 50000 records. And only Accounts, Contacts and custom object’s data can be
imported. If we want to import other objects like Opportunities and other object’s data, then we need to go for Apex
Data Loader.
What is the data and file storage capacity in Professional and Enterprise and Unlimited editions Org wide? What is the
storage capacity for each user in above editions?
Data storage (Org) File storage (Org) Dstorage/Fstorage(User)
Professional 1GB 1GB 20MB/100MB
Enterprises 1GB 1GB 20MB/100MB
Unlimited 1GB 1GB 120MB/100MB
In Which Edition Outlook and Excel and Mobile Lite are available in S.F?
Mobile Lite users can view, create, edit, and delete accounts, assets, contacts, leads, opportunities, events, tasks, cases,
and solutions from mobile.
Mobile lite is available in all editions i.e.; Group edition, Professional edition, Enterprise edition, Unlimited edition.
Outlook connect to sales force is used to sync contacts, Events and mails to sales force. Like mobile lite feature this is
also available in all above mentioned editions.
When I want to export data into SF from Apex Data Loader, which Option should be enable in Profile?
Enable API
Summary reports: In summary report, we can summate or group the data based on a column.
Matrix report: In matrix report we can summarize the data both in rows and columns.
What is lookup and Master Details and what is difference between them.
Both Lookup and Master detail fields are used to link a record in one object to another record in another object.
In lookup, if we delete master records, child records will not be deleted.
In master-detail, if we delete master records, child records will also be deleted.
2 types:
Immediate actions: That executes when a record matches the criteria.
Time-dependent: When a record matches the criteria, and executes according to time triggers.
Actions:
Task : Asign a new task to user.
Email-alerts : Send email to one or more recipients that are specified.
Field Updates : Update value of a field.
Outbound Messages: Send a configurable API message to designed listener.
Text
Html with letter head
Custom Template
Visual Force.
Profile is mandatory.
Types in roles:
Manual Sharing
OWD (organization wide default):
Public read
Public read/write
Private
Sharing rules
Role Hierarchy
Types of Reports:
Tabular: Display data in a tabular form. No summarizing is allowed.
Summary: Summarize data on one column based on single criteria.
Matrix: Summarize data on both row and columns.
Difference between VF and S-Control
VF S-Control
It is a markup language like XML, HTML It is a procedural language like Java, Ajax
Automation of data is there- Binding No automation of data- Manual Binding
Style sheet(CSS) is included CSS is not included
Native
Accessibility of object
What is MVC?
The main aim of the MVC architecture is to separate the business logic and application data from the presentation data
to the user.
Model: The model object knows about all the data that need to be displayed.
View: The view represents the presentation of the application (User Interface).
Controller: Actual business logic of VF is present here.
Ex: $CurrentPage.parameters.location
ActionSupport: A component that adds AJAX support to another component, allowing the component to be refreshed
asynchronously by the server when a particular event occurs, such as a button click or mouseover.
ActionFunction: A component that provides support for invoking controller action methods directly from JavaScript
code using an AJAX request.
ActionPoller: A timer that sends an AJAX update request to the server according to a time interval that you specify.
What is Batch Apex? How can you implement Batch Apex?(Dynamic Apex)
Batch Apex gives you the ability to operate over large amounts of data by chunking the job into smaller parts, thereby
keeping within the governor limits.
Using batch Apex, you can build complex, long-running processes on the Force.com platform. For example, you could
build an archiving solution that runs on a nightly basis, looking for records past a certain date and adding them to an
archive.
What is a Callout method? How does it invoke, how many methods available in Classes and Triggers?
It is used to invoke the External services HTTP or web services.
An Apex callout enables you to integrate your Apex with an external service by making a call to an external Web service
or sending a HTTP request from an Apex script and then receiving the response. Apex provides integration with Web
services that utilize SOAP and WSDL, or HTTP services (RESTful services).
Debug log records database operations, system processes, and errors that occur when executing a transaction or while
running unit tests. The system generates a debug log for a user every time that user executes a transaction that is
included in the filter criteria.
Before the Winter '07 release, all packages were unmanaged. Now, you can convert an unmanaged package to managed
to ensure your installed users get upgrades.
Managed packages differ from unmanaged packages in many other ways. Before creating managed packages, here are a
few things to consider:
You must use a Developer Edition organization to create and work with a managed package.
A Developer Edition organization can contain a single managed package and many unmanaged packages.
You must register a Namespace Prefix - A Namespace Prefix is a series of characters prefixed to your Custom Objects and
Fields to prevent conflict when installed in another salesforce.com org.
When you release a managed package, meaning it is uploaded with the Managed - Released option selected, the
properties of its components change to prevent developers and installers from making harmful changes. For a list of
each package component type and their properties, see Properties of Managed Packages. If you do not want to offer
upgrades to your package, consider keeping it unmanaged.
If you plan to release your app as a Managed Package, please read out guide on Planning the Release of Managed
Packages
If you already have a Unmanaged Package and you'd like to convert it to Managed, please review the following:
Converting Unmanaged Packages to Managed
Now that you understand the difference and benefits of each type of package, let's see how easy it is to make your
Unmanaged package from above into a Managed Package.
Customer portal
With Salesforce CRM’s customer portal, your customers can log cases and get updates 24x7. All via the intuitive user
experience for which Salesforce CRM is famous. The result—higher customer satisfaction at a lower cost.
Partner portal
Outsource your service management by allowing third-party service reps to manage customer cases via the partner
portal. Service partners can do everything they need to resolve customer support issues: search the solution database,
log cases, make case comments, and run reports.
53.What are the rules Criteria to create a work flow? How many ways to fire a work flows and when should those
available? What are the actions in work flow?
Ans. Criteria that cause salesforce.com to apply the workflow rule.
Immediate actions that execute when a record matches the criteria.
Time-dependent actions that salesforce.com queues when a record matches the criteria, and executes according to
time triggers.
In 2 ways,
1. Immediate action: when criteria matches record then workflow will be fired immediately.
2. Timedependent action: Fires according to time triggers.
Tasks - Assign a new task to a user, role, or record owner.
Email Alerts - Send an email to one or more recipients you specify.
Field Updates - Update the value of a field on a record.
Outbound Messages - Send a secure configurable API message (in XML format) to
a designated listener.
54. Types of Sandboxes and what are those and In Which editions those are available?
Ans. 3 types of Sandboxes available, those are Developer, Full and Configuration. In all editions.
55. What is test coverage code % for the classes and triggers and what is the test method syntax?
Ans. 75%.
59. What are formula and Rollup Summary fields and Difference between them? When should Rollup- Summary field
enable?
Formula: A read-only field that derives its value from a formula expression that we define. The formula field is updated
when any of the source fields change.
Rollup Summary: A read-only field that displays the sum, minimum, or maximum value of a field in a related list or the
record count of all records listed in a related list.
Difference is below:
Formula fields calculate values using fields within single record, roll-up summary fields calculate values from a
set of related records.
When we give the master-detail relationship it get’s enable to the master object
ISNULL:
Determines if an expression is null (blank) and returns TRUE if it is. If it contains a value, this function returns
FALSE.
Text fields are never null, so using this function with a text field always returns false. For example, the formula
field IF(ISNULL(new__c) 1, 0) is always zero regardless of the value in the New field. For text fields, use the
ISBLANK function instead.
Multi-select picklist fields are never null in s-controls, buttons, and email templates, so using this function with a
multi-select picklist field in those contexts always returns false.
Empty date and date/time fields always return true when referenced in ISNULL functions.
Choose Treat blank fields as blanks for your formula when referencing a number, percent, or currency field in an
ISNULL function. Choosing Treat blank fields as zeroes gives blank fields the value of zero so none of them will be
null.
Merge fields can be handled as blanks, which can affect the results of components like s-controls because they
can call this function.
When using a validation rule to ensure that a number field contains a specific value, use the ISNULL function to
include fields that do not contain any value. For example, to validate that a custom field contains a value of ’1,’
use the following validation rule to display an error if the field is blank or any other
number: OR(ISNULL(field__c), field__c<>1)
ISBLANK:
Determines if an expression has a value and returns TRUE if it does not. If it contains a value, this function
returns FALSE.
Use ISBLANK instead of ISNULL in new formulas. ISBLANK has the same functionality as ISNULL, but also
supports text fields. Salesforce.com will continue to support ISNULL, so you do not need to change any existing
formulas.
A field is not empty if it contains a character, blank space, or zero. For example, a field that contains a space
inserted with the spacebar is not empty.
Use the BLANKVALUE function to return a specified string if the field does not have a value; use the ISBLANK
function if you only want to check if the field has a value.
If you use this function with a numeric field, the function only returns TRUE if the field has no value and is not
configured to treat blank fields as zeroes.
You can add, edit, or delete Apex using the Salesforce.com user interface only in a Developer Edition organization,
a Salesforce.com Enterprise Edition trial organization, or sandboxorganization. In a Salesforce.com production
organization, you can only make changes to Apex by using the Metadata API ,
deploycall, the Force.com IDE, or theForce.com Migration Tool. The Force.com IDE and Force.com Migration Tool are
free resources provided by salesforce.com to support its users and partners, but are not considered part of our Services
for purposes of the salesforce.com Master Subscription Agreement.
13. When you can’t add Time dependent action in Workflow rule?
You can’t add time-dependent actions to a rule if you choose Every time a record is created or edited.
1. Text
2. HTML with Letter Head
3. Custom HTML
4. Visual force
Roll up summary field in salesforce calculates the Count, Sum, Min or Max of particular field of any child record. Thus,
we can say that Roll up summary field can only be created on Master object. To read further, please check this URL
If the Account is deleted then Contact, Opportunity will also be deleted from Salesforce which are related to that
Account.
From the database perspective, check below image of child relationships of Account:
1. What is Salesforce?
Salesforce is the most effective Customer Relationship Management (CRM) product that is
delivered to subscribers as cost effective software-as-a-service (SaaS).
2. What is a custom object in Salesforce?
In Salesforce, custom objects refer specifically to database tables that store data related to your
company in Salesforce.com.
3. What does a custom object permit the user to do?
Once the custom object is defined, the subscriber can perform the following tasks: Create
custom fields, relate the custom object to other records, track events and tasks, build page
layouts, create a custom tab for the custom object, analyze custom o bject data and create
dashboards and reports, share custom tabs, custom apps, custom objects, and various other
related components. None of these tasks can be accomplished until the custom object has
definition.
4. What is a Self-Relationship?
A Self-Relationship is a lookup relationship to the same object. It is this premise that allows
users to take the object “Merchandise” and create relationships with other object.
5. What is the Object Relationship Overview?
In Salesforce, the object relationship overview links custom object records to standard object
records in a related list. This is helpful to track product defects in related customer cases.
6. What can cause data loss in Salesforce?
Data loss in Salesforce can be caused by a number of reasons, including:
One-to-many
Many-to-many
Master-detail
The relation types are quite logical once the user becomes familiar with the software program.
16. What are the different types of reports available in Salesforce?
The different types of reports in Salesforce are:
Salesforce allows users to define different types of relationships by creating custom relationship
fields on an object.
Ans :
1. Master Detail
2. Many to Many
3. Lookup
4. Hierarchical
Creating many to many relationship in salesforce is little tricky. You cannot create this type of relationship directly.
Follow below steps to create this type of relationship.
Create one custom object (also called as junction object), which should have autonumber as unique identification and
create two master relationships for both objects, no need create tab for this object.
20. In Which sequence Trigger and automation rules run in Salesforce.com The following is the order salesforce logic is
applied to a record.
1. Old record loaded from database (or initialized for new inserts)
9. Assignment rules
Additional notes: There is no way to control the order of execution within each group above.
21. If one object in Salesforce have 2 triggers which runs “before insert”. Is there any way to control the sequence of
execution of these triggers?
Ans : Salesforce.com has documented that trigger sequence cannot be predefined. As a best practice create one trigger
per object and use comment blocks to separate different logic blocks. By having all logic in one trigger you may also be
able to optimize on your SOQL queries.
24. How to restrict the user to see any record, lets say opportunity?
Ans : set up opportunity sharing to be private. If both users are admins or have view all records on opportunity, then
that overrides private sharing.
25. What is the difference between trigger.new and trigger.old in Apex – SFDC?
Ans :
Trigger.new :
Returns a list of the new versions of the sObject records.
Note that this sObject list is only available in insert and update triggers, and the records can only be modified in before
triggers.
Trigger.old :
Returns a list of the old versions of the sObject records.
Note that this sObject list is only available in update and delete
triggers.
3}
5 if(Trigger.isBefore){
6 if(Trigger.isDelete){
7 if(HelperClass.firstRun){
9 HelperClass.firstRun=false;
10 }
11 }
12 }
13 }
27. What is difference between WhoId and WhatId in the Data Model of Task ?
Ans :
WhoID refers to people things. So that would be typically a Lead ID or a Contact ID
WhatID refers to object type things. That would typically be an Account ID or an Opportunity ID
Check Data Model of task here
28. Where is the option of the report for the “Custom Object with related object” and what are the condition to
generate related reports?
Ans :
If the parent object is the standard object provided by the salesforce like “Account”, “Contact” then the report will be in
there section with related custom object.
If both objects are the custom then the report will be in “Other Reports” Sections.
Following are the conditions to get the report of related objects:
29. How you can provide the User Login (Authentication) in Public sites created by Salesforce.
Answer : We can provide the authentication on public sites using “Customer Portal”.
Q. Does user can create insert their own custom logo, while creating their own custom
applications?
Yes user can upload their custom logo in documents and then they choose that logo for organization.
Q. What are the main things need to consider in the “Master-Detail Relationship”?
Record level access is determined by the parent, Mandatory on child for reference of parent, cascade delete (if you
delete the parent, it can cascade delete the child).
Q. What is difference between trigger and workflow?
Workflow
Workflow is automated process that fired an action based on Evaluation criteria and rule criteria.
We can access a workflow across the object.
We cannot perform DML operation on workflow
We cannot query from database
Trigger
Trigger is a piece of code that executes before or after a record is inserted or updated.
We can access the trigger across the object and related to that objects
We can use 20 DML operations in one trigger.
We can use 20 SOQL’s from data base in one trigger.
Q. How to call java script using Static Resource in Visual Force page?
Add java script file in Static Resource setup -> develop -> Static Resources -> click on ‘New’ -> Name: filename and
add file from local desktop and save.
We can use that file as follows in Visual Force page
<apex: includescript values=” {! $Resource.fileName}”/>
Q. Can I find out if the current user has access to a record without querying?
To find out if a particular user has Edit access to a record, use the UserRecordAccess object. This object is available
in API version 24.0 and later. You can use SOQL to query this object to find out if the user has edit access to the
record in question.
SELECT RecordId, HasEditAccess FROM UserRecordAccess WHERE UserId = [single ID] AND RecordId = [single
ID]
If you want to check a batch of records you can use
SELECT RecordId FROM UserRecordAccess WHERE UserId=:UserInfo.getUserId()
AND HasReadAccess = true ANDRecordId IN :allRecordIds LIMIT 200
But make sure that allRecordIds is a LIST of IDs. It doesn’t work if allRecordIds is a SET of IDs. I guess that’s a bug.
Also, only a maximum amount of 200 recordIds can be checked in one query.
Q. What is a concise function that formats a (String) decimal into a currency format in Apex?
@RickMeasham’s method is a good one, but I ran into a couple rounding issues with negative values and fractional
values. Here’s my edited version of the method that passes the tests I needed it to (not rendering -0.001 as “-0.00”,
not rendering -1.10 as “-1.09”).
public static String formatCurrency(Decimal i) {
if (i == null || Math.abs(i) < 0.005) return ‘$0.00’;
String s = (i.setScale(2) + (i >= 0 ? 0.001 : -0.001)).format();
return s.substring(0, s.length() – 1);
}
(EDIT: changed “<= 0.005” to “< 0.005” per @RickMeasham’s advice below.)
(EDIT 2: actually realized, when I finished tests, that this updated method still had a few shortcomings related to
rounding. I updated to delegate to Math.roundToLong per code below [which uses round half even, not half up as I
stated in my comments erroneously]. It now passes all my unit tests, which you can see
here: http://codepad.org/ycttSXjq)
private String formatCurrency(Decimal i) {
if (i == null) return ‘0.00’;
i = Decimal.valueOf(Math.roundToLong(i * 100)) / 100;
String s = (i.setScale(2) + (i >= 0 ? 0.001 : -0.001)).format();
return s.substring(0, s.length() – 1);
}
Q. How do you write a unit test for a trigger whose only function is to make a callout?
Both future methods and callouts can be unit tested.
To test future methods simply make your call to any future method
between Test.startTest();and Test.stopTest(); statements and the future method will return when Test.stopTest(); is
called. See the documentation for the Test class here: System.Test
Testing callouts is a bit trickier though. Basically in your callout code you check to see if you’re executing within a unit
test context by checking Test.isRunningTest() and instead of getting your callout response from
an HttpResponse.send() request, you return a pre-built test string instead. There’s one example of this method
here: http://www.iterativelogic.com/unit-test-callouts-in-apex-code-part-2/
There’s also an older example of callout unit testing that uses a static variable you set in your unit test. Just replace
that static variable with a call to Test.isRunningTest() and their example works fairly well as well. That example can
be found here:http://sfdc.arrowpointe.com/2009/05/01/testing-http-callouts/
Q. How do you unit test a trigger when you don’t know the required fields?
Customers can have validation on custom fields via validation rules and triggers, so handling that in your unit tests
without customer intervention is next to impossible. The first step to reducing issues is to have your test data populate
all standard fields and ensure the data uses the most common formatting for your customer base (US style phone
numbers and addresses for the US for example).
Beyond that you can use the new Reflection features added to Salesforce in Summer ’12 to allow customers to create
unit test data classes that can be used by your managed package. Basically you define a test data generation interface
and the customer creates an Apex class to generate data for you. Here’s an example of using Reflection in a similar
manner on the DeveloperForce blog:http://blogs.developerforce.com/developer-relations/2012/05/dynamic-apex-
class-instantiation-in-summer-12.html
Using the method for unit tests run on install might be problematic as you’d have to have the customer create the
class before they install your package and your package could only look for the class by name (or iterate through all
default namespace classes and check for the correct interface). However, it’s no longer necessary for unit tests to run
during installation for managed packages and by default they do not.
The Reflection method requires some coding knowledge on the customer side, but you could add a tool in your
application to generate the custom unit test data class for the customer.
FYI, it’s no longer necessary for managed package unit tests to succeed in customer orgs. They’re not required on
install, they will no longer prevent deployment to production and they don’t count as part of the customers unit test
coverage percentage for purposes of deployment. The only exception to that is if the customer uses ANT and sets
the runAllTests parameter to true.
Q. Is there a defacto 3rd party utilities library for Apex such as Apache Commons is for Java?
Apex-lang is about as close to a Java-style library as you can get. Contains several string, database, and collection
utilities that mimmick Java functionality. Be aware though, some stuff including Comparing and Sorting collections is
out of date with the advent of the Comparable interface in Apex.
In addition to apex-lang, and like you suggest, I typically create or reuse static helper methods throughout my projects.
Static helper methods are very convenient for reusing code in Chatter functionality, DML handling, Exception handling,
Unit testing, etc.
1. Some features aren’t supported in the metadata API and cannot be moved via the ant migration. If you have any unit
tests that work with those features, you have to manually work on your CI org.
2. Deletions are harder to maintain. You have to manually update and apply a destructiveChanges.xml file or replicate
the deletion in the CI org.
3. We ran into a situation where some metadata XML files had ‘invalid’ data in them. The suggested solution was to build
a post checkout script that manipulates the offending XMLs into valid XMLs. Not ideal.
4. On projects, we wanted to track just our changes and push out just our changes in source control. In theory, this would
allow much easier rebaselining. This would have required more manual maintenance of XML files (e.g., 2 new fields
added on Account and only want to push those 2 fields not all (*) fields).
My conclusion is that it is worth doing if you can get it set up, but if you are working on shorter term projects and don’t
have a decent amount of time budgeted in for it, it probably isn’t worth setting up.
Although it isn’t CI, check out http://developer.force.com/cookbook/recipe/automated-unit-test-execution. You could
set it up to run every hour or something like that.
Q. What is a good set of naming conventions to use when developing on the Force.com
platform?
Follow the CamelCase Java conventions, except for VF pages and components start with a lower case letter.
Triggers:
<ClassName>Controller
<ClassName>ControllerExt
<ClassName>ControllerTest
<ClassName>ControllerExtTest
Classes:
<ClassName>
<ClassName>Test (These might be Util classes or Service classes or something else).
Visualforce pages and components:
<ControllerClassName>[optionalDescription] (without the suffix Controller). There might be multiple views so could
also have an extra description suffix.
Object Names and custom Fields
Upper_Case_With_Underscores
Variables/properties/methods in Apex
It runs asynchronously, which can make it hard to troubleshoot without some coded debugging, logging, and persistent
stateful reporting. It also means that it’s queued to run, which may cause delays in starting.
There’s a limit of 5 batches in play at any time, which makes it tricky to start batches from triggers unless you are
checking limits.
If you need access within execute() to some large part of the full dataset being iterated, this is not available. Each
execution only has access to whatever is passed to it, although you can persist class variables by implementing
Database.stateful.
There is still a (fairly large) limit on total Heap size for the entire batch run, which means that some very complex logic
may run over, and need to be broken into separate batches.
Q. Documenting Salesforce.com Apex class files
I have used apexDoc for a while and we are starting to roll it out more fully for our use at my organisation. It is open
source software and so you could always contribute some updates for it What features are you wanting
to add to it that it doesn’t have (just to give a flavour)?
In answer to your questions
1) I don’t think anybody has successfully managed to do this. There is an idea of the ideas exchange for it to
be done but it seems to gain very little support.
2) Theoretically it should be pretty easy as apex is a Java DSL. Have you tried running Doxygen and if so what errors
does it throw up?
3) I use ApexDoc to generate some basic output and then have a little script tied in to copy across custom css and
things. It isn’t perfect but it does for the small amount we need at the moment.
I believe the IDE is being open sourced at some time in which case I would imagine the antlr grammar file would
become available which may help you out.
I know it is not really an answer for what you wanted to hear per se, but sadly it’s all we have atm (and I would love a
nicer documentation generator!!)
Paul
Q. What’s the best way to check if person accounts are enabled via Apex Code?
I’ve found two methods to accomplish this.
Method 1
Try to access the isPersonAccount property on an Account and catch any exception that occurs if that property is
missing. If an exception is generated then person accounts are disabled. Otherwise they’re enabled. To avoid making
person accounts required for the package you assign the Accountobject to an sObject and use sObject.get(
‘isPersonAccount’ ) rather than accessing that property directly on the Account object.
This method takes ~3.5ms and negligible heap space in my testing.
Skip code block
// Test to see if person accounts are enabled.
public Boolean personAccountsEnabled()
{
try
{
// Try to use the isPersonAccount field.
sObject testObject = new Account();
testObject.get( ‘isPersonAccount’ );
// If we got here without an exception, return true.
return true;
}
catch( Exception ex )
{
// An exception was generated trying to access the isPersonAccount field
// so person accounts aren’t enabled; return false.
return false;
}
}
Method 2
Use the account meta-data to check to see if the isPersonAccount field exists. I think this is a more elegant method
but it executes a describe call which counts towards your governor limits. It’s also slightly slower and uses a lot more
heap space.
This method takes ~7ms and ~100KB of heap space in my testing.
// Check to see if person accounts are enabled.
public Boolean personAccountsEnabled()
{
// Describe the Account object to get a map of all fields
// then check to see if the map contains the field ‘isPersonAccount’
return Schema.sObjectType.Account.fields.getMap().containsKey( ‘isPersonAccount’ );
}
Q. A custom object contains some records, now my requirement is to create field in this
object with master detail relationship. Can we create master detail relationship in this case?
No, directly we cannot create master details relationship if custom object contains existing records.
Following are the steps to create to create master-detail relationship when records are available in custom object.
1. Email Alert
2. Task
3. Field Update
4. Outbound Message
Go through the below link for the more information about workflow
actions HTTP://WWW.SALESFORCETUTORIAL.COM/SALESFORCE-WORKFLOW-AUTOMATION-
WORKFLOW-MANAGEMENT/
Q. What is the maximum size of the PDF generated on visualforce attribute renderAs?
15MB
Q. How we can change the Grant access using role hierarchy for standard objects?
Not possible.
Q. What is Dashboard?
Dashboard is a pictorial representation of report. We can add up to 20 reports in single dashboard.