Ask Search:
Laura MondayLaura Monday 
I am an admin and can export reports to excel, but for other admins it says Insufficient Privileges. They're able to run the report and click "Export Details" and choose if they want excel or CSV. But then it says Insufficient Privileges. I have the same role and profile as them, and this happened overnight. They were able to export yesterday.
Best Answer chosen by Laura Monday
Anil Choudary KapuAnil Choudary Kapu
https://status.salesforce.com/generalmessages/239

Ongoing Issue reported by salesforce
Steve ConnellySteve Connelly 
Working in Lightning Flow Builder:

I have several flows up and running now and there is one strange behavior that is giving me problems. That is regarding closing the flow.

About half of my flows are launched as quick actions from another object such as the account or contact object.

These open in a sort of sub window with the launch record sort of grayed out behind it. On the last screen the user gets a "Finish" button. When clicked, the sub window dissapears and the user is returned to the window that launched the flow from.
User-added image

This is exactly how I want it to work.

However, i have a few process flows that are launched from URL links on the home page. When launched, these open the flow in a new tab alltogether rather than the sub tab described above. When the flow is complete, the user gets the same finish button as in the other flows but when clicked, this button simply reloads the first page of the flow with blank fields.

Short of closing the tab manually. the flow window does not go away.

Now, I could live with this if I could remove all navigation buttons from the bottom of the page this forcing the user to just close the tab. Not very elegant, but effective.

However, Flow Builder will not let me have a screen element that has no navigation. It is required that I have a previous or next/finish button.

So a couple of questions. First, is there a way to get URL launched flows to open in a sub window the same as this launched via quick action. Or more to the point is there another way to launch the flows so they will behave in the desired fashion rather than in the new tab?

Second, is there a way to get these flows to just close the tab when the finish button is clicked? ir at least to not relaod the blank form?

This is all kind of klunky looking compared to the quick action launch.

Any ideas out there?
Thanks much
Steve
Best Answer chosen by Steve Connelly
Steve ConnellySteve Connelly
I am using lightning. I learned that the behavior i was looking for is called a Modal. I had to build a controller and helper in the developer console for the lightning component to control the modal behavior. But in the end i got it working witha lot of help from the community.
Sc
Kelly JavanmardiKelly Javanmardi 
I have looked at many other similar questions that have been asked an answered in this forum, but I haven't found an answer that quite fits what I am looking for. I have dependent picklist that, when an opportunity is placed in the "Lost" stage, a "Reason Lost" picklist is activated, but it is not a required field. Is there a way to make a dependent field (or picklist in this case) mandatory? I am assuming a validation rule is the route to go with, but I am still not fully versed in creating validation rules. Does anyone have any suggestions? Thank you!
Best Answer chosen by Kelly Javanmardi
Kristin FlewellingKristin Flewelling
Hi Kelly,

You do this with the following steps:
1) Setup the dependency such that only the Lost stage is mapped to values in the Reason's Lost picklist.
2) On the opportunity page layout, make the Reason's Lost picklist required.

This makes it to when a user selects a stage other than Lost, Reason's Lost is not required.  But as soon as they select the Lost stage, the red bar shows up on the page layout and something has to be entered for Reason's Lost.

Kristin
Brad DavidBrad David 
Good morning salesforce community!  I'm very new to salesforce and am not getting my scheduled reports via email.  I've tried multiple different times (just incase it's a time zone issue) and confirmed that I am receiving the test emails.  I'm sure it's something simple, but I can't seem to find out why. 

Appreciate the help!
Best Answer chosen by Brad David
Michelle ArndtMichelle Arndt
There are several things you can check to see what is happening with your scheduled reports.
1. Confirm that the schedule didn't expire - you said you already did that so we can cross that over.
2. Look in Setup > Monitor > Jobs > Scheduled Jobs to see if the report is scheduled to run again - that way you can confirm that system is working and that there are no problems with schedule.
3. Go to Setup > Monitor > Logs > Email Log Files and request an email log file for the day the report was supposed to be emailed, and the to/from user it was to be sent to. When the email log is ready, download it and unzip it. Then sort the report by Date Time and look around the time when the report was supposed to be sent. If it's in there, then your report was sent (or was attempted to be sent), but might have gotten hung up by your email server. If there was trouble sending, you'll see a number the "Retry" column.
4. Make sure that report didn't end up in Spam folder or that you don't have any Outlook rules that might re-direct email with report to other folders or emails. I
5. If all the above is working and you still don't see the reports being delivered to you, check with your IT team - email servers sometimes mark scheduled Salesforce reports as spam so they never gets delivered to user's inbox.
Christopher DoreChristopher Dore 
Hi. I've been trying to install Lightning for Outlook with Outlook 2016 (365 Enterprise). Everything was going fine until I clicked on the Saleforce View cloud icon on the Outlook tool bar. As the installation instructions noted, I was prompted to log in to my account. When I did, I received a generic error message that said "We encountered a problem. For help, contact your administrator." I've not been able to resolve this. Can anyone provide insights, let me know what the problem might be, or even offer up a solution? Thanks!
Best Answer chosen by Miglena (Salesforce.com) 
Susan ThayerSusan Thayer
I solved this by going to my Outlook Web mail and clicking on an email from there to log in to Salesforce for the first time instead of logging in from the desktop for the first time. Then when I reopened Outlook Desktop and clicked on View icon the system recognized me as already logged in.
NagaMallikarjunaRao BommisettyNagaMallikarjunaRao Bommisetty 
what is the difference bettween public group and Queue why salesforce people develop both.

when we create public Group and when we create Queue insted of public group orWise versa
Best Answer chosen by Moderator (salesforce.com) 
Haribabu AmudalapalliHaribabu Amudalapalli


          Queue and groups are both are same ,which will hold  group of users, But in working environment we can functionality we need to decide which will use in proper way,

              Suppose  in the case of Lead Assignment, 
           
                   1 . Scenario like Each user should assigned to at least one lead and  same number of leads.
                    
                             That means user need to handle assigned lead individually and all users in organization should assigned with same number of leads, in this case  we can define users in organization as Queue and assign them one by one and in same number using round robin lead assignment.In this case we can achieve above scenario.

                 2 .  Suppose you need to Share some of the information in your organization among some users, in this we can define Group ,then we can share information or we assign some work to group.Here this is Group effort.

Regards,
Haribabu



Dave WolfeDave Wolfe 
We have a custom object that has several lookup fields to the User object. When we choose a 'Partner User' record in the lookup and attempt to save the record, we are getting the following error.
***
An error has occurred in the following section: [Exception, TransferRequiresCrudReadException]. Salesforce.com has been notified of this error.
Before you can transfer this record, the new owner needs Read permission on it and related records.

***
I am not usderstanding why this error is happening. First - we are not transfering any ownership - just changing a field and saving a record. Second - I am the System Admin so I have all the necessary permissions.

Any ideas how we can get this work?

 
Best Answer chosen by Dave Wolfe
Srinivasa RayapuriSrinivasa Rayapuri
Its an error that happens on the salesforce side Dave  [Exception, TransferRequiresCrudReadException]. Salesforce.com has been notified of this error

I suggest you raise a customer support case and provide them with the error
Mary TepasMary Tepas 

Hi all, 

I created a simple custom app to track the multitude of requests that come into my inbox on a daily basis.  I know, I could just use cases, but our Service Team uses it and I wanted something that was simple and wouldn't get lost in the sea of cases.  That said...My boss would like to have our users creating the records themselves. alleviating some of my workload.

What would be the best approach to expose the new button, but not allow users to see the records in the queue?  It's fine for them to see their own records, but not anything else.

 


 

Best Answer chosen by Mary Tepas
Doug BurkhartDoug Burkhart
If you just set the Custom Object's Org Wide Default to Private, that will restrict access to the following people only:
- The record Owner
- Anyone above the record Owner in the Role Hiearchy (This only applies if you also check the box 'Grant Access Using Hierarchies in the Org-Wide Defaults)
- Anyone who has View All or Modify All Permissions for this Object
- Anyone who has View All Data or Modify All Data System Permissions
Evan PonterEvan Ponter 
I've figured out a workaround for those interested in grouping report results by a date field and want to count the number of "groups" between the highest date value and the lowest date value, inclusive. This also includes any groupings in between those date values that aren't showing any records (desirable in some situations, not all. Just something to be aware of). While this isn't truly counting "the number of groups that you see in your report", it does work for a lot of situations where you have sequential groups of dates with data - e.g. records with January, February, and March dates on them and your report time frame is set to only show January, February, and March.

I will point out that Salesforce might be developing something to address this natively (https://www.salesforce.com/blog/2019/02/ideaexchange-formulas-dates.html). They mention that:
[The] team paired the two ideas together when scoping the feature, which helps report users organize and summarize data to answer questions such as:
  • When was the last time we contacted a customer?
  • How long, from the project start date, did it take to close an opportunity?
  • What’s the average number of records created within a given timespan?
The article goes on to say:
The initial beta functionality for the Summer ‘19 release will allow comparisons via date/time functions, and is currently in development for the Lightning Experience. Additional functions will be supported upon the general availability of the feature, planned for the Winter ‘20 release.

Which sounds like we should cross our fingers for a Winter '20 release. Until then, try this out:

You will need to create a formula field to correspond with the time frame for your group (see #1 below). This formula field assigns a number sequence to the record based on the date field. The starting number and actual values are arbitrary - this just needs to be a sequential series of numbers that are consistent for all records on the object so that you can calculate a difference between two records.

1. Create a formula field on the object in question.
Formula Field

Use the "number" data type with no decimal places.
Number Formula Options

Anything surrounded by brackets [ ] (including the brackets) needs to be replaced with your value.

- - - 1a. For fiscal year groupings, name the field "Fiscal Year of [date field name]" and use this formula. I'm using a fiscal-year-ending model here. You may want to use fiscal-year-beginning if your organization does so that there's no confusion (see below the code snippit), but it really doesn't matter since we are interested in the difference between two records. Also, I recommend storing your fiscal year start month and start day in custom settings so you don't hardcode those values here:
YEAR([date_field_API_name])
+
IF(
    MONTH([date_field_API_name]) > [Fiscal Year Start Month]
    ||
    (
        MONTH([date_field_API_name]) = [Fiscal Year Start Month]
        &&
        DAY([date_field_API_name]) >= [Fiscal Year Start Day]
    ),
    1,
/*ELSE*/
    0
)
For Fiscal Year Beginning, swap the plus sign for a minus sign on line 2, then swap the 1 and 0 on lines 10 and 12

- - - 1b. For calendar year groupings, name the field "Year of [date field name]" and use this formula:
YEAR([date_field_API_name])

- - - 1c. For calendar quarter groupings, name the field "Sequenced Quarter of [date field name]" and use this formula (works for fiscal quarters too as long as your fiscal months start on Jan 1, Apr 1, Jul 1, and Oct 1 - e.g. your fiscal year starts on Apr 1 and you have 3-month quarters resulting in fiscal months starting on Apr 1, Jul 1, Oct 1, and Jan 1):
IF(!ISBLANK([date_field_API_name]),
    CEILING(MONTH([date_field_API_name]) / 3)
    +
    4 * YEAR([date_field_API_name]),
/*ELSE*/
    NULL
)

- - - 1d. For calendar month groupings, name the field "Sequenced Month of [date field name]" and use this formula (works for fiscal months too as long as your fiscal months start on the 1st of each calendar month - e.g. Apr 1, May 1, Jun 1, etc):
IF(!ISBLANK([date_field_API_name]),
    MONTH([date_field_API_name])
    +
    12 * YEAR([date_field_API_name]),
/*ELSE*/
    NULL
)

- - - 1e. For calendar week groupings, name the field "Sequenced Week of [date field name]" and use this formula. This is for Sunday - Saturday weeks. To change which day of the week you want to start on, see below code snippit. I chose January 1, 1905 as my magic date because it's the beginning of a year pretty far in the past that falls on a Sunday. Even if your date value is before January 1, 1905, the calculations will still work since we are only concerned with the difference between two records:
IF(!ISBLANK([date_field_API_name]),
    FLOOR(([date_field_API_name] - DATE(1905,1,1)) / 7,
/*ELSE*/
    NULL
)
To start the week on Monday, replace line 2 with:
FLOOR(([date_field_API_name] - DATE(1905,1,2)) / 7,

To start the week on Tuesday, replace line 2 with:
FLOOR(([date_field_API_name] - DATE(1905,1,3)) / 7,

To start the week on Wednesday, replace line 2 with:
FLOOR(([date_field_API_name] - DATE(1905,1,4)) / 7,

To start the week on Thursday, replace line 2 with:
FLOOR(([date_field_API_name] - DATE(1905,1,5)) / 7,

To start the week on Friday, replace line 2 with:
FLOOR(([date_field_API_name] - DATE(1905,1,6)) / 7,

To start the week on Saturday, replace line 2 with:
FLOOR(([date_field_API_name] - DATE(1905,1,7)) / 7,

- - - 1f. For daily groupings, name the field "Sequenced Day of [date field name]" and use this formula:
[date_field_API_name] - DATE(1905,1,1)


2. In your report, create a custom summary formula.
To calculate the date groupings between the highest date and lowest date, specify the MAX of your formula field from #1 above, then subtract the MIN of your formula field from #1 above, then add 1 (since we want to count both the first and last group, not just what's in between).
[YourObjectHere].[YourNewSequenceFieldHere]:MAX
-
[YourObjectHere].[YourNewSequenceFieldHere]:MIN
+
1
Here's my example - I want to know how many "week" groups are in my report (Just for demo purposes to prove this method is calculating the right number):
Custom Summary Formula Counting Weeks
(this can be displayed at all levels or only at the grand total level)

Here's what it calculates when you run the report:
Report Showing Number of Weeks

Then here's a formula to calculate Average Number of Records per Week:
RowCount
/
(
    [YourObjectHere].[YourNewSequenceFieldHere]:MAX
    -
    [YourObjectHere].[YourNewSequenceFieldHere]:MIN
    +
    1
)
Display this at the grand total grouping only. You should see an accurate average calculation that takes into account how many date groupings you have in your report. Here's what mine looks like:
Average Records per Week

Hope this helps anyone out there trying to calculate something similar in their reports. Comment below with suggestions for improvement, or to celebrate when Salesforce builds this in natively.

Shout out to SteveMo for suggesting I post this. Also his tweet (https://twitter.com/SteveMoForce/status/1130904510833090560) was my motivation to buckling down on this endeavor
Best Answer chosen by Evan Ponter
Evan PonterEvan Ponter
Couple of improvements since I wrote this. Here are revised formulas for step 1. PLUS a few bonuses...


1a "Fiscal Year of [date field name]"
For consistency, this should only resolve to a value if there is a date in your date field.

I'm using a fiscal-year-ending model here. You may want to use fiscal-year-beginning if your organization does so that there's no confusion (see below the code snippit), but it really doesn't matter since we are interested in the difference between two records. Also, I recommend storing your fiscal year start month and start day in custom settings so you don't hardcode those values here:
IF(!ISBLANK([date_field_API_name]),
    YEAR([date_field_API_name])
    +
    IF(
        MONTH([date_field_API_name]) > [Fiscal Year Start Month]
        ||
        (
            MONTH([date_field_API_name]) = [Fiscal Year Start Month] 
            &&
            DAY([date_field_API_name]) >= [Fiscal Year Start Day]
        ),
        1,
    /*ELSE*/
        0
    ),
/*ELSE*/
    NULL
)
For Fiscal Year Beginning use:
IF(!ISBLANK([date_field_API_name]),
    YEAR([date_field_API_name])
    -
    IF(
        MONTH([date_field_API_name]) > [Fiscal Year Start Month]
        ||
        (
            MONTH([date_field_API_name]) = [Fiscal Year Start Month] 
            &&
            DAY([date_field_API_name]) >= [Fiscal Year Start Day]
        ),
        0,
    /*ELSE*/
        1
    ),
/*ELSE*/
    NULL
)


1b "Year of [date field name]"
For consistency, this should only resolve to a value if there is a date in your date field.
IF(!ISBLANK([date_field_API_name]),
    YEAR([date_field_API_name]),
/*ELSE*/
    NULL
)


1c. "Sequenced Quarter of [date field name]"
No changes needed. Same description from above:

For calendar quarter groupings, name the field "Sequenced Quarter of [date field name]" and use this formula (works for fiscal quarters too as long as your fiscal months start on Jan 1, Apr 1, Jul 1, and Oct 1 - e.g. your fiscal year starts on Apr 1 and you have 3-month quarters resulting in fiscal months starting on Apr 1, Jul 1, Oct 1, and Jan 1):
IF(!ISBLANK([date_field_API_name]),
    CEILING(MONTH([date_field_API_name]) / 3)
    +
    4 * YEAR([date_field_API_name]),
/*ELSE*/
    NULL
)


1d. "Sequenced Month of [date field name]"
No changes needed. Same description from above:

For calendar month groupings, name the field "Sequenced Month of [date field name]" and use this formula (works for fiscal months too as long as your fiscal months start on the 1st of each calendar month - e.g. Apr 1, May 1, Jun 1, etc):
IF(!ISBLANK([date_field_API_name]),
    MONTH([date_field_API_name])
    +
    12 * YEAR([date_field_API_name]),
/*ELSE*/
    NULL
)


1e "Sequenced Week of [date field name]"
This should really be using the MFLOOR function to handle dates before January 1, 1905. Plus my original post was missing a parenthesis on line 2 (oops!!). Use this instead for a Sunday - Saturday week:
IF(!ISBLANK([date_field_API_name]),
    MFLOOR(([date_field_API_name] - DATE(1905,1,1)) / 7),
/*ELSE*/
    NULL
)
Here's line 2 for a Monday - Sunday week:
MFLOOR(([date_field_API_name] - DATE(1905,1,2)) / 7),
Here's line 2 for a Tuesday - Monday week:
MFLOOR(([date_field_API_name] - DATE(1905,1,3)) / 7),
Here's line 2 for a Wednesday - Tuesday week:
MFLOOR(([date_field_API_name] - DATE(1905,1,4)) / 7),
Here's line 2 for a Thursday - Wednesday week:
MFLOOR(([date_field_API_name] - DATE(1905,1,5)) / 7),
Here's line 2 for a Friday - Thursday week:
MFLOOR(([date_field_API_name] - DATE(1905,1,6)) / 7),
Here's line 2 for a Saturday - Friday week:
MFLOOR(([date_field_API_name] - DATE(1905,1,7)) / 7),


1f "Sequenced Day of [date field name]"
For consistency, this should only resolve to a value if there is a date in your date field.
IF(!ISBLANK([date_field_API_name]),
    [date_field_API_name] - DATE(1905,1,1),
/*ELSE*/
    NULL
)


AND NOW INTRODUCING...
1g "Sequenced Business Day of [date field name]"

That's right, claiming the 1g spot is the "Sequenced Business Day of [date field name]" field. This will allow you to count the number of Business Days (Monday - Friday) in your report. You are still creating a number field with no decimal places, and you'd use this formula:
IF(!ISBLANK([date field name]) && WEEKDAY([date field name]) > 1 && WEEKDAY([date field name]) < 7,
    (MFLOOR(([date field name] - DATE(1905,1,1)) / 7) * 5)
    +
    WEEKDAY([date field name]),
/*ELSE*/
    NULL
)
Saturdays and Sundays will evaluate to a null value - which means they will be ignored completely even if they appear in your report. The weekdays will each be numbered in sequence. I checked this one for syntax, dates before 1/1/1905, etc so it should be an easy copy-and-paste for you. Then follow step 2 from the original post to create the custom summary formula in your report.


BONUS TIP 1:
You don't need to group your report results by the timeframe you are averaging. Confused? Here's my example. I am calculating the average number of records per week and I want to know that "weekly average" for a time frame spanning the whole fiscal year. I don't need to group my report results by week, only by fiscal year. The custom summary formula will take care of calculating the correct averge for each fiscal year, and the overall time frame in the total column
Average Per Week for Fiscal Years


BONUS TIP 2:
When using multiple groupings, you can use the custom summary formula as-is to find the difference between the maximum and minimum dates in each grouping, or use the PARENTGROUPVAL function to get the maximum and minimum dates from a higher grouping. This allows you to factor in the entire timeframe regardless of the data present in each grouping.

This example is for a report with row and column groupings (formerly known as a Matrix Report). This will need to be displayed at a grouping level (in my case Hostel/Community for the row and Start Date for the column).
RowCount
/
(
    PARENTGROUPVAL([YourObjectHere].[YourNewSequenceFieldHere]:MAX, ROW_GRAND_SUMMARY, [YourColumnGroupingFieldHere])
    -
    PARENTGROUPVAL([YourObjectHere].[YourNewSequenceFieldHere]:MIN, ROW_GRAND_SUMMARY, [YourColumnGroupingFieldHere])
    +
    1
)

There have been 9 weeks in FY 2020. Austin had a record each week, their average per week is 1. Nice.
Eastham had a record in each of the first 3 weeks, but none after that. The calculation for Eastham uses 3 as the numerator (the number of records for that group) and 9 as the demoninator (which is taken from the row grand summary for that column) and results in 0.33. For the completed years, each hostel is getting an average calculated based on a 52-week year regardless of having records in the first and last (or any) week of that year.
Average per Week for Entire Time Frame
inni shiinni shi 
We have got a look-up field to community user on the contact, so when a user converts the contact to community user we want the lookup field to populate the newly created user record which is associated to that particular contact. manually we can do it by searching for the portal user with the same name and add it but not able to do it with WF rule or Process builder. Any help would be really appreciated.
Best Answer chosen by inni shi
Raja Kumar PallepatiRaja Kumar Pallepati
Yes, it is possible with the process builder. Refer the process and example below.
New lookup field on the contact record is User__c

User-added image
User-added image
User-added image

User-added image

I hope it will help you.